Ning Sun
4ae63b7089
feat: Initial prepare statement support for Postgres protocol ( #925 )
...
* feat: add describe statement to query_engine
* feat: add ability to describe statement for sql handler
* refactor: return schema instead of wrapped ref
* test: resolve tests
* feat: add initial support for prepared statements
* feat: add parameter types to query statement
* test: fix parser test
* chore: add todo task
* fix: turn on integer_datetime for binary timestamp
* fix: format string using single quote
* test: add tests for prepared statement
* Apply suggestions from code review
Co-authored-by: LFC <bayinamine@gmail.com >
* refactor: use stream api from recordbatches
---------
Co-authored-by: LFC <bayinamine@gmail.com >
2023-02-06 22:06:00 +08:00
Yingwen
b0925d94ed
feat: Implement lock component for ProcedureManager ( #937 )
...
* feat: Add procedure meta
* feat: Implement lock for procedures
* chore: Allow dead code
* docs: Fix comment
* docs: Update docs of acquire_lock
2023-02-03 18:42:03 +08:00
Ruihang Xia
fc9276c79d
feat: export promql service in server ( #924 )
...
* chore: some tiny typo/style fix
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* feat: add promql server
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* works for mocked query
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* clean up
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* integration test case
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* resolve CR comments
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* expose promql api to our http server
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* resolve CR comments
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* adjust router structure
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-02-03 08:28:56 +00:00
discord9
ebbf1e43b5
feat: Query using sql inside python script ( #884 )
...
* feat: add weakref to QueryEngine in copr
* feat: sql query in python
* fix: make_class for Query Engine
* fix: use `Handle::try_current` instead
* fix: cache `Runtime`
* fix: lock file conflict
* fix: dedicated thread for blocking&fix test
* test: remove unnecessary print
2023-02-03 15:05:27 +08:00
LFC
af935671b2
feat: support "use" in GRPC requests ( #922 )
...
* feat: support "use catalog and schema"(behave like the "use" in MySQL) in GRPC requests
* fix: rebase develop
2023-02-02 20:02:56 +08:00
Yingwen
74adb077bc
feat: Implement ProcedureStore ( #927 )
...
* test: Add more tests for ProcedureId
* feat: Add ObjectStore based state store
* feat: Implement ProcedureStore
* test: Add tests for ParsedKey
* refactor: Rename list to walk_top_down
* fix: Test ProcedureStore and handles unordered key values.
* style: Fix clippy
* docs: Update comment
* chore: Adjust log level for printing invalid key
2023-02-02 17:49:31 +08:00
Ruihang Xia
ea5146762a
chore(deps): bump promql-parser ( #929 )
...
* fix promql crate
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* migrate to new api
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix aggregator test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix styles
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-02-02 07:31:41 +00:00
Lei, HUANG
028a69e349
refactor: move partition related code to partition manager ( #906 )
...
* wip: fix compile errors
* chore: move splitter to partition crate
* fix: remove useless variants in frontend errors
* chore: move more partition related code to partition manager
* fix: license header
* wip: move WriteSplitter to PartitionRuleManager
* fix: clippy warnings
* chore: remove useless error variant and format toml
* fix: cr comments
* chore: resolve conflicts
* chore: rebase develop
* fix: cr comments
2023-02-01 19:24:49 +08:00
LFC
8149932bad
feat: local catalog drop table ( #913 )
...
* feat: local catalog drop table
* Update src/catalog/src/local/manager.rs
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
* Update src/catalog/src/local/manager.rs
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
* fix: resolve PR comments
---------
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
2023-01-31 14:44:03 +08:00
Ning Sun
39df25a8f6
refactor: make postgres handler stateful ( #914 )
...
* feat: update pgwire to 0.8 and unify postgres handler
* fix: correct password message matching
2023-01-31 14:19:18 +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
shuiyisong
18e6740ac9
chore: add interceptor err in frontend::error::Error ( #917 )
...
* chore: add interceptor boxed err
* chore: rename
* chore: update err msg
Co-authored-by: fys <40801205+Fengys123@users.noreply.github.com >
---------
Co-authored-by: fys <40801205+Fengys123@users.noreply.github.com >
2023-01-30 03:12:03 +00: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
Ruihang Xia
71482b38d7
feat: PromQL binary expr planner ( #889 )
...
* feat: PromQL binary expr planner
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* column & column test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* column & literal test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* mark literal-literal unsupported
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-01-29 17:02:11 +08:00
Ruihang Xia
dc9b5339bf
feat: impl increase and irate/idelta in PromQL ( #880 )
...
* feat: impl increase and irate/idelta in PromQL
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add license header
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix styles
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* resolve CR comments
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add counter reset test case
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-01-29 14:21:13 +08:00
Lei, HUANG
5e05c8f884
fix: TimestampRange::new_inclusive and strum dependency ( #910 )
...
fix: TimestampRange::new_inclusive; also fix strum dependency in common-error
2023-01-29 13:09:05 +08:00
shuiyisong
aafc26c788
feat: add mysql reject_no_database ( #896 )
...
* chore: update opensrv-mysql to main
* refactor: change mysql server struct
* feat: add option to reject no database mysql connection request
* chore: remove unused condition
* chore: rebase develop
* chore: make reject_no_database optional
2023-01-29 04:09:47 +00:00
LFC
64243e3a7d
refactor: accommodate java flight client ( #886 )
...
* refactor: change how AffectedRows is carried in flight stream to accommodate Java Flight client
* fix: clippy
2023-01-29 11:27:13 +08:00
Ruihang Xia
36a13dafb7
build(deps): bump tokio to 1.24.2 ( #900 )
...
deps: bump tokio to 1.24.2
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-01-29 11:13:37 +08:00
shuiyisong
637837ae44
chore: return authorize err msg to mysql client ( #905 )
...
chore: refine authorize err msg to client
2023-01-29 10:53:36 +08:00
Lei, HUANG
43aefc5d74
feat: prunine sst files according to time range in filters ( #887 )
...
* 1. Reimplement Eq for Timestamp
2. Add and/or for GenericRange
* feat: extract time range from filters
* feat: select sst files according to time range
* fix: clippy
* fix: empty value in range
* fix: some cr comments
* fix: return optional timestamp range
* fix: cr comments
2023-01-28 15:16:41 +08:00
Ning Sun
9bc4c0d9c7
fix: mysql tests error ( #897 )
...
fix: mysql tests merge error
2023-01-20 16:15:16 +08:00
zyy17
cc46194f29
refactor: support TLS private key of RSA format and add the full test certificates generation ( #885 )
...
chore: add the full certificate generation
Signed-off-by: zyy17 <zyylsxm@gmail.com >
Signed-off-by: zyy17 <zyylsxm@gmail.com >
2023-01-19 13:13:33 +08:00
elijah
5dfc24e4f6
fix: create table after rename table ( #894 )
...
* fix: create table after rename table
* chore: fix test
2023-01-19 13:13:09 +08:00
shuiyisong
6960739b3d
feat: add authorize to UserProvider trait ( #879 )
...
* feat: add SchemaValidator
* feat: add schema validator to mysql shim
* chore: pass schema validator to http auth layer
* feat: add schema validator to http
* feat: add schema validator to pg
* feat: add schema validator to pg
* feat: add schema validator test
* chore: remove println in test
* chore: use !matches
* refactor: refac authenticate and authorize in http auth
* refactor: refac authenticate and authorize in http auth
* chore: typo
* chore: minor change
* refactor: merge schema_validator into user_providier
* chore: fix license issue
* refactor: change http query param from database to db
* chore: fix cr issue
2023-01-18 12:42:08 +08:00
fys
49d83abc0c
chore: add an opaque error type in meta ( #890 )
...
add a boxed error type in meta
2023-01-18 11:30:54 +08:00
Ning Sun
ecb71f81be
feat: add --rpc-hostname option to datanode for a persist address to store in meta ( #871 )
...
* feat: add --rpc-hostname option
* fix: config file and hostname parsing
* Apply suggestions from code review
Co-authored-by: fys <40801205+Fengys123@users.noreply.github.com >
Co-authored-by: fys <40801205+Fengys123@users.noreply.github.com >
2023-01-17 10:50:50 +08:00
fys
6f5639fccd
feat: add load_based selector in meta ( #874 )
...
* fix: wrong error info
* add derive hash for StatKey
* add a attrs field in Context
* add load_based selector
* add license
* make Nodestat module public
* add meta startup config item about selector
* cr: remove attrs, add concrete type in context
* cr: change region_number type to Option<u64>
* cr: add comment in example.toml
* cr
2023-01-17 10:25:00 +08:00
Ruihang Xia
1e9d09099e
feat: update promql-parser to commit fec3c8b ( #881 )
...
deps: update promql-parser to commit fec3c8b
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-01-16 17:55:44 +08:00
Lei, HUANG
daad38360f
fix: impl total order for Timestamp ( #878 )
...
* 1. Reimplement Eq for Timestamp
2. Add and/or for GenericRange
* chore: add test for TimestampRange with diff unit
* chore: optimize split implementation
* fix: clippy
* fix: add fast path
* fix: CR comments
2023-01-16 17:37:30 +08:00
Ruihang Xia
bae0243959
test: sqlness test for insert default ( #873 )
...
* test: sqlness test for insert default
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* empty line
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add more sqls
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix typos
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update test according to typo fix
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-01-13 20:22:55 +08:00
dennis zhuang
d162fbb598
fix: compile error in test ( #872 )
2023-01-13 15:12:49 +08:00
Zheming Li
0959c1d16b
feat: support default value when inserting data ( #854 )
2023-01-13 14:49:05 +08:00
discord9
e428a84446
feat: use Python Script as UDF in SQL ( #839 )
...
* feat: reg PyScript as UDF
* refactor: use `ConcreteDataType` instead
* fix: accept `str` data type
* fix: allow binary to capture SIGINT
* test: add test for py udf
* Update src/servers/tests/py_script/mod.rs
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* style: clippy problem
* style: add newline
* chore: PR advices
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-13 14:35:03 +08:00
Ruihang Xia
58c37f588d
feat: plan some aggregate expr in PromQL planner ( #870 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-01-13 14:27:31 +08:00
dennis zhuang
d195a22f40
fix: parsing time index column option ( #865 )
...
* fix: parsing time index column option
* test: adds more cases for creating table
* chore: by CR comments
* feat: validate time index constraint in parser
* chore: improve error msg
2023-01-13 13:22:12 +08:00
elijah
6775c5be87
feat: support renaming table in the catalog manger ( #824 )
...
* feat: support renaming table in the catalog manger
* feat: implement rename table for local catalog manager
* chore: fmt code
* fix: update system catalog when renaming table in local catalog manager
* chore: add instance test for rename table
* chore: fix frontend test
* chore: fix comment
* chore: fix rename table test
* fix: renaming a table with an existing name
* fix: improve the system catalog's renaming process
* chore: improve the code
* chore: improve the comment
Co-authored-by: Yingwen <realevenyag@gmail.com >
* chore: improve the code
* chore: fix tests
* chore: fix instance_test
* chore: improve the code
Co-authored-by: Yingwen <realevenyag@gmail.com >
2023-01-12 19:48:18 +08:00
LFC
2664436194
feat: handle "USE <catalog>-<schema>" in MySQL ( #857 )
...
* feat: handle "USE <catalog>-<schema>" in MySQL
* fix: resolve PR comments
2023-01-12 11:12:11 +08:00
shuiyisong
b91c77b862
chore: add path check to http auth ( #866 )
...
* chore: add whitelist to http auth
* chore: use const instead of format everytime
2023-01-12 10:20:18 +08:00
Lei, HUANG
4015dd8075
feat: record sst file time range in FileMeta ( #860 )
...
* feat: record sst file time range in FileMeta
* fix: clippy
* chore: add some log and doc
2023-01-11 21:16:07 +08:00
Yingwen
b39dbcbda9
fix: Fix deleting table with non null column ( #849 )
...
If the table has a non-null column, we need to use default value instead
of null to fill the value columns in the record batch for deletion.
Otherwise, we can't create the record batch since the schema check
doesn't allow null in the non-null column.
2023-01-11 20:06:46 +08:00
elijah
0e8411c2ff
chore: add custom log level support for common_telemetry::init_default_ut_logging() ( #864 )
...
chore: improve default ut logging
2023-01-11 16:52:21 +08:00
Ruihang Xia
a9b42b436d
feat: PromQL handler in query engine ( #861 )
...
* example promql test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* make the mock test works
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update planner test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippys
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add license header
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-01-11 11:31:07 +08:00
dennis zhuang
9428e70971
feat: integration test ( #770 )
...
* feat: add insert test cases
* fix: update results after rebase develop
* feat: supports unsigned integer types and big_insert test
* test: add insert_invalid test
* feat: supports time index constraint for bigint type
* chore: time index column at last
* test: adds more order, limit test
* fix: style
* feat: adds numbers table in standable memory catalog mode
* feat: enable fail_fast and test_filter in sqlness
* feat: add more tests
* fix: test_filter
* test: add alter tests
* feat: supports if_not_exists when create database
* test: filter_push_down and catalog test
* fix: compile error
* fix: delete output file
* chore: ignore integration test output in git
* test: update all integration test results
* fix: by code review
* chore: revert .gitignore
* feat: sort the show tables/databases results
* chore: remove issue link
* fix: compile error and code format after rebase
* test: update all integration test results
2023-01-10 18:15:50 +08:00
Ruihang Xia
32d51947a4
refactor: adjust outermost error message ( #859 )
...
* refactor: adjust outermost error message
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* preserve tonic status code
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-01-10 17:28:27 +08:00
Ruihang Xia
5fb417ec7c
feat: implement RangeManipulate ( #843 )
...
* basic impl
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* impl constructor
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* test printout
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* truncate tag columns
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* doc this plan
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix empty range
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* document behavior
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-01-10 16:27:09 +08:00
Lei, HUANG
90fcaa8487
feat: expose wal config ( #852 )
...
* feat: wal config
* fix: use human-readable string in wal config
* feat: copy ReadableSize and humanize size config items in toml files
* fix: clippy
2023-01-10 16:07:26 +08:00
Jiachun Feng
c609b193a1
feat: in memory storage on meta leader ( #856 )
...
* chore: minor change on election
* chore: refactor some from/into
* feat: add in_memory store for leader node
* refactor: make context mutable
* feat: add ResetableKvStore trait
2023-01-10 15:53:34 +08:00
Ruihang Xia
1305924423
ci: add sqlness job ( #835 )
...
* ci: add sqlness job
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness to official release
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* filter out backtrace
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix error display
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* close once_cell feature gate
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-01-10 15:12:20 +08:00
LFC
72f05a3137
feat: flight aboard ( #840 )
...
feat: replace old GRPC interface with Arrow Flight
2023-01-09 17:06:24 +08:00