Ning Sun
c39de9072f
refactor: use workspace dependencies for internal modules ( #2119 )
...
* refactor: use workspace dependencies for internal modules
* fix: resolve issue with mock module in datanode
* refactor: update test modules
2023-08-08 11:02:34 +00:00
shuiyisong
7efff2d704
fix: introduce taplo.toml and sort Cargo.toml ( #2096 )
...
* fix: add taplo.toml
* fix: introduce taplo.toml & sort cargo.toml
* chore: remove option in ci too
2023-08-04 06:44:45 +00:00
Yingwen
5f65e3ff44
feat(mito): Port parquet writer and reader to mito2 ( #2018 )
...
* feat(mito): Port Batch and BufferedWriter
* feat: encode metadata to parquet
* feat: define BatchReader trait
* chore: ParquetWriter write_all takes `&mut self`
* feat(mito): port ParquetReader
* chore: fix typo
* chore: address CR comment
2023-07-24 09:35:21 +00:00
dennis zhuang
1f371f5e6e
fix: checkpoint metadata file dirty caching ( #2020 )
...
fix: dirty last checkpoint metadata file when enable object store caching, #2013
2023-07-24 08:18:19 +00:00
Yingwen
792d8dfe33
feat(mito): create region in mito2 engine ( #1999 )
...
* chore: check table existence
* refactor: rename LevelMetaVec
* feat: create request to metadata
* refactor: Share MitoConfig between workers
* feat: impl handle_create_request
* refactor: move tests mod
* feat: validate time index nullable
* feat: test create region
* feat: test create if not exists
* feat: remove option
* style: fix clippy
* chore: address CR comments
2023-07-21 06:41:34 +00:00
Yingwen
ef7c5dd311
feat(mito): Implement WorkerGroup to handle requests ( #1950 )
...
* feat: engine worker framework
* feat: worder comments
* feat: divide worker requests by type
* feat: handlers for worker thread
* refactor: rename requests to ddl and dml requests
* feat: methods to stop and submit requests
* refactor: rename request queue to request buffer
* refactor: remove ddl and dml request
* feat: send request to worker
* test: test stop
* docs(mito): worker group docs
* style: fix clippy
* docs: update WorkerGroup comment
* chore: address CR comments
* chore: fix comment issues
* feat: use mpsc::channel
* feat: check is_running flag
* chore: Add stop request to notify a worker
* refactor: add join_dir to join paths
* feat: redefine region requests
* docs: more comments
* refactor: rename worker thread to worker loop
* chore: address CR comments
2023-07-14 08:06:44 +00:00
Niwaka
66e5ed5483
feat: support gcs storage ( #1781 )
2023-07-05 23:03:51 +08:00
Lei, HUANG
f287d3115b
chore: replace result assertions ( #1840 )
...
* s/assert!\((.*)\.is_ok\(\)\);/\1.unwrap\(\);/g
* s/assert!\((.*)\.is_some\(\)\);/\1.unwrap\(\);/g
2023-06-27 19:14:48 +08:00
LFC
fcff66e039
chore: deny unused results ( #1825 )
...
* chore: deny unused results
* rebase
2023-06-27 15:33:53 +08:00
dennis zhuang
f08f726bec
test: s3 manifest ( #1755 )
...
* feat: change default manifest options
* test: s3 manifest
* feat: revert checkpoint_margin to 10
* Update src/object-store/src/test_util.rs
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
---------
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
2023-06-09 10:28:41 +00:00
Xuanwo
6b08a5f94e
chore: Bump OpenDAL to v0.36 ( #1678 )
...
* chore: Bump OpenDAL to v0.36
Signed-off-by: Xuanwo <github@xuanwo.io >
* Fix
Signed-off-by: Xuanwo <github@xuanwo.io >
---------
Signed-off-by: Xuanwo <github@xuanwo.io >
2023-05-31 11:12:40 +08:00
Zou Wei
ae81c7329d
feat: support azblob storage. ( #1659 )
...
* feat:support azblob storage.
* test:add some tests.
* refactor:use if-let.
2023-05-30 19:59:38 +08:00
Yingwen
c042723fc9
feat: Record process metrics ( #1646 )
...
* feat(servers): Export process metrics
* chore: update metrics related deps to get the process-metrics printed
The latest process-metrics crate depends on metrics 0.21, we use metrics
0.20. This cause the process-metrics crate doesn't record the metrics
when use metrics macros
2023-05-26 11:51:01 +08:00
dennis zhuang
7c55783e53
feat!: reorganize the storage layout ( #1609 )
...
* feat: adds data_home to DataOptions
* refactor: split out object store stuffs from datanode instance
* feat: move data_home into FileConfig
* refactor: object storage layers
* feat: adds datanode path to procedure paths
* feat: temp commit
* refactor: clean code
* fix: forgot files
* fix: forgot files
* Update src/common/test-util/src/ports.rs
Co-authored-by: Yingwen <realevenyag@gmail.com >
* Update tests/runner/src/env.rs
Co-authored-by: Yingwen <realevenyag@gmail.com >
* fix: compile error
* chore: cr comments
* fix: dependencies order in cargo
* fix: data path in test
---------
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-05-23 13:58:26 +08:00
dennis zhuang
b1920c41a4
fix: object store cache bug ( #1482 )
...
* feat: use streaming read instead of reading whole file
* feat: enable atomic writing for object store file caching
* fix: recover existing keys from local cache
* test: recovering keys from local file cache for LruCachePolicy
* Update src/datanode/src/instance.rs
Co-authored-by: Yingwen <realevenyag@gmail.com >
* chore: cr comments
* feat: md5 hash caching path
* fix: test
* fix: read cache
* Update src/object-store/src/cache_policy.rs
Co-authored-by: Yingwen <realevenyag@gmail.com >
---------
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-05-04 18:25:40 +08:00
Weny Xu
a77a4a4bd1
fix: add s3 region info ( #1492 )
...
fix: add region info
2023-04-27 19:13:01 +08:00
dennis zhuang
b88d8e5b82
feat: bump opendal to 0.33 ( #1479 )
2023-04-27 12:13:18 +08:00
dennis zhuang
8d8a480dc1
fix: object store caching bug, #1466 ( #1467 )
...
* fix: object store caching bug, #1466
* fix: forgot to add S3WithCache tests
2023-04-25 21:48:51 +08:00
Weny Xu
f2cc912c87
feat: implement ParquetFileReaderFactory ( #1423 )
...
* feat: implement ParquetFileReaderFactory
* refactor: use LazyParquetFileReader instead
* chore: apply suggestions from code review
Co-authored-by: Yingwen <realevenyag@gmail.com >
---------
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-04-21 13:40:58 +08:00
Near
c6f024a171
feat: Add metrics for cache hit/miss for object store cache ( #1405 )
...
* Add the cache hit/miss counter
* Verify the cache metrics are included
* Resolve comments
* Rename the error kind label name to be consistent with other metrics
* Rename the object store metric names
* Avoid using glob imports
* Format the code
* chore: Update src/object-store/src/metrics.rs mod doc
---------
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-04-18 14:08:19 +08:00
Lei, HUANG
0253136333
feat: buffered parquet writer ( #1263 )
...
* wip: use
* rebase develop
* chore: fix typos
* feat: replace export parquet writer with buffered writer
* fix: some cr comments
* feat: add sst_write_buffer_size config item to config how many bytes to buffer before flush to underlying storage
* chore: reabse onto develop
2023-04-01 17:21:19 +08:00
dennis zhuang
563adbabe9
feat!: improve region manifest service ( #1268 )
...
* feat: try to use batch delete in ManifestLogStorage
* feat: clean temp dir when startup with file backend
* refactor: export region manifest checkpoint actions magin and refactor storage options
* feat: purge unused manifest and checkpoint files by repeat gc task
* chore: debug deleted logs
* feat: adds RepeatedTask and refactor all gc tasks
* chore: clean code
* feat: export gc_duration to manifest config
* test: assert gc works
* fix: typo
* Update src/common/runtime/src/error.rs
Co-authored-by: LFC <bayinamine@gmail.com >
* Update src/common/runtime/src/repeated_task.rs
Co-authored-by: LFC <bayinamine@gmail.com >
* Update src/common/runtime/src/repeated_task.rs
Co-authored-by: LFC <bayinamine@gmail.com >
* fix: format
* Update src/common/runtime/src/repeated_task.rs
Co-authored-by: Yingwen <realevenyag@gmail.com >
* chore: by CR comments
* chore: by CR comments
* fix: serde default for StorageConfig
* chore: remove compaction config in StandaloneOptions
---------
Co-authored-by: LFC <bayinamine@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-03-31 10:42:00 +08:00
Lei, HUANG
5edd2a3dbe
feat: upgrade opendal ( #1245 )
...
* chore: upgrade opendal
* chore: finish upgrading opendal
* fix: clippy complaints
* fix some tests
* fix: all unit tests
* chore: rebase develop
* fix: sqlness tests
* optimize imports
* chore: rebase develop
* doc: add todo
2023-03-28 09:47:33 +08:00
Eugene Tolbakov
b31a6cb506
refactor: replace tempdir with tempfile ( #1123 )
...
* refactor: replace tempdir with tempfile
* refactor(query): move tempfile dependency under the workspace's Cargo.toml
* refactor(tempfile): create common-test-util
* refactor(tempfile): fix toml format
* refactor(tempfile): remove tempfile out of dependencies
* refactor(tempfile): fix incorrect toml
2023-03-08 11:15:56 +08:00
Xuanwo
fdd17c6eeb
refactor: Clean up re-export of opendal services ( #1067 )
...
Signed-off-by: Xuanwo <github@xuanwo.io >
2023-02-23 14:12:34 +08:00
Xuanwo
98ef74bff4
chore: Bump OpenDAL to v0.27 ( #1057 )
...
* Bump OpenDAL to v0.27
Signed-off-by: Xuanwo <github@xuanwo.io >
* Make cargo check happy
Signed-off-by: Xuanwo <github@xuanwo.io >
* Address comments
Signed-off-by: Xuanwo <github@xuanwo.io >
* Address comments
Signed-off-by: Xuanwo <github@xuanwo.io >
* Format toml
Signed-off-by: Xuanwo <github@xuanwo.io >
* Make taplo happy
Signed-off-by: Xuanwo <github@xuanwo.io >
---------
Signed-off-by: Xuanwo <github@xuanwo.io >
2023-02-23 11:20:45 +08:00
Ruihang Xia
a8c2b35ec6
chore: bump rust to nightly-2023-02-14 ( #1019 )
...
* chore: bump rust to nightly-2023-02-14
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* bump statrs to 0.16
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-02-16 13:17:57 +08:00
elijah
926022e14c
feat: enable caching when using object store ( #928 )
...
* feat: enable caching when using object store
* feat: support file cache for object store
* feat: maintaining the cached files with lru
* fix: improve the code
* empty commit
* improve the code
2023-02-07 15:46:37 +08:00
Yingwen
b2ad0e972b
feat: Define procedure related traits ( #904 )
...
* chore: Move uuid to workspace.dependencies
* feat: Define procedure related traits
* test: Add tests
* chore: Update imports
* feat: Submit ProcedureWithId to manager
* chore: pub ProcedureId::parse_str
* refactor: ProcedureId::parse_str returns Result
* chore: Address CR comments
Also implements FromStr for ProcedureId
2023-01-31 14:17:28 +08:00
Yun Chen
a7dc86ffe5
feat: oss storage support ( #911 )
...
* feat: add oss storage support
* fix: ci build format check
* fix: align OSS to Oss
* fix: cr comments
* fix: rename OSS to Oss in integration tests
* fix: clippy fix
2023-01-29 20:09:38 +08:00
Xuanwo
777a3182c5
feat: Bump OpenDAL to 0.24 for better seekable support ( #847 )
...
* deps: Bump OpenDAL to 0.24 for better seekable support
Signed-off-by: Xuanwo <github@xuanwo.io >
* fix: test
Signed-off-by: Xuanwo <github@xuanwo.io >
Co-authored-by: Lei, HUANG <mrsatangel@gmail.com >
2023-01-09 11:37:43 +08:00
Lei, HUANG
8ffc078f88
fix: license header ( #815 )
2023-01-03 15:09:49 +08:00
Ruihang Xia
26a3e93ca7
chore: util workspace deps in more places ( #792 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2022-12-27 16:26:59 +08:00
LFC
dc52a51576
chore: upgrade to Arrow 29.0 and use workspace package and dependencies ( #782 )
...
* chore: upgrade to Arrow 29.0 and use workspace package and dependencies
* fix: resolve PR comments
Co-authored-by: luofucong <luofucong@greptime.com >
2022-12-23 14:28:37 +08:00
dennis zhuang
7f59758e69
feat: bump opendal version to 0.22 ( #721 )
...
* feat: bump opendal version to 0.22
* fix: LoggingLayer
2022-12-08 11:19:21 +08:00
shuiyisong
8232015998
fix: cargo sort in pre-commit ( #689 )
2022-12-02 16:19:31 +08:00
dennis zhuang
2e17e9c4b5
feat: supports s3 storage ( #656 )
...
* feat: adds s3 object storage configuration
* feat: adds s3 integration test
* chore: use map
* fix: forgot license header
* fix: checking if bucket is empty in test_on
* chore: address CR issues
* refactor: run s3 test with dotenv
* chore: randomize grpc port for test
* fix: README in tests-integration
* chore: remove redundant comments
2022-12-01 10:59:14 +08:00
dennis zhuang
5fddb799f7
feat: enable atomic write for file object storage ( #643 )
...
* fix: remove opendal from catalog dependencies
* feat: enable atomic writing for fs service
2022-11-28 16:01:32 +08:00
Xuanwo
4085fc7899
chore: Bump OpenDAL to v0.21.1 ( #639 )
...
* deps: Bump OpenDAL to v0.21.1
Signed-off-by: Xuanwo <github@xuanwo.io >
* Avoid using raw types when not needed
Signed-off-by: Xuanwo <github@xuanwo.io >
Signed-off-by: Xuanwo <github@xuanwo.io >
2022-11-27 10:18:39 +08:00
dennis zhuang
c09775d17f
feat: adds metrics, tracing and retry layer to object-store ( #621 )
2022-11-23 11:40:03 +08:00
Xuanwo
1f0b39cc8d
chore: Bump OpenDAL to v0.20 ( #569 )
...
Signed-off-by: Xuanwo <github@xuanwo.io >
2022-11-18 14:17:38 +08:00
Ning Sun
173a8f67a1
test: ignore empty s3 bucket ( #529 )
2022-11-16 11:35:12 +08:00
Ruihang Xia
7ba512980a
chore: add APACHE-2.0 license header ( #518 )
...
* feat: add license checker workflow
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix existing header
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* specify license for internal sub-crate
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix rustfmt
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2022-11-15 18:05:46 +08:00
Ruihang Xia
1565c8d236
chore: specify import style in rustfmt ( #460 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2022-11-15 15:58:54 +08:00
dennis zhuang
448e8f139e
fix: table and database conflicts ( #491 )
...
* fix: table conflicts in different database, #483
* feat: support db query param in prometheus remoting read/write
* feat: support db query param in influxdb line protocol
* fix: make schema_name work in gRPC
* fix: table data path
* fix: table manifest dir
* feat: adds opendal logging layer to object store
* Update src/frontend/src/instance.rs
Co-authored-by: LFC <bayinamine@gmail.com >
* Update src/frontend/src/instance.rs
Co-authored-by: LFC <bayinamine@gmail.com >
* Update src/servers/src/line_writer.rs
Co-authored-by: Lei, Huang <6406592+v0y4g3r@users.noreply.github.com >
* Update src/servers/src/line_writer.rs
Co-authored-by: Lei, Huang <6406592+v0y4g3r@users.noreply.github.com >
* fix: compile error
* ci: use larger runner for running coverage
* fix: address already in use in test
Co-authored-by: LFC <bayinamine@gmail.com >
Co-authored-by: Lei, Huang <6406592+v0y4g3r@users.noreply.github.com >
2022-11-14 23:16:52 +08:00
Ning Sun
f243649971
refactor: Removed openssl from build requirement ( #308 )
...
* refactor:replace another axum-test-helper branch
* refactor: upgrade opendal version
* refactor: use cursor for file buffer
* refactor:remove native-tls in mysql_async
* refactor: use async block and pipeline for newer opendal api
* chore: update Cargo.lock
* chore: update dependencies
* docs: removed openssl from build requirement
* fix: call close on pipe writer to flush reader for parquet streamer
* refactor: remove redundant return
* chore: use pinned revision for our forked mysql_async
* style: avoid wild-card import in test code
* Apply suggestions from code review
Co-authored-by: Yingwen <realevenyag@gmail.com >
* style: use chained call for builder
Co-authored-by: liangxingjian <965662709@qq.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
2022-10-17 19:29:17 +08:00
dennis zhuang
c8cb705d9e
ci: pre-commit configuration and hooks ( #261 )
...
* feat: adds pre-commit config and hooks
* refactor: sort all Cargo.toml by cargo-sort
* ci: adds conventional-pre-commit hook to pre-commit
* fix: remove .pre-commit-hooks.yaml
* fix: readme
* Update .pre-commit-config.yaml
Co-authored-by: Lei, Huang <6406592+v0y4g3r@users.noreply.github.com >
* ci: move clippy hook to push stage
* docs: install pre-push github hook
Co-authored-by: Lei, Huang <6406592+v0y4g3r@users.noreply.github.com >
2022-09-15 11:30:08 +08:00
evenyag
03e965954a
feat: implement read framework ( #108 )
...
* feat: implement read framework
feat: chunk reader builder
refactor: rename BatchIteratorPtr to BoxedBatchIterator
feat: BatchReader to read batch from ssts
feat: Add a ConcatReader to concat sst readers
test: Add tests for concat reader
chore: Fix clippy
* feat: implement SST parquet reader (#109 )
* feat: implement parquet sst reader
* chores: fix some CR comments
* gst
* fix sst writer flush issue
* feat: Implement FsAccessLayer::read_sst
* fix: remove lifetime from ChunkStream
* refactor: Store file name in FileMeta
- Store file name instead of path (`region-name/file-name`) in FileMeta.
- `AccessLayer::read()` takes file name instead of path, so the read/write api are consistent
Co-authored-by: Lei, Huang <6406592+v0y4g3r@users.noreply.github.com >
Co-authored-by: Lei, HUANG <mrsatangel@gmail.com >
2022-07-28 11:46:51 +08:00
evenyag
bf5975ca3e
feat: Prototype of the storage engine ( #107 )
...
* feat: memtable flush (#63 )
* wip: memtable flush
* optimize schema conversion
* remove unnecessary import
* add parquet file verfication
* add backtrace to error
* chore: upgrade opendal to 0.9 and fixed some problems
* rename error
* fix: error description
Co-authored-by: Dennis Zhuang <killme2008@gmail.com >
* feat: region manifest service (#57 )
* feat: adds Manifest API
* feat: impl region manifest service
* refactor: by CR comments
* fix: storage error mod test
* fix: tweak storage cargo
* fix: tweak storage cargo
* refactor: by CR comments
* refactor: rename current_version
* feat: add wal writer (#60 )
* feat: add Wal
* upgrade engine for wal
* fix: unit test for wal
* feat: wal into region
* fix: unix test
* fix clippy
* chore: by cr
* chore: by cr
* chore: prevent test data polution
* chore: by cr
* minor fix
* chore: by cr
* feat: Implement flush (#65 )
* feat: Flush framework
- feat: Add id to memtable
- refactor: Rename MemtableSet/MutableMemtables to MemtableVersion/MemtableSet
- feat: Freeze memtable
- feat: Trigger flush
- feat: Background job pool
- feat: flush job
- feat: Sst access layer
- feat: Custom Deserialize for StringBytes
- feat: Use RegionWriter to apply file metas
- feat: Apply version edit
- chore: Remove unused imports
refactor: Use ParquetWriter to replace FlushTask
refactor: FsAccessLayer takes object store as param
chore: Remove todo from doc comments
feat: Move wal to WriterContext
chore: Fix clippy
chore: Add backtrace to WriteWal error
* feat: adds manifest to region and refactor sst/manifest dir config (#72 )
* feat: adds manifest to region and refactor sst/manifest dir with EngineConfig
* refactor: ensure path ends with '/' in ManifestLogStorage
* fix: style
* refactor: normalize storage directory path and minor changes by CR
* refactor: doesn't need slash any more
* feat: Implement apply_edit() and add timestamp index to schema (#73 )
* feat: Implement VersionControl::apply_edit()
* feat: Add timestamp index to schema
* feat: Implement Schema::timestamp_column()
* feat: persist region metadata to manifest (#74 )
* feat: persist metadata when creating region or sst files
* fix: revert FileMeta comment
* feat: resolve todo
* fix: clippy warning
* fix: revert files_to_remove type in RegionEdit
* feat: impl SizeBasedStrategy for flush (#76 )
* feat: impl SizeBasedStrategy for flush
* doc: get_mutable_limitation
* fix: code style and comment
* feat: align timestamp (#75 )
* feat: align timestamps in write batch
* fix cr comments
* fix timestamp overflow
* simplify overflow check
* fix cr comments
* fix clippy issues
* test: Fix region tests (comment out some unsupported tests) (#82 )
* feat: flush job (#80 )
* feat: flush job
* fix cr comments
* move file name instead of clone
* comment log file test (#84 )
* feat: improve MemtableVersion (#78 )
* feat: improve MemtableVersion
* feat: remove flushed immutable memtables and test MemtableVersion
* refactor: by CR comments
* refactor: clone kv in iterator
* fix: clippy warning
* refactor: Make BatchIterator supertrait of Iterator (#85 )
* refactor: rename Version to ManifestVersion and move out manifest from ShareData (#83 )
* feat: Insert multiple memtables by time range (#77 )
* feat: memtable::Inserter supports insert multiple memtables by time range
* chore: Update timestamp comment
* test: Add tests for Inserter
* test: Fix region tests (comment out some unsupported tests)
* refactor: align_timestamp() use TimestampMillis::aligned_by_bucket()
* chore: rename aligned_by_bucket to align_by_bucket
* fix: Fix compile errors
* fix: sst and manifest dir (#86 )
* Set RowKeyDescriptor::enable_version_column to false by default
* feat: Implement write stall (#90 )
* feat: Implement write stall
* chore: Update comments
* feat: Support reading multiple memtables (#93 )
* feat: Support reading multiple memtables
* test: uncomment tests rely on snapshot read
* feat: wal format (#70 )
* feat: wal codec
* chore: minor fix
* chore: comment
* chore: by cr
* chore: write_batch_codec mod
* chore: by cr
* chore: upgrade proto
* chore: by cr
* fix failing test
* fix failing test
* feat: manifest to wal (#100 )
* feat: write manifest to wal
* chore: sequence into wal
* chore: by cr
* chore: by cr
* refactor: create log store (#104 )
Co-authored-by: dennis zhuang <killme2008@gmail.com >
Co-authored-by: Lei, Huang <6406592+v0y4g3r@users.noreply.github.com >
Co-authored-by: fariygirl <clickmetoday@163.com >
Co-authored-by: Jiachun Feng <jiachun_feng@proton.me >
Co-authored-by: Lei, HUANG <mrsatangel@gmail.com >
* chore: Fix clippy
Co-authored-by: Lei, Huang <6406592+v0y4g3r@users.noreply.github.com >
Co-authored-by: Dennis Zhuang <killme2008@gmail.com >
Co-authored-by: Jiachun Feng <jiachun_feng@proton.me >
Co-authored-by: fariygirl <clickmetoday@163.com >
Co-authored-by: Lei, HUANG <mrsatangel@gmail.com >
2022-07-25 15:26:00 +08:00
evenyag
4171173b76
feat: Support creating in memory region and writing to memtable ( #40 )
...
* chore(store-api): Fix typo in region comments
* feat(storage): Init storage crate
* feat(store-api): Make some method async
* feat(storage): Blank StorageEngine implementation
* feat(storage): StorageEngine returns owned SchemaRef
* feat: pub use arrow in datatypes
* feat(store-api): Implement RegionMetadata
* feat(storage): Impl create region in memory.
* chore(object-store): Format cargo toml
* chore(storage): Log on region created
* feat: Impl CowCell
* feat: Store id to cf meta mapping
* refactor: Refactor version and rename it to VersionControl
* feat: Impl write batch for put, refactor column family
* feat(storage): Skeleton of writing to memtable
* refactor(storage): MemTable returns MemTableSchema
* feat: Add ColumnSchema and conversion between schema and arrow's schema
* feat: Validate put data
* feat: Valid schema of write batch
* feat: insert memtable WIP
* feat: Impl Inserter for memtable
* feat(datatypes): Implement Eq/Ord for Value
feat: Implement Ord/Eq for Bytes/StringBytes and Deref for Bytes
test: Test Value::from()
* feat: Define BTreeMemTable
* Fix: Rename get/get_unchecked to try_get/get and fix get not consider null.
* feat: Impl BTreeMemTable::write()
* refactor: Remove useless ColumnFamilyHandle now
* chore: Clean comment
* feat(common): Add from `String/&str/Vec<u8>/&[u8]` for Value
* test(storage): Add tests for WriteBatch
* chore: Fix clippy
* feat: Add builder for RowKey/ColumnFamilyDescriptor
* test: Add test for metadata
* chore: Fix clippy
* test: Add test for region and engine
* chore: Fix clippy
* chore: Address CR comment
2022-06-09 16:50:02 +08:00