Jeremyhi
141d017576
feat: enable metasrv to accept flownode's heartbeats ( #4160 )
...
* feat: make metasrv can accept flownode's heartbeat
* chore: proto
2024-06-18 04:07:46 +00:00
LFC
5a6021e34f
refactor: remove substrait ser/de for region query in standalone ( #3812 )
...
* refactor: remove substrait serde for region query in standalone
* fix ci
* move QueryRequest to common-query
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* format code
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* format toml file
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* chore: format toml
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Yingwen <realevenyag@gmail.com >
2024-06-11 09:33:47 +00:00
irenjj
9c42825f5d
feat: Implement SHOW CREATE FLOW ( #4040 )
...
* feat: Implement SHOW CREATE FLOW
* fmt
* stmt for display
* Update src/operator/src/statement.rs
Co-authored-by: Yingwen <realevenyag@gmail.com >
* test: add sqlness test
* fix test
* parse query in parser
* test: move test to standalone
* reuse ParserContext::new()
* Update tests/cases/standalone/show_create_flow.result
Co-authored-by: Weny Xu <wenymedia@gmail.com >
* add line breaks
---------
Co-authored-by: Yingwen <realevenyag@gmail.com >
Co-authored-by: Weny Xu <wenymedia@gmail.com >
2024-06-07 03:24:56 +00:00
Jeremyhi
43afea1a9d
refactor!: remove the tableid in ddl response since tableids is enough ( #4080 )
...
* refactor: remove the tableid in ddl response since tableids is enough
* chore: upgrade proto
2024-05-31 06:41:53 +00:00
Jeremyhi
26b112ab57
refactor: remove upgrade cli tool ( #4077 )
2024-05-31 00:40:27 +00:00
dennis zhuang
24612f62dd
feat: querying from view works ( #3952 )
...
* feat: querying from view works
* feat: use MemoryCatalogProviderList instead of DummyCatalogList
* refactor: revert src/query/src/dummy_catalog.rs
* chore: clean code
* fix: make clippy happy
* fix: toml format
* fix: sqlness
* fix: forgot files
* fix: make sqlness happy
* test: table source, serializer and decoder
* fix: fail to decode plan because of invalid table names
* test: adds more sqlness test for view
* chore: remove unused errors
* fix: comments
* fix: typo
* fix: invalidate view info cache after creating view successfully
* chore: apply suggestion
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
* chore: apply suggestion
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
* fix: compile error after rebeasing
* chore: style
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
* fix: don't export table_name in common-meta
* chore: change ViewInfo::new signature
* docs: leave a TODO for optimize param
---------
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2024-05-30 21:45:56 +00:00
Ruihang Xia
85a231850d
fix: add tailing separator to prefix ( #4078 )
...
* fix: add tailing separator to prefix
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* project select result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-05-30 15:29:26 +00:00
Ruihang Xia
1de17aec74
feat: change EXPIRE WHEN to EXPIRE AFTER ( #4002 )
...
* feat: change EXPIRE WHEN to EXPIRE AFTER
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* change remaining
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* rename create_if_not_exist to create_if_not_exists
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* parse interval expr
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update comment
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Apply suggestions from code review
Co-authored-by: Jeremyhi <jiachun_feng@proton.me >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Jeremyhi <jiachun_feng@proton.me >
2024-05-27 04:05:55 +00:00
Ruihang Xia
a58256d4d3
feat: round-robin selector ( #4024 )
...
* feat: implement round robin peer selector
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add document and test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-05-24 07:29:07 +00:00
Jeremyhi
0aa523cd8c
feat: make create view procedure simple as others ( #4001 )
2024-05-21 08:30:57 +00:00
discord9
3477fde0e5
feat(flow): tumble window func ( #3968 )
...
* feat(WIP): tumble window rewrite parser
* tests: tumble func
* feat: add `update_at` column for all flow output
* chore: cleanup per review
* fix: update_at not as time index
* fix: demo tumble
* fix: tests&tumble signature&accept both ts&datetime
* refactor: update_at now ts millis type
* chore: per review advices
2024-05-17 12:10:28 +00:00
discord9
97eb196699
feat(flow): query table schema&refactor ( #3943 )
...
* feat: get table info
* feat: remove new&unwrap
* chore: per PR advices
* chore: per review
2024-05-15 08:35:12 +00:00
Jeremyhi
72897a20e3
chore: minor refactor on etcd kvbackend ( #3940 )
...
* chore: minor refactor on etcd kvbackend
* chore: avoid clone
2024-05-14 13:25:22 +00:00
Jeremyhi
a260ba3ee7
feat: use txn to impl cas ( #3936 )
...
* feat: usr txn to impl cas
* chore: fix test
2024-05-14 08:21:27 +00:00
dennis zhuang
efd3f04b7c
feat: create view ( #3807 )
...
* add statement
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* feat: rebase with main
* fix: create flow
* feat: adds gRPC stuff
* feat: impl create_view ddl in operator
* feat: impl CreateViewProcedure
* chore: update cargo lock
* fix: format
* chore: compile error after rebasing main
* chore: refactor and test create view parser
* chore: fixed todo list and comments
* fix: compile error after rebeasing
* test: add create view test
* test: test view_info keys
* test: adds test for CreateViewProcedure and clean code
* test: adds more sqlness test for creating views
* chore: update cargo lock
* fix: don't replace normal table in CreateViewProcedure
* chore: apply suggestion
Co-authored-by: Jeremyhi <jiachun_feng@proton.me >
* chore: style
Co-authored-by: Jeremyhi <jiachun_feng@proton.me >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Jeremyhi <jiachun_feng@proton.me >
2024-05-14 08:03:29 +00:00
Weny Xu
f16ce3ca27
feat: support to invalidate flow cache ( #3926 )
...
* feat: add `FlowName` & `FlowId` to `CacheIdent`
* feat: support to invalidate flow cache
* chore: apply suggestions from CR
2024-05-14 06:24:09 +00:00
Weny Xu
e15294db41
feat: introduce TableRouteCache to PartitionRuleManager ( #3922 )
...
* chore: add `CompositeTableRouteCacheRef` to `PartitionRuleManager`
* chore: update comments
* fix: add metrics for `get`
* chore: apply suggestions from CR
* chore: correct cache name
* feat: implement `LayeredCacheRegistry`
* fix: invalidate logical tables by physical table id
* refactor: replace `CacheRegistry` with `LayeredCacheRegistry`
* chore: update comments
* chore: apply suggestions from CR
* chore: fix fmt
* refactor: use `TableRouteCache` instead
* chore: apply suggestions from CR
* chore: fix clippy
2024-05-13 13:26:43 +00:00
Jeff Chiang
9d12496aaf
feat: create database with options ( #3751 )
...
* feat: create database with options
* fix: clippy
* fix: clippy
* feat: rebase and add Display test
* feat: sqlness test for creating database with options
* address comments
Signed-off-by: tison <wander4096@gmail.com >
* fixup tests
Signed-off-by: tison <wander4096@gmail.com >
* catch up
Signed-off-by: tison <wander4096@gmail.com >
* DefaultOnNull
Signed-off-by: tison <wander4096@gmail.com >
---------
Signed-off-by: tison <wander4096@gmail.com >
Co-authored-by: tison <wander4096@gmail.com >
2024-05-13 09:00:15 +00:00
Weny Xu
27e376e892
feat: implement the CompositeTableRoute ( #3918 )
...
* feat: implement the `CompositeTableRoute`
* chore: update comments
2024-05-11 11:09:00 +00:00
Weny Xu
89da42dbc1
refactor: refactor frontend cache ( #3912 )
...
* feat: implement the `TableCache`
* refactor: use `TableCache`
* refactor: replace `TableFlowManager` with `TableFlownodeSetCache`
* refactor: introduce cache crate
* chore: add comments
* chore: update comments
* chore: apply suggestions from CR
* chore: rename `cache_invalidator` to `local_cache_invalidator`
* chore(fuzz): set `acquire_timeout` to 30s
2024-05-11 09:58:18 +00:00
Jeremyhi
9aa2182cb2
refactor: make txn easy to use ( #3905 )
...
refactor: put_if_not_exists and compare_and_put API
2024-05-11 04:45:04 +00:00
Weny Xu
bca2e393bf
refactor: add procedure_loader macro ( #3906 )
2024-05-11 04:41:21 +00:00
Ruihang Xia
115c74791d
build(deps): bump snafu to 0.8 ( #3911 )
...
* change Cargo.toml
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* global replace
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* handle alias in script engine
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 >
2024-05-10 13:36:25 +00:00
Weny Xu
06e1c43743
feat: support to drop flow ( #3900 )
...
* feat: support to drop flow
* chore: apply suggestions from CR
2024-05-10 12:09:37 +00:00
Weny Xu
9d36c31209
feat: introduce the CacheRegistry ( #3896 )
...
* feat: implement the `CacheRegistry`
* refactor: change `CacheInvalidator` signature
* feat: implement `CacheInvalidator`
* feat: add `get_or_register`
* fix: fmt toml
* feat: implement the `CacheRegistryBuilder`
* chore: apply suggestions from CR
* chore: fmt code
2024-05-10 11:53:42 +00:00
Weny Xu
c91132bd14
feat: introduce TableNameCache & TableInfoCache & TableRouteCache ( #3895 )
...
* feat: implement the `TableNameCache`
* feat: implement the `TableInfoCache`
* feat: implement the `TableRouteCache`
* test: add tests for `TableInfoCache` & `TableRouteCache`
* chore: use `TableId`
2024-05-10 09:50:44 +00:00
Weny Xu
b8a325d18c
feat: implement CacheContainer & TableFlownodeSetCache ( #3885 )
...
* feat: implement the `CacheContainer`
* feat: implement the `TableFlownodeSetCache`
* chore: remove unused feature
* chore: remove unused `Arc`
* refactor: refactor origin `get` to `get_by_ref`
* chore: update comments
* refactor: refactor `CacheContainer`
* chore: move `CacheContainer` to container.rs
* feat: add metrics
* chore: update tests
* test: add tests for value not exists
* test: add test for get
* chore: apply suggestions from CR
2024-05-09 09:26:35 +00:00
Weny Xu
5545a8b023
feat: implement drop flow procedure ( #3877 )
...
* feat: implement `destroy_flow_metadata` method
* chore: bump proto to 65c1364
* feat: implement the drop flow procedure
* feat: add `MockFlownodeManager`
* tests: add tests for create flow & drop flow procedure
* chore: apply suggestions from CR
* chore: use `ClusterId`
2024-05-09 08:23:19 +00:00
Weny Xu
0e05f85a9d
feat: pass QueryContext to FlowRequestHeader ( #3878 )
...
* feat: pass `QueryContext` to `DdlTaskRequest`
* feat: pass `QueryContext` to `FlowRequestHeader`
* chore: fmt toml
2024-05-09 04:57:33 +00:00
Weny Xu
1b5862223c
fix: register regions during procedure recovery ( #3859 )
...
* fix: register regions during procedure recovery
* feat: add `recover` to `Procedure` trait
* refactor: move recovery to `recover` method
2024-05-07 08:30:41 +00:00
discord9
573c19be32
feat(flow): mirror insert req to flow node ( #3858 )
...
* feat: mirror insert req to flow node
* refactor: group_requests_by_peer
* chore: rename `nodes` to `flows` to be more apt
* docs: add TODO
* refactor: split flow&data node grouping to two func
* refactor: mirror_flow_node_request
* chore: add some TODOs
* refactor: use Option in value
* feat: skip non-src table quickly
* docs: add TODO for `Peer.address`
* fix: dedup
2024-05-06 11:33:14 +00:00
Weny Xu
6e12e1b84b
fix: retrieve all info instead of checking on demand ( #3846 )
...
* fix: renew region lease bug
* refactor: only register regions once
* chore: apply suggestions from CR
2024-05-06 04:44:47 +00:00
dennis zhuang
65d47bab56
feat: adds information_schema cluster_info table ( #3832 )
...
* feat: adds server running mode to KvBackendCatalogManager
* feat: adds MetaClient to KvBackendCatalogManager
* feat: impl information_schema.cluster_info table
* fix: forgot files
* test: update information_schema result
* feat: adds start_time and uptime to cluster_info
* chore: tweak cargo and comment
* feat: rename greptime_region_peers to region_peers
* fix: cluster_info result
* chore: simplify sqlness commands
* chore: set peer_id to -1 for frontends
* fix: move cluster_info to greptime catalog
* chore: use official proto
* feat: adds active_time
* chore: apply suggestion
Co-authored-by: Jeremyhi <jiachun_feng@proton.me >
* chore: STANDALONE for runtime_metrics
---------
Co-authored-by: Jeremyhi <jiachun_feng@proton.me >
Co-authored-by: tison <wander4096@gmail.com >
2024-05-02 02:49:46 +00:00
Weny Xu
81f3007f6f
refactor: remove TableMetaKey trait ( #3837 )
...
* refactor: use MetaKey trait instead of TableMetaKey
* test: add tests
* test: add more tests
* refactor: use `&str` instead of `String`
2024-04-30 06:31:45 +00:00
Weny Xu
20cbc039e6
refactor: remove catalog prefix ( #3835 )
...
* refactor: remove catalog prefix
* refactor: remove scope.rs
* fix: fix tests
* chore: update comments
* chore: apply suggestions from CR
2024-04-30 03:27:33 +00:00
Kould
aba5e41799
feat: support ALTER TABLE ... MODIFY COLUMN ... ... ( #3796 )
...
* feat: support `ALTER COLUMN xxx TYPE xxx`
* fix: test `test_parse_alter_change_column_type`
* style: code fmt
* style: move to new test: `test_make_alter_column_type_region_request`
* style: simplify the code
* style: remove `v1::region::ChangeColumnType`
* resolve conflicts
* fix: test `test_make_alter_column_type_region_request`
* style: simplify the code
* rebase
* rebase
* rebase
* fix: `ALTER COLUMN ... TYPE` -> `MODIFY COLUMN`
* fix: `parser` -> `self.parser`
* Apply suggestions from code review
---------
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: WenyXu <wenymedia@gmail.com >
2024-04-30 03:13:33 +00:00
Weny Xu
701aba9cdb
refactor: rename flow task to flow ( #3833 )
...
* refactor: rename to `MIN_USER_FLOW_ID`
* refactor: rename to `FLOW_ID_SEQ`
* refactor: rename to `flow_id_sequence`
* refactor: rename to `FlowMetadataManager`
* refactor: rename flow_task.rs to flow.rs
* refactor: rename to FlowInfoManager
* refactor: rename to FlowName
* refactor: rename to FlownodeFlow
* refactor: rename to TableFlow
* refactor: remove TASK
* refactor: rename to __flow
* refactor: rename to flow_id
* refactor: rename to flow_name
* refactor: update comments
* refactor: rename to flow_metadata_manager
* refactor: rename to flow_metadata_allocator
* refactor: rename to FlowMetadataAllocator
* refactor: rename task suffix
* refactor: rename FlowTask to FlowInfo
* refactor: rename FlowTaskScoped to FlowScoped
* refactor: rename FlowTaskId to FlowId
* chore: bump proto to b5412f7
* chore: apply suggestions from CR
* chore: apply suggestions from CR
* chore: apply suggestions from CR
2024-04-29 14:02:52 +00:00
Weny Xu
b493ea1b38
feat: implement the CreateFlowProcedure ( #3810 )
...
* feat: implement `FlowTaskMetadataAllocator`
* feat: add `FlowTaskMetadataManagerRef` and `FlowTaskMetadataAllocatorRef`
* chore: fix clippy
* feat: add `FlowTaskNameLock`
* feat: implement the `CreateFlowTaskProcedure`
* chore: rename to `CreateFlowProcedure`
* chore: apply suggestions from CR
* feat: invoke create flow procedure
* chore: apply suggestions from CR
* refactor: rename TYPE_NAME
* feat: register the procedure
* chore: apply suggestions from CR
* feat: acquire the lock of sink table name
2024-04-29 12:34:11 +00:00
Ruihang Xia
7ef18c0915
feat: impl parser and operator for CREATE FLOW ( #3806 )
...
* feat: impl parser for CREATE TASK
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* finish parser
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* wip expr
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* finish expr
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* rename output to sink
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix parser
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove debug code
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* upload lock file
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* rename symbol
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Apply suggestions from code review
Co-authored-by: Jeremyhi <jiachun_feng@proton.me >
* remove other task word
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* task name to flow name
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* one more comment
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Jeremyhi <jiachun_feng@proton.me >
2024-04-28 12:26:49 +00:00
Weny Xu
3112ced9c0
chore: rename all datanode_manager to node_manager ( #3813 )
2024-04-28 02:34:06 +00:00
Weny Xu
eb3d2ca759
refactor: refactor DatanodeManager to NodeManager ( #3811 )
...
* chore: bump greptime-proto to 2c14c6e
* refactor: refactor `DatanodeManager` to `NodeManager`
2024-04-26 11:31:03 +00:00
Weny Xu
1ec595134d
feat: define CreateFlowTask and DropFlowTask ( #3801 )
...
* chore: bump proto to cefc73f
* feat: add `CreateFlowTask` and `DropFlowTask`
* chore: bump to 87f2b38
* chore: bump to 783682f
2024-04-25 12:30:31 +00:00
Weny Xu
9206f60b28
feat: implement FlowTaskMetadataManager ( #3766 )
...
* feat: implement `FlowMetadataManager`
* chore: remove dead code
* refactor: change `sink_tables` to `sink_table`
* refactor: add `PartitionId`
* feat: implement FlowTaskNameManager
* refactor: update doc of keys
* fix: return partition id in `tasks`
* refactor: rename to `FlowTaskId`
* chore: add comments
* chore: add `task_id` in `TaskAlreadyExists`
* chore: add comments
* fix: fmt
* refactor: simplify the docoder
* chore: update comments
* feat: implement `FlowTaskScoped` and `CatalogScoped`
* refactor: refactor flow task keys
* refactor: remove metadata mod
* refactor: rename to `FlowTaskInfo`
* chore: add comments
* refactor: rename to `FlowTaskMetadataManager`
* chore: remove dead code
* Apply suggestions from code review
* chore: change to `pub(crate)`
* chore: apply suggestions from CR
* fix: fix fmt
* chore: fmt doc
2024-04-25 11:59:24 +00:00
Weny Xu
20a933e395
refactor: simplify the PaginationStream ( #3787 )
...
* refactor: simplify the `PaginationStream`
* refactor: refactor decode fn
* fix: fix clippy
2024-04-24 04:29:41 +00:00
Kould
b619950c70
feat: add ChangeColumnType for AlterKind ( #3757 )
...
* feat: add `ModifyColumn` for `AlterKind`
* chore: additional code comments for `AlterKind::ModifyColumns`
* fix: add nullable check on `ModifyColumn`
* style: codefmt
* style: fix the code based on review suggestions
* style: fix the code based on review suggestions
* style: rename `ModifyColumn` -> `ChangeColumnType`
* style: code fmt
* style: `change_columns_type` -> `change_column_types`
2024-04-24 04:27:23 +00:00
LFC
19a9035f4b
fix: operating region guards should be dropped when procedure is done ( #3775 )
2024-04-23 06:21:53 +00:00
LFC
96c01a3bf0
fix: the dropping_regions guards should be dropped on procedure done ( #3771 )
...
* fix: the `dropping_regions` guards should be dropped on procedure done
* fix ci
2024-04-23 02:44:12 +00:00
Ruihang Xia
bf21527f18
fix: set is_time_index properly on updating physical table's schema ( #3770 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-04-22 12:37:25 +00:00
Ruihang Xia
0c5f4801b7
build: update toolchain to nightly-2024-04-18 ( #3740 )
...
* chore: update toolchain to nightly-2024-04-17
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix test clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix ut
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update fuzz test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update to nightly-2024-04-18
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add document
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update CI
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* avoid unnecessary allow clippy attrs
Signed-off-by: tison <wander4096@gmail.com >
* help the compiler find the clone is unnecessary and make clippy happy
Signed-off-by: tison <wander4096@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: tison <wander4096@gmail.com >
Co-authored-by: tison <wander4096@gmail.com >
2024-04-19 05:42:34 +00:00
Weny Xu
510782261d
refactor: avoid unnecessary cloning ( #3734 )
...
refactor: using `TxnOpGetResponseSet`
2024-04-18 09:02:28 +00:00