Ning Sun
aaa9b32908
feat: add more h3 functions ( #4770 )
...
* feat: add more h3 grid functions
* feat: add more traversal functions
* refactor: update some function definitions
* style: format
* refactor: avoid creating slice in nested loop
* feat: ensure column number and length
* refactor: fix lint warnings
* refactor: merge main
* Apply suggestions from code review
Co-authored-by: LFC <990479+MichaelScofield@users.noreply.github.com >
* Update src/common/function/src/scalars/geo/h3.rs
Co-authored-by: LFC <990479+MichaelScofield@users.noreply.github.com >
* style: format
---------
Co-authored-by: LFC <990479+MichaelScofield@users.noreply.github.com >
2024-10-11 17:57:54 +00:00
Lei, HUANG
7dd0e3ab37
fix: Panic in UNION ALL queries ( #4796 )
...
* fix/union_all_panic:
Improve MetricCollector by incrementing level and fix underflow issue; add tests for UNION ALL queries
* chore: remove useless documentation
* fix/union_all_panic: Add order by clause to UNION ALL select queries in tests
2024-10-11 08:23:01 +00:00
Yohan Wal
288fdc3145
feat: json_path_exists udf ( #4807 )
...
* feat: json_path_exists udf
* chore: fix comments
* fix: caution when copy&paste QAQ
2024-10-10 14:15:34 +00:00
discord9
a8ed3db0aa
feat: Merge sort Logical plan ( #4768 )
...
* feat(WIP): MergeSort
* wip
* feat: MergeSort LogicalPlan
* update sqlness result
* Apply suggestions from code review
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
* refactor: per review advice
* refactor: more per review
* chore: per review
---------
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Lei, HUANG <6406592+v0y4g3r@users.noreply.github.com >
2024-10-09 09:37:27 +00:00
Ning Sun
19918928c5
feat: add function to aggregate path into a geojson path ( #4798 )
...
* feat: add geojson function to aggregate paths
* test: add sqlness results
* test: add sqlness
* refactor: corrected to aggregation function
* chore: update comments
* fix: make linter happy again
* refactor: rename to remove `geo` from `geojson` function name
The return type is not geojson at all. It's just compatible with geojson's
coordinates part and superset's deckgl path plugin.
2024-10-09 02:38:44 +00:00
Ning Sun
4dea4cac47
refactor: change sqlness ports to avoid conflict with local instance ( #4794 )
2024-10-08 07:33:24 +00:00
JohnsonLee
47a3277d12
feat: customize channel information for sqlness tests ( #4729 )
...
* feat: add pg and mysql server_address options
* feat: start pg and mysql server(standalone)
* feat: start pg and mysql in distribute
* feat: finally get there, specify postgres sqlness
* feat: support mysql sqlness
* fix: license
* fix: remove unused import
* fix: toml
* fix: clippy
* refactor: BeginProtocolInterceptorFactory to ProtocolInterceptorFactory
* fix: sqlness pg connect
* fix: clippy
* Apply suggestions from code review
Co-authored-by: Yingwen <realevenyag@gmail.com >
* fix: rustfmt
* fix: reconnect pg and mysql when restart
* test: add mysql related sqlness
* fix: wait for start while restarting
* fix: clippy
* fix: cargo lock conflict
fix: Cargo.lock conflict
* fix: usage of '@@tx_isolation' in sqlness
* fix: typos
* feat: retry with backoff when create client
* fix: use millisecond rather than microseconds in backoff
---------
Co-authored-by: Yingwen <realevenyag@gmail.com >
2024-10-04 09:26:57 +00:00
Lei, HUANG
0a82b12d08
fix(sqlness): sqlness isolation ( #4780 )
...
* fix: isolate logs
* fix: copy cases
* fix: clippy
2024-09-29 05:54:01 +00:00
JohnsonLee
3a46c1b235
fix: use information_schema returns Unknown database ( #4774 )
...
* fix: use information_schema returns Unknown database 'information_schema'
* test: make sure 'use information_schma' successful
2024-09-27 23:15:48 +00:00
Weny Xu
4045298cb2
feat: add region_statistics table ( #4771 )
...
* refactor: introduce `region_statistic`
* refactor: move DatanodeStat related structs to common_meta
* chore: add comments
* feat: implement `list_region_stats` for `ClusterInfo` trait
* feat: add `region_statistics` table
* feat: add table_id and region_number fields
* chore: rename unused snafu
* chore: udpate sqlness results
* chore: avoid to print source in error msg
* chore: move `procedure_info` under `greptime` catalog
* chore: apply suggestions from CR
* Update src/common/meta/src/datanode.rs
Co-authored-by: jeremyhi <jiachun_feng@proton.me >
---------
Co-authored-by: jeremyhi <jiachun_feng@proton.me >
2024-09-27 09:54:52 +00:00
Lei, HUANG
cd4bf239d0
chore: relax table name constraint ( #4766 )
...
chore/relax-table-name-constraint: Updated NAME_PATTERN to allow '@' and '#' characters and adjusted tests for new table name validation rules.
2024-09-25 02:45:18 +00:00
Ruihang Xia
2feddca1cb
feat: include order by to commutativity rule set ( #4753 )
...
* feat: include order by to commutativity rule set
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* tune sqlness replace interceptor
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-09-23 08:35:06 +00:00
Ning Sun
0f99218386
feat: list/array/timezone support for postgres output ( #4727 )
...
* feat: list/array support for postgres output
* fix: implement time zone support for postgrsql
* feat: add a geohash function that returns array
* fix: typo
* fix: lint warnings
* test: add sqlness test
* refactor: check resolution range before convert value
* fix: test result for sqlness
* feat: upgrade pgwire apis
2024-09-22 02:39:38 +00:00
taobo
0c9b8eb0d2
feat: improve observability for procedure ( #4675 )
...
* feat: improve observability for procedure
* fix: test error
* test: add sqlness test for information_schema.procedure_info
* fix: sqlness test error
* fix: cr comment
* chore: update proto version
* fix: apply cr comment
* update version
* fix: cr comment
* optimize procedure type output format
* upgrade dep version
* fix: clippy error
* fix: `procedure` borrowed error
* fix: optimize code
2024-09-20 06:07:53 +00:00
Ning Sun
75c6fad1a3
feat: add more h3 scalar functions ( #4707 )
...
* feat: add more h3 scalar functions
* chore: comment up
2024-09-20 04:19:50 +00:00
Yingwen
f02410c39b
fix: disable field pruning in last non null mode ( #4740 )
...
* fix: don't prune fields in last non null mode
* test: add sqlness test for field pruning
* test: add flush
* refine implementation
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2024-09-20 00:35:37 +00:00
Yohan Wal
f73fb82133
feat: add respective json_is UDFs for JSON type ( #4726 )
...
* feat: add respective json_is UDFs
* refactor: rename to_json to parse_json
* chore: happy clippy
* chore: some rename
* fix: small fixes
2024-09-18 11:07:30 +00:00
Yohan Wal
67fb3d003e
feat: add respective get_by_path UDFs for JSON type ( #4720 )
...
* feat: add respectiv get_by_path udf for json type
* Apply review comments
Co-authored-by: Weny Xu <wenymedia@gmail.com >
* fix: fix compile error
* refactor: change name of UDFs, add some tests
---------
Co-authored-by: Weny Xu <wenymedia@gmail.com >
2024-09-11 08:17:57 +00:00
discord9
a3d567f0c9
perf(flow): use batch mode for flow ( #4599 )
...
* generic bundle trait
* feat: impl get/let
* fix: drop batch
* test: tumble batch
* feat: use batch eval flow
* fix: div use arrow::div not mul
* perf: not append batch
* perf: use bool mask for reduce
* perf: tiny opt
* perf: refactor slow path
* feat: opt if then
* fix: WIP
* perf: if then
* chore: use trace instead
* fix: reduce missing non-first batch
* perf: flow if then using interleave
* docs: add TODO
* perf: remove unnecessary eq
* chore: remove unused import
* fix: run_available no longer loop forever
* feat: blocking on high input buf
* chore: increase threhold
* chore: after rebase
* chore: per review
* chore: per review
* fix: allow empty values in reduce&test
* tests: more flow doc example tests
* chore: per review
* chore: per review
2024-09-11 03:31:52 +00:00
Ruihang Xia
ff40d512bd
fix: support append-only physical table ( #4716 )
...
* fix: support append-only physical table
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* Update src/metric-engine/src/engine/create.rs
Co-authored-by: jeremyhi <jiachun_feng@proton.me >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Weny Xu <wenymedia@gmail.com >
Co-authored-by: jeremyhi <jiachun_feng@proton.me >
2024-09-10 12:23:23 +00:00
Yingwen
3e17c09e45
feat: skip caching uncompressed pages if they are large ( #4705 )
...
* feat: cache each uncompressed page
* chore: remove unused function
* chore: log
* chore: log
* chore: row group pages cache kv
* feat: also support row group level cache
* chore: fix range count
* feat: don't cache compressed page for row group cache
* feat: use function to get part
* chore: log whether scan is from compaction
* chore: avoid get column
* feat: add timer metrics
* chore: Revert "feat: add timer metrics"
This reverts commit 4618f57fa2ba13b1e1a8dec83afd01c00ae4c867.
* feat: don't cache individual uncompressed page
* feat: append in row group level under append mode
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* chore: fetch pages cost
* perf: yield
* Update src/mito2/src/sst/parquet/row_group.rs
* refactor: cache key
* feat: print file num and row groups num in explain
* test: update sqlness test
* chore: Update src/mito2/src/sst/parquet/page_reader.rs
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2024-09-10 11:52:16 +00:00
Yohan Wal
04e7dd6fd5
feat: add json data type ( #4619 )
...
* feat: add json type and vector
* fix: allow to create and insert json data
* feat: udf to query json as string
* refactor: remove JsonbValue and JsonVector
* feat: show json value as strings
* chore: make ci happy
* test: adunit test and sqlness test
* refactor: use binary as grpc value of json
* fix: use non-preserve-order jsonb
* test: revert changed test
* refactor: change udf get_by_path to jq
* chore: make ci happy
* fix: distinguish binary and json in proto
* chore: delete udf for future pr
* refactor: remove Value(Json)
* chore: follow review comments
* test: some tests and checks
* test: fix unit tests
* chore: follow review comments
* chore: corresponding changes to proto
* fix: change grpc and pgsql server behavior alongside with sqlness/crud tests
* chore: follow review comments
* feat: udf of conversions between json and strings, used for grpc server
* refactor: rename to_string to json_to_string
* test: add more sqlness test for json
* chore: thanks for review :)
* Apply suggestions from code review
---------
Co-authored-by: Weny Xu <wenymedia@gmail.com >
2024-09-09 11:41:36 +00:00
Ning Sun
c22a398f59
fix: return version string based on request protocol ( #4680 )
...
* fix: return version string based on request protocol
* fix: resolve lint issue
2024-09-09 03:36:54 +00:00
JohnsonLee
a8477e4142
fix: table resolving logic related to pg_catalog ( #4580 )
...
* fix: table resolving logic related to pg_catalog
refer to
https://github.com/GreptimeTeam/greptimedb/issues/3560#issuecomment-2287794348
and #4543
* refactor: remove CatalogProtocol type
* fix: sqlness
* fix: forbid create database pg_catalog with mysql client
* refactor: use QueryContext as arguments rather than Channel
* refactor: pass None as default behaviour in information_schema
* test: fix test
2024-09-09 00:47:59 +00:00
Ruihang Xia
d2d62e0c6f
fix: unconditional statistics ( #4694 )
...
* fix: unconditional statistics
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add more sqlness case
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-09-07 04:28:11 +00:00
Ning Sun
e476e36647
feat: add geohash and h3 as built-in functions ( #4656 )
...
* feat: add built-in functions h3 and geohash
* tests: add sqlness tests for geo functions
* doc: correct h3 comment
* fix: lint error
* fix: toml format
* refactor: address review comments
* test: add more sqlness cases
* Apply suggestions from code review
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
---------
Co-authored-by: Ruihang Xia <waynestxia@gmail.com >
2024-09-05 04:42:29 +00:00
Ruihang Xia
8ca35a4a1a
fix: use number of partitions as parallilism in region scanner ( #4669 )
...
* fix: use number of partitions as parallilism in region scanner
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add sqlness
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Lei HUANG <mrsatangel@gmail.com >
* order by ts
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* debug pring time range
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
Co-authored-by: Lei HUANG <mrsatangel@gmail.com >
2024-09-03 13:42:38 +00:00
Lei, HUANG
37dcf34bb9
fix(mito): avoid caching empty batches in row group ( #4652 )
...
* fix: avoid caching empty batches in row group
* fix: clippy
* Update tests/cases/standalone/common/select/last_value.sql
* fix: sqlness
2024-09-02 02:43:00 +00:00
jeremyhi
f641c562c2
feat: show create database ( #4642 )
...
* feat: show create database
* feat: add sqlness test
* chore: reorder mod and use
* feat: show create schema
* Update src/frontend/src/instance.rs
2024-08-30 03:58:11 +00:00
discord9
9f9c1dab60
feat(flow): use DataFusion's optimizer ( #4489 )
...
* feat: use datafusion optimization
refactor: mv `sql_to_flow_plan` elsewhere
feat(WIP): use df optimization
WIP analyzer rule
feat(WIP): avg expander
fix: transform avg expander
fix: avg expand
feat: names from substrait
fix: avg rewrite
test: update `test_avg`&`test_avg_group_by`
test: fix `test_sum`
test: fix some tests
chore: remove unused flow plan transform
feat: tumble expander
test: update tests
* chore: clippy
* fix: tumble lose `group expr`
* test: sqlness test update
* test: rm unused cast
* test: simplify sqlness
* refactor: per review
* chore: after rebase
* fix: remove a outdated test
* test: add comment
* fix: report error when not literal
* chore: update sqlness test after rebase
* refactor: per review
2024-08-29 02:52:00 +00:00
dennis zhuang
63f2463273
feat!: impl admin command ( #4600 )
...
* feat: impl admin statement parser
* feat: introduce AsyncFunction and implements it for admin functions
* feat: execute admin functions
* fix: license header
* fix: panic in test
* chore: fixed by code review
2024-08-26 07:53:40 +00:00
Ruihang Xia
b25a2b117e
feat: remove sql in error desc ( #4589 )
...
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-08-20 06:37:30 +00:00
Ruihang Xia
8de11a0e34
perf: set simple filter on primary key columns to exact filter ( #4564 )
...
* perf: set simple filter on primary key columns to exact filter
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* add sqlness test
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix typo
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* fix sqlness
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-08-19 09:07:35 +00:00
Lei, HUANG
975b8c69e5
fix(sqlness): redact all volatile text ( #4583 )
...
Commit Message:
Add SQLNESS replacements for RoundRobinBatch and region patterns
2024-08-19 08:04:54 +00:00
Lanqing Yang
93be81c041
feat: implement postgres kvbackend ( #4421 )
2024-08-14 22:49:32 +00:00
Lei, HUANG
c1b1be47ba
fix: append table stats ( #4561 )
...
* fix: append table stats
* fix: clippy
2024-08-14 09:01:42 +00:00
discord9
f88705080b
chore: set topic to 3 for sqlness test ( #4560 )
2024-08-14 06:32:26 +00:00
Lei, HUANG
216bce6973
perf: count(*) for append-only tables ( #4545 )
...
* feat: support fast count(*) for append-only tables
* fix: total_rows stats in time series memtable
* fix: sqlness result changes for SinglePartitionScanner -> StreamScanAdapter
* fix: some cr comments
2024-08-13 09:27:50 +00:00
JohnsonLee
6694d2a930
fix: change the type of oid in pg_namespace to u32 ( #4541 )
...
* fix: change the type of oid in pg_namespace to u32
* fix: header and correct logic of update oid
2024-08-10 15:06:14 +00:00
Ruihang Xia
8f0959fa9f
fix: fix incorrect result of topk with cte ( #4523 )
...
* fix: fix incorrect result of topk with cte
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* clean up cargo toml
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-08-07 09:13:38 +00:00
discord9
e6cc4df8c8
feat: flow recreate on reboot ( #4509 )
...
* feat: flow reboot clean
* refactor: per review
* refactor: per review
* test: sqlness flow reboot
2024-08-05 13:57:48 +00:00
dennis zhuang
656050722c
fix: overflow when parsing default value with negative numbers ( #4459 )
...
* fix: overflow when parsing default value with negative numbers
* test: adds sqlness test
2024-07-31 07:41:49 +00:00
Yingwen
f382a7695f
perf: reduce lock scope and improve log ( #4453 )
...
* feat: refine logs for scan
* feat: improve build parts and unordered scan metrics
* feat: change to debug log
* fix: release lock before reading part
* test: replace region id
* test: fix sqlness
* chore: add todo
Co-authored-by: dennis zhuang <killme2008@gmail.com >
---------
Co-authored-by: dennis zhuang <killme2008@gmail.com >
2024-07-31 04:07:34 +00:00
Ruihang Xia
2d992f4f12
fix: check_partition uses unqualified name ( #4452 )
...
* fix: check_partition uses unqualified name
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
* update sqlness result
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
---------
Signed-off-by: Ruihang Xia <waynestxia@gmail.com >
2024-07-30 11:28:28 +00:00
taobo
1138f32af9
feat: support setting time range in Copy From statement ( #4405 )
...
* feat: support setting time range in Copy From statement
* test: add batch_filter_test
* fix: ts data type inconsistent error
* test: add sqlness test for copy from with statement
* fix: sqlness result error
* fix: cr comments
2024-07-29 16:55:19 +00:00
JohnsonLee
9a5fa49955
feat: support pg_namespace, pg_class and related psql command ( #4428 )
...
* feat: add function 'pg_catalog.pg_table_is_visible'q
* feat: add 'pg_class' and 'pg_namespace', now we can run '\d' and '\dt'!
* refactor: move memory_table::tables to utils::tables
* refactor: move out predicate to system_schema to reuse it
* feat: predicates pushdown
* test: add pg_namespace, pg_class related sqlness test
* fix: typos and license header
* fix: sqlness test
* refactor: use `expect` instead of `unwrap` here
* refactor: remove the `information_schema::utils` mod
* doc: make the comment in pg_get_userbyid more precise
* doc: add TODO and comment in pg_catalog
* fix: typo
* fix: sqlness
* doc: change to comment on PGClassBuilder to TODO
2024-07-28 12:04:54 +00:00
discord9
021ec7b6ac
feat(flow): flush_flow function ( #4416 )
...
* refactor: df err variant
* WIP
* chore: update proto version
* chore: revert mistaken rust-toolchain
* feat(WIP): added FlowService to QueryEngine
* refactor: move flow service to operator
* refactor: flush use flow name not id
* refactor: use full path in macro
* feat: flush flow
* feat: impl flush flow
* chore: remove unused
* chore: meaninful response
* chore: remove unused
* chore: clippy
* fix: flush_flow with proper blocking
* test: sqlness tests added back for flow
* test: better predicate for flush_flow
* refactor: rwlock
* fix: flush lock
* fix: flush lock write then drop
* test: add a new flow sqlness test
* fix: sqlness testcase
* chore: style
---------
Co-authored-by: dennis zhuang <killme2008@gmail.com >
2024-07-26 23:04:13 +00:00
dennis zhuang
0710e6ff36
fix: remove to_timezone function ( #4439 )
...
fix: remove to_timezone, it doesn't make sense
2024-07-26 07:40:07 +00:00
dennis zhuang
db3a07804e
fix: information_schema tables and views column value ( #4438 )
2024-07-26 07:39:58 +00:00
discord9
9fa9156bde
feat: FLOWS table in information_schema&SHOW FLOWS ( #4386 )
...
* feat(WIP): flow info table
refactor: better err handling&log
feat: add flow metadata to info schema provider
feat(WIP): info_schema.flows
feat: info_schema.flows table
* fix: err after rebase
* fix: wrong comparsion op
* feat: SHOW FLOWS&tests
* refactor: per review
* chore: unused
* refactor: json error
* chore: per review
* test: sqlness
* chore: rm inline error
* refactor: per review
2024-07-19 09:29:36 +00:00