yuanbohan
d4e0dc3685
feat: specify prom server start addr ( #1111 )
...
* feat: specify promql server start addr
* refactor: rename promql to prom in Prometheus API server scenario
2023-03-06 11:07:21 +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
shuiyisong
dc50095af3
fix: use catalog from connection ( #1099 )
...
* fix: using schema instead of full database
* fix: using schema instead of full database
* fix: using schema instead of full database
* chore: add debug log
* chore: remove debug log
* chore: remove debug log
* chore: fix cr
2023-03-01 10:34:57 +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
Ning Sun
81eab74b90
refactor: remove grpc client constructor with default catalog/schema ( #1060 )
...
* refactor: remove grpc client with default catalog/schema
* refactor: re-export consts in client module
2023-02-24 11:06:14 +08:00
Ning Sun
8f67d8ca93
fix: update mysql server library to fix tls corrupt messsage issue ( #1065 )
2023-02-24 10:20:44 +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
shuiyisong
fb2e0c7cf3
feat: add auth to grpc handler ( #1051 )
...
* chore: get header in grpc & temp save
* chore: change authscheme to include data str
* chore: add auth to grpc flight handler
* chore: add unit test & hold for now since grpc api doesnt accept req input
* chore: minor change
* chore: minor change
* chore: add flight context to database interface
* chore: add test
* chore: update proto version & fix cr issue
* chore: add test
* chore: minor update
2023-02-22 15:20:10 +08:00
Ruihang Xia
23092a5208
feat: Support unary, paren, bool keyword and nonexistent metric/label in PromQL ( #1049 )
...
* feat: don't report metric/label not found as error
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* feat: impl unary expr
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* feat: impl paren expr
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* feat: support bool keyword
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add some tests
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* ignore nonexistence labels during planning
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-02-21 15:24:01 +08:00
Ruihang Xia
68b231987c
feat: improve Prometheus compliance ( #1022 )
...
* initial impl
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* minor (useless) refactor
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* retrieve metric name
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add time index column to group by columns
filter out NaN in normalize
remove NULL in instant manipulator
accept form data as HTTP params
correct API URL
accept second literal as step param
* happy clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update test result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-02-20 07:29:43 +00:00
shuiyisong
6afd79cab8
feat: support InfluxDB auth protocol ( #1034 )
...
* chore: add http auth influxdb compat
* chore: add test
* chore: minor change
* chore: fix typo
* chore: fix cr
2023-02-20 03:26:19 +00:00
fys
4e88a01638
feat: support influxdb ping and health endpoint ( #1027 )
...
* feat: support influxdb ping and health endpoint
* add some unit tests
* ping and health api no need auth
* cr
2023-02-20 02:31:51 +00: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
dennis zhuang
5ec1a7027b
feat: supports passing user params into coprocessor ( #962 )
...
* feat: make args in coprocessor optional
* feat: supports kwargs for coprocessor as params passed by the users
* feat: supports params for /run-script
* fix: we should rewrite the coprocessor by removing kwargs
* fix: remove println
* fix: compile error after rebasing
* fix: improve http_handler_test
* test: http scripts api with user params
* refactor: tweak all to_owned
2023-02-16 16:11:26 +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
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
Ruihang Xia
dfe7bfb07f
feat: handle PromQL HTTP API parameters ( #985 )
...
* feat: impl EvalStmt parser
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix compile errors
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update test result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add integration test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix clippy
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* resolve CR comments
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* impl From<PromqlQuery> for PromQuery
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* move format into with_context
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update test result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* shorthand compound error
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* use rfc3339 error to report float parsing error
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* remove CompoundError
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-02-15 17:15:44 +08:00
shuiyisong
301656d568
fix: rename schema to db in http param ( #1008 )
...
chore: rename schema to db in http script handler
2023-02-15 15:59:00 +08:00
Xieqijun
63e396e9e9
test: add api and doc http test ( #998 )
...
* test:add api and doc test
* fix:conservation
2023-02-15 11:55:13 +08:00
LFC
9ad6c45913
test: Sqlness tests for distribute mode ( #979 )
...
* test: Sqlness tests for distribute mode
* ci
* fix: resolve PR comments
* fix: resolve PR comments
2023-02-14 10:24:09 +08:00
fys
7fe417e740
fix: an error occurred when requesting the http doc api ( #984 )
2023-02-13 11:17:27 +00:00
Ruihang Xia
83ac6598b6
feat: add start, end and step to promql http api ( #969 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-02-10 14:16:16 +08:00
Ning Sun
83d57f9111
fix: setting postgres query context ( #958 )
2023-02-08 16:34:10 +08:00
Ning Sun
c1d32bdf2b
fix: add form data support for http sql api ( #955 )
...
fix: add form data support for http apis
2023-02-07 10:15:39 +00:00
ShenJunkun
afac885c10
refactor: add schema column to the scripts table ( #868 )
2023-02-07 11:07:32 +08:00
Lei, HUANG
5d62e193bd
feat: support multi regions on datanode ( #653 )
...
* 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
* feat: support multi regions on datanode
* chore: rebase onto develop
* chore: rebase develop
* chore: rebase develop
* wip
* fix: compile errors
* feat: multi region
* fix: CR comments
* feat: allow stat existing regions without actually open it
* fix: use table meta in manifest to recover region info
2023-02-07 10:46:18 +08:00
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
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
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
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
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
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
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
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
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
dennis zhuang
d162fbb598
fix: compile error in test ( #872 )
2023-01-13 15:12:49 +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
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
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
LFC
72f05a3137
feat: flight aboard ( #840 )
...
feat: replace old GRPC interface with Arrow Flight
2023-01-09 17:06:24 +08:00
Ruihang Xia
2679faf911
refactor: move parse methods out of QueryEngine trait ( #850 )
...
* refactor: move parse methods out of QueryEngine trait
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix styles
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* change style
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add license header
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix test literal
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2023-01-09 15:44:20 +08:00
Ning Sun
3988770266
feat: add catalog name resolution for postgres and http interface ( #810 )
...
* feat: add catalog name resolution for postgres and http interface
* test: add tests for catalog resolution on http and postgres
* feat: assign custom catalog for query
* chore: order code for better readability
2023-01-09 11:43:25 +08:00
LFC
d1730a9577
refactor: simplify how Frontend instance handles other protocols ( #831 )
...
* refactor: make influxdb, opentsdb and prometheus read/write goes through GRPC interface, to unify and simplify the Frontend instance either in standalone or distributed mode
2023-01-06 12:19:38 +08:00
LFC
50cc0e9b51
feat: Impl Insert functionality of Arrow Flight service for Frontend Instance ( #821 )
...
* feat: Implement Insert functionality of Arrow Flight service for Frontend Instance
* fix: update license content
* Update src/common/grpc-expr/src/alter.rs
Co-authored-by: fys <40801205+Fengys123@users.noreply.github.com >
* fix: resolve PR comments
* fix: resolve PR comments
Co-authored-by: fys <40801205+Fengys123@users.noreply.github.com >
2023-01-04 17:48:59 +08:00
Ning Sun
041cd422a1
refactor: do not call use upon mysql connection ( #818 )
2023-01-03 19:15:47 +08:00
Lei, HUANG
8ffc078f88
fix: license header ( #815 )
2023-01-03 15:09:49 +08:00
shuiyisong
179ff728df
refactor: merge servers::context into session ( #811 )
...
* refactor: move context to session
* chore: add unit test
* chore: add pg, opentsdb, influxdb and prometheus to channel enum
2022-12-31 00:00:04 +08:00
LFC
d13de0aeba
refactor: remove AdminExpr, make DDL expressions as normal GRPC requests ( #808 )
...
* refactor: remove AdminExpr, make DDL expressions as normal GRPC requests
2022-12-30 16:47:45 +08:00