Weny Xu
29c6155ae3
feat: introduce file table engine ( #1323 )
...
* feat: introduce file table engine
* chore: apply cr suggestions
* refactor: refactor immutable manifest
* chore: apply cr suggestions
* refactor: refactor immutable manifest
* chore: apply suggestions from code review
Co-authored-by: dennis zhuang <killme2008@gmail.com >
* chore: apply suggestions from CR
* chore: apply suggestions from code review
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
---------
Co-authored-by: dennis zhuang <killme2008@gmail.com >
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
2023-04-10 12:03:36 +08:00
LFC
a3e47955b8
feat: information schema ( #1327 )
...
* feat: basic information schema
* show information schema only for current catalog
* fix: fragile tests
2023-04-07 16:50:14 +08:00
Ruihang Xia
da66138e80
refactor(error): remove backtrace, and introduce call-site location for debugging ( #1329 )
...
* wip: global replace
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix compile
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix warnings
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove unneeded tests of errors
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix ErrorExt trait implementator
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix warnings
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix format
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix pyo3 tests
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-04-06 04:06:00 +00:00
Lei, HUANG
d10de46e03
feat: support timestamp precision on creating table ( #1332 )
...
* feat: support timestamp precision on creating table
* fix sqlness
* fix: substrait representation of different timestamp precision
2023-04-06 11:18:20 +08:00
Weny Xu
ef134479ef
feat: support multi table engines in distributed mode ( #1316 )
...
* chore: bump greptime-proto to 59afacd
* feat: support multi table engines in distributed mode
2023-04-04 10:27:08 +08:00
Weny Xu
451f9d2d4e
feat: support multi table engines ( #1277 )
...
* feat: support multi table engines
* refactor: adapt SqlHandler to support multiple table engines
* refactor: refactor TableEngineManager
* chore: apply review suggestions
* chore: apply review suggestions
* chore: apply review suggestions
* chore: snafu context styling
2023-04-03 14:49:12 +00:00
Ruihang Xia
c0132e6cc0
feat: impl quantile_over_time function ( #1287 )
...
* fix qualifier alias
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix in another way
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* impl quantile_over_time
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-04-02 16:20:32 +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
localhost
a2b262ebc0
chore: add http metrics server in datanode node when greptime start in distributed mode ( #1256 )
...
* chore: add http metrics server in datanode node when greptime start in distributed mode
* chore: add some docs and license
* chore: change metrics_addr to resolve address already in use error
* chore add metrics for meta service
* chore: replace metrics exporter http server from hyper to axum
* chore: format
* fix: datanode mode branching error
* fix: sqlness test address already in use and start metrics in defualt config
* chore: change metrics location
* chore: use builder pattern to builder httpserver
* chore: remove useless debug_assert macro in httpserver builder
* chore: resolve conflicting build error
* chore: format code
2023-03-31 18:37:52 +08:00
dennis zhuang
972f64c3d7
chore: improve opendal layers ( #1295 )
...
* chore: improve opendal layers
* chore: log level
2023-03-31 09:48:11 +00:00
LFC
eb77f9aafd
feat: start LocalManager in Metasrv ( #1279 )
...
* feat: procedure store in Metasrv, backed by Etcd; start `LocalManager` in Metasrv leader
* fix: resolve PR comments
* fix: resolve PR comments
2023-03-31 15:32:59 +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
Ruihang Xia
b5e5f8e555
chore(deps): bump arrow and parquet to 36.0.0, and datafusion to the latest ( #1282 )
...
* chore: update arrow, parquet to 36.0 and datafusion
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update deps
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Apply suggestions from code review
Co-authored-by: LFC <bayinamine@gmail.com >
* update sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: LFC <bayinamine@gmail.com >
2023-03-30 16:24:10 +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
LFC
92963b9614
feat: execute "delete" in query engine (in the form of "LogicalPlan") ( #1222 )
...
fix: execute "delete" in query engine (in the form of "LogicalPlan")
2023-03-24 12:11:58 +08:00
Eugene Tolbakov
5397a9bbe6
feat(to_unixtime): add initial implementation ( #1186 )
...
* feat(to_unixtime): add initial implementation
* feat(to_unixtime): use Timestamp for conversion
* feat(to_unixtime): implement conversion to Result<VectorRef>
* feat(to_unixtime): make unit test pass
* feat(to_unixtime): preserve None for invalid timestamps
* feat(to_unixtime): address code review suggestions
* feat(to_unixtime): add an sqlness test
* feat(to_unixtime): adjust the assertion for the sqlness test
* Update tests/cases/standalone/common/select/dummy.sql
---------
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2023-03-21 12:41:07 +00:00
LFC
b2a09c888a
feat: phi accrual failure detector ( #1200 )
2023-03-21 11:47:47 +08:00
Ruihang Xia
0a22375ac1
fix: nyc-taxi bench suite ( #1204 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-03-20 21:53:01 +08:00
Weny Xu
e19c8fa2b6
refactor: combine Copy To and Copy From ( #1197 )
...
* refactor: combine Copy To and Copy From
* Apply suggestions from code review
Co-authored-by: LFC <bayinamine@gmail.com >
* Apply suggestions from code review
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
---------
Co-authored-by: LFC <bayinamine@gmail.com >
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
2023-03-20 19:23:25 +08:00
Ning Sun
a7676d8860
refactor: port div_ceil from stdlib to avoid unstable features ( #1191 )
...
* refactor: use float div&ceil to avoid unstable features
* refactor: port div_ceil from rust stdlib
2023-03-16 22:55:35 +08:00
Xieqijun
cd8be77968
feat(procedure): Max retry time ( #1095 )
...
* feat: procedure config
* fix: modify config
* feat: add retry logic
* feat: add error
* feat: add it
* feat: add it
* feat: add it
* feat: rm retry from runner
* feat: use backon
* feat: add retry_interval
* feat: add retry_interval
* fix: conflict
* fix: cr
* feat: add retry error and id
* feat: rename
* refactor: execute
* feat: use config dir
* fix: cr
* fix: cr
* fix: fmt
* fix: fmt
* fix: pr
* fix: it
* fix: rm unless cmd params
* feat: add toml
* fix: ut
* feat: add rolling back
* fix: cr
* fix: cr
* fix: cr
* fix: ci
* fix: ci
* fix: ci
* chore: Apply suggestions from code review
---------
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-03-15 08:28:08 +00:00
Eugene Tolbakov
b530ac9e60
chore(from_unixtime): remove UDF from_unixtime ( #1179 )
...
* chore(from_unixtime): remove UDF from_unixtime
* chore(from_unixtime): restore timestamp.rs for further usage
* chore(from_unixtime): address fmt issue
2023-03-15 16:27:09 +08:00
Lei, HUANG
757b4a87a0
fix: remove profile in mem-prof crate to suppress compiler warnings ( #1146 )
2023-03-09 03:39:24 +00: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
Ruihang Xia
3a527c0fd5
feat: impl proc macro range_fn and some aggr_over_time functions ( #1072 )
...
* impl range_fn proc macro
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* impl some aggr_over_time fn
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* impl present_over_time and absent_over_time
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* accomplish planner, and correct type cast
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* clean up
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* document the macro
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix styles
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update irate/idelta test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add test cases
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-03-07 23:39:45 +08:00
Lei, HUANG
a4c01f4a3a
feat: memory profiling ( #1124 )
...
* feat: use jemalloc as default allocator
* feat: add feature for mem-prof
* feat: add errors
* make common-mem-prof optional dep
* fix: toml format
* doc: add profile doc
* fix: typo
2023-03-07 17:12:51 +08:00
discord9
379f581780
test: add Integrated Test for Coprocessor& fix minor bugs ( #1122 )
...
* feat: cache `Runtime`
* fix: coprstream schema not set
* test: integrated tests for Coprocessor
* fix: UDF fixed
* style: remove unused import
* chore: remove more unused import
* feat: `filter`, (r)floordiv for Vector
* chore: CR advices
* feat: auto convert to `lit`
* chore: fix typo
* feat: from&to `pyarrow.array`
* feat: allow `pyarrow.array` as args to builtins
* chore: cargo fmt
* test: CI add `pyarrow`
* test: install Python&PyArrow in CI
* test: not cache depend for now
* chore: CR advices
* test: fix name
* style: rename
2023-03-06 19:20:59 +08:00
yuanbohan
9a87f5edf8
fix(grpc): support timestamp precision ( #1113 )
2023-03-02 17:33:59 +08:00
Yingwen
3fd9c2f144
feat: Store error in procedure state ( #1062 )
...
* docs: Change comment position
* refactor(procedure): Store error in ProcedureState
* test: Mock instance with procedure enabled
* feat: Add wait method to wait for procedure
* test(datanode): Test create table by procedure
* chore: Fix clippy
2023-03-01 14:37:50 +08:00
Ning Sun
d402f83442
ci: generate apidocs when pushing to default branch ( #1093 )
...
* ci: generate apidocs when pushing to default branch
* ci: require clippy before running tests
* fix: resolve new clippy warnings on primitive slice
* fix: resolve more clippy warnings
* Update .github/workflows/apidoc.yml
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
* ci: add an index html to redirect
---------
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2023-03-01 13:18:26 +08:00
LFC
11d45e2918
refactor: upgrade DataFusion, Arrow and Sqlparser ( #1074 )
...
* refactor: upgrade DataFusion, Arrow and Sqlparser
* fix: resolve PR comments
2023-02-27 22:20:08 +08:00
Xieqijun
0b3f955ca7
feat: Add an error variant RetryLater ( #1058 )
...
* feat: support retry error
* fix: ci
* fix: ci
* fix: fmt
* feat: add convert procedure error
* Docs : add rustdoc
* fix: cr
* fix: cr
* fix: rm unless code
2023-02-27 17:19:37 +08:00
Ning Sun
4b58a8a18d
feat: update substrait and prost version ( #1080 )
2023-02-27 15:18:12 +08:00
Yingwen
bd377ef329
feat: Procedure to create table and register table to catalog ( #1040 )
...
* feat: Add table-procedures crate
* feat: Implement procedure to create table
* feat: Integrate procedure manager to datanode
* test: Test CreateTableProcedure
* refactor: Rename table-procedures to table-procedure
* feat: Implement create_table_by_procedure
* chore: Remove comment
* chore: Add todo
* feat: Add procedure config to standalone mode
* feat: Register table-procedure loaders
* feat: Address review comments
CreateTableProcedure just return error if the subprocedure is failed
* chore: Address CR comments
2023-02-27 11:49:23 +08:00
Ruihang Xia
4cc3ac37d5
feat: add DictionaryVector DataType ( #1061 )
...
* fix stddev and stdvar. try build range function expr
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* feat: add dictionary data type
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* preserve timestamp column in range manipulator
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* plan range functions
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update test result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix typo
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update test result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update test result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* resolve CR comments
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* resolve CR comments
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-02-23 20:31:07 +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
Lei, HUANG
2df8143ad5
feat: support table ttl ( #1052 )
...
* feat: purge expired sst on compaction
* chore: add more log
* fix: clippy
* fix: mark expired ssts as compacting before picking candidates
* fix: some CR comments
* fix: remove useless result
* fix: cr comments
2023-02-22 16:56:20 +08:00
Yingwen
c6f2db8ae0
feat(procedure): Add procedure watcher ( #1043 )
...
* refactor: Use watch channel to store ProcedureState
* feat: Add a watcher to wait for state change
* test: test watcher on procedure failure
* feat: Only clear message cache on success
* feat: submit returns Watcher
2023-02-21 17:19:39 +08:00
Lei, HUANG
e17d5a1c41
feat: support table options ( #1044 )
...
* feat: change table options from string map to a struct, add ttl and write_buffer_size
* fix: also pass table options to table meta
* feat: pass table options when opening/creating regions
* fix: CR comments
2023-02-21 08:10:23 +00:00
Yingwen
aaaf24143d
feat: Procedure to create a mito engine ( #1035 )
...
* feat: wip
* feat: Implement procedure to create mito table
* feat: Add create_table_procedure to TableEngine
* feat: Impl dump and lock for CreateMitoTable
* feat: Impl CreateMitoTable::execute and register it to manager
* feat(common-procedure): pub local mod
* feat: Add simple test for MitoCreateTable
* style: Fix clippy
* refactor: Move create_table_procedure to a new trait TableEngineProcedure
2023-02-21 09:40:56 +08:00
Eugene Tolbakov
7787cfdd42
refactor(datatypes): enhance MutableVector methods ( #987 )
...
* refactor(datatypes): enhance MutableVector methods
* refactor(datatypes): address code review issues
* refactor(datatypes): address more code review issues
* refactor(datatypes): fix merge conflicts
* refactor(datatypes): address code review issues
* refactor(datatypes): address more code review issues
* refactor(datatypes): update sql delete with the newly introduced method
2023-02-17 16:16:23 +08:00
Yingwen
ddbc97befb
refactor: changes CreateTableRequest::schema to RawSchema ( #1018 )
...
* refactor: changes CreateTableRequest::schema to RawSchema
* refactor(grpc-expr): create_table_schema returns RawSchema
2023-02-16 16:04:17 +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
Yingwen
04afee216e
feat(procedure): Support multi-lock keys and querying procedure state from context ( #1006 )
...
* feat: Add ContextProvider to Context
So procedures can query states of other procedures via the
ContextProvider and they don't need to hold a ProcedureManagerRef
* feat: Procedure supports acquring multiple lock keys
* test: Use multi-locks in test
* feat: Add keys_to_lock/unlock
2023-02-15 18:04:19 +08:00
Ning Sun
cd0d58cb24
fix: correct date/time type format for postgresql ( #1001 )
...
* fix: correct date/time type format for postgresql
* fix: tests for timestamp
* refactor: use Utc datetime for timestamp::to_chrono_datetime
* Update src/servers/Cargo.toml
Co-authored-by: LFC <bayinamine@gmail.com >
---------
Co-authored-by: LFC <bayinamine@gmail.com >
2023-02-15 09:40:16 +00:00
shuiyisong
e17d564bf0
feat: add client tls option to channel manager config ( #999 )
...
* feat: add client tls to channel manager config
* chore: move test to tests folder
* chore: fix license issue
* chore: fix cr issue
2023-02-15 16:02:27 +08:00
Zheming Li
a19dee1dc0
feat: duplicate error logs into separate file ( #995 )
...
Signed-off-by: Zheming Li <nkdudu@126.com >
2023-02-15 14:27:32 +08:00
Lei, HUANG
75b8afe043
feat: compaction integration ( #997 )
...
* feat: trigger compaction on flush
* chore: rebase develop
* feat: add config item max_file_in_level0 and remove compaction_after_flush
* fix: cr comments
* chore: add unit test to cover Timestamp::new_inclusive
* fix: workaround to fix future is not Sync
* fix: future is not sync
* fix: some cr comments
2023-02-15 14:14:07 +08:00
Lei, HUANG
374acc8830
feat: compaction reader and writer ( #972 )
...
* feat: compaction reader and writer
* feat: make ParquetWrite accept both memtable iterator and chunk reader
* feat: adapt ParquetWriter to accomodate ChunkReaderImpl
* chore: rebase develop
* wip: compile
* wip: task logic
* feat: version and manifest update
* fix: remove useless as_inner from Timestamp vectors
* feat: mark file compacting
* fix: unit test
* fix: clippy warnings
* fix: CR comment
* chore: according to cr comments, remove visit_levels from LevelMetas
* fix: some CR comments
* fix: add PlainTimestampRowFilter for correctness
* fix: cr comments
* fix: some typos
2023-02-14 17:32:00 +08:00
Yingwen
0f7e5a2fb2
feat: Implement LocalManager::recover ( #981 )
...
* feat: Implement LocalManager::recover
* feat: Impl From<ObjectStore> for ProcedureStore
2023-02-14 14:50:43 +08:00