Skip to content

v1.0.0

Compare
Choose a tag to compare
@BohuTANG BohuTANG released this 03 Mar 11:57
· 5886 commits to main since this release
2404959

What's Changed

Accepted RFCs ๐Ÿ›ซ

Exciting New Features โœจ

Thoughtful Bug Fix ๐Ÿ”ง

  • fix: sqllogic test hangs (cluster mod + clickhouse handler) by @dantengsky in #9615
  • fix: ensure there is page index while using page index to filter pages. by @RinChanNOWWW in #9629
  • fix(storage): fix range filter read stat with index by @b41sh in #9619
  • fix(query): fix management empty schema by @sundy-li in #9638
  • fix(planner): Fix stack overflow when applying RuleFilterPushDownJoin by @leiysky in #9645
  • fix: change cost of right semi join by @xudong963 in #9662
  • fix(query): fix hang when shutdown with metric api by @zhang2014 in #9666
  • fix(query): fix efficiently_memory_final_aggregator result is not stable by @zhang2014 in #9685
  • fix(query): fix max_result_rows only limit output results nums by @sandflee in #9661
  • fix(hive): may get wrong datablocks if not sorted by output schema by @sandflee in #9470
  • fix(tyck): fix missing simple_cast by @andylokandy in #9671
  • fix(storage): bloom filter is using wrong cache key by @sundy-li in #9706
  • fix(query): fix query hang in two level aggregator by @zhang2014 in #9694
  • fix(max_file_size): fix up max_file_size may oom by @BohuTANG in #9740
  • fix(query): fix and refactor aggregator by @sundy-li in #9748
  • fix(tsv): fix tsv field with whitespace by @ariesdevil in #9752
  • fix(metactl): when import data to meta-service dir, the specified "id" has to be one of the "initial_cluster" by @drmingdrmer in #9755
  • fix(chore): Fix flaky tests by @leiysky in #9759
  • fix(TSV): fix checking num of columns. by @youngsofun in #9758
  • fix(query): fix memory leak for data port by @zhang2014 in #9762
  • fix: Fix table_meta_cache can't be disabled by @Xuanwo in #9767
  • fix(jemalloc): fix not linux and macos jemalloc fallback to std by @BohuTANG in #9786
  • fix(query): fix panic when cast jsonb to string by @yufan022 in #9813
  • fix: add connection options ACCESS_KEY_SECRET. by @youngsofun in #9838
  • fix(procfs): fix on macos by @BohuTANG in #9858
  • fix(query): fix slow planner when ndv error backtrace by @zhang2014 in #9876
  • fix: order by contains aggregation function by @xudong963 in #9879
  • fix(query): remove finished flag for avoid lost block by @zhang2014 in #9883
  • fix(copy): fix not return error when copy by @ariesdevil in #9901
  • fix: prevent panic when delete with subquery by @xudong963 in #9902
  • fix(query): fix insert default value datatype by @sundy-li in #9816
  • fix(functions): fix nullable and or domain cal by @sundy-li in #9928
  • fix(functions): use and_filters instead of and in predicate by @sundy-li in #9932
  • fix: add time travel test for alter table by @lichuang in #9939
  • fix: type assertion failed on subquery by @xudong963 in #9937
  • fix(shuffle): parts was not distributed evenly. by @youngsofun in #9951
  • fix: enable outer join to inner join optimization by @xudong963 in #9943
  • fix(write_settings): change compression to TableCompression::default() by @BohuTANG in #9982
  • fix: fix sub-column of added-tuple column return default 0 bug by @lichuang in #9973
  • fix: Reduce the extra stat API in list operations by @Xuanwo in #10013
  • fix(privilege): add privileges on system.one to PUBLIC by default by @flaneur2020 in #10040
  • fix: fix limit pushdown outer join by @xudong963 in #10043
  • fix: fix add column update bug by @lichuang in #10037
  • fix(storage): new bloom filter that bind index with Column Id instead of column name by @zhyass in #10022
  • fix: ignore dropped column statistics by column id when reducing block statistics by @lichuang in #10051
  • fix(storage): wrong column statistics when contain tuple type by @zhyass in #10068
  • fix(cluster): fix limit query hang in cluster mode by @zhang2014 in #10006
  • fix: config checking for obsoleted config options table_cache_bloom_index_data_bytes by @dantengsky in #10077
  • fix(cluster): fix wrong error message 'abort query' by @zhang2014 in #10083
  • fix(storage): compact not work as expected with add column by @zhyass in #10070
  • fix: implementation of Default for config::CacheConfig should use values from inner::CacheConfig by @dantengsky in #10089
  • fix(expr): no longer return Variant as common super type by @andylokandy in #9961
  • fix: fix json parse timestamp when input is an integer by @ariesdevil in #10105
  • fix(expr): allow auto cast from string and variant by @andylokandy in #10111
  • fix: set tcp keepalive for mysql handler sockets by @dantengsky in #10141
  • fix: join build blocks bug by @xudong963 in #10140
  • fix: fix add column min\max stat bug by @lichuang in #10137
  • fix(cluster): possible distributed deadlock when two nodes close input at same time by @zhang2014 in #10154
  • fix: cargo machete by @b41sh in #10190
  • fix(meta): when starting up, it should not try to register until leader node to be sync-ed to local store by @drmingdrmer in #10194
  • fix: don't push down filter that contains derived column by @xudong963 in #10201
  • fix: fix parse timestamp for row based format by @ariesdevil in #10192
  • fix(query): fix query result cache system table by @ariesdevil in #10246
  • fix: UnaryOp +/- should have high Precedence in PrattParser. by @youngsofun in #10260
  • fix(query): fix view query from uri table function by @TCeason in #10241
  • fix(rfc): add references. by @RinChanNOWWW in #10267
  • fix(storage): optimize purge oom by @zhyass in #10257
  • fix: result_scan not set query_id when meta_key is none by @ariesdevil in #10300
  • fix(expr): resolve deadloop in #10216 by @andylokandy in #10287
  • fix(doc): typo. by @youngsofun in #10320

Code Refactor ๐ŸŽ‰

  • refactor: Refine on_error mode by @ariesdevil in #9473
  • refactor(parser): more strict parser for format_options. by @youngsofun in #9635
  • refactor(storage/index): make the storage/index more index by @BohuTANG in #9648
  • refactor(planner): remove PhysicalScalar by @andylokandy in #9587
  • refactor(geo): Refine geo base functions by @ariesdevil in #9650
  • refactor(planner): rename Scalar to ScalarExpr by @andylokandy in #9665
  • refactor: move build options table & add unit test by @PsiACE in #9670
  • refactor: refactor json path by @b41sh in #9693
  • refactor: cache layer by @dantengsky in #9672
  • refactor(io): move io constants to common/io by @BohuTANG in #9700
  • refactor(pruning):pruner.rs -> fuse_bloom_pruner.rs by @BohuTANG in #9710
  • refactor(io/read): refine fuse/io/read by @BohuTANG in #9711
  • refactor(fuse/pruning): make pruner hierarchy to chain by @BohuTANG in #9714
  • refactor: Avoid register_error_count in MetricsReader by @Xuanwo in #9744
  • refactor(ast/expr/planner): unify Span and Result by @andylokandy in #9713
  • refactor: remove unnecessary column data copy by @dantengsky in #9779
  • refactor(meta): do not remove the last node from a cluster by @drmingdrmer in #9781
  • refactor(meta/kvapi): KVApi should have an associated error type by @drmingdrmer in #9783
  • refactor(executor): merge simple pipe and resize pipe by @zhang2014 in #9782
  • refactor(meta): move kvapi to a standalone crate by @drmingdrmer in #9787
  • refactor(meta/kvapi): expose a single "kvapi" as public interface by @drmingdrmer in #9791
  • refactor(kvapi): remove dep common-base and common-exception; refine method names by @drmingdrmer in #9792
  • refactor: 'select from stage' use ParquetTable. by @youngsofun in #9801
  • refactor(kvapi): add KeyBuilder and KeyParser to build/parse str key by @drmingdrmer in #9822
  • refactor(kvapi): biuld key with KeyBuilder, instead of with raw "format!" by @drmingdrmer in #9831
  • refactor: ParquetTable list file in read_partition. by @youngsofun in #9871
  • refactor(cluster): split exchange source to reader and deserializer by @zhang2014 in #9805
  • refactor(metactl): when restoring a cluster from backup data, it does not require to specify grpc addresses by @drmingdrmer in #9878
  • refactor(query): rename some array functions add array_ prefix by @b41sh in #9886
  • refactor: Bump OpenDAL to v0.26 by @Xuanwo in #9897
  • refactor(meta): remove obsolete meta service api read_msg() and write_msg() by @drmingdrmer in #9891
  • refactor: TableArgs preserve info of positioned and named args by @youngsofun in #9917
  • refactor(meta): simplify UserAPI and RoleAPI by introducing a method update_xx_with(id, f: FnOnce) by @drmingdrmer in #9921
  • refactor(cluster): split and eliminate the status for exchange transform and sink by @zhang2014 in #9910
  • refactor(meta): move application level types such as user/role/storage-config to crate common-meta/app by @drmingdrmer in #9944
  • refactor(meta/kvapi): move kv req/reply types from meta-types to meta-kvapi by @drmingdrmer in #9950
  • refactor(cluster): use bounded channel for exchange by @zhang2014 in #9930
  • refactor: Introduction of FieldIndex and ColumnId types for clear differentiation of use by @lichuang in #10017
  • refactor: fix abuse of ErrorCode by @drmingdrmer in #10056
  • refactor: use transform_sort_merge use heap to sort blocks. by @RinChanNOWWW in #10047
  • refactor: refactor is_nested column node by @lichuang in #10078
  • refactor(meta/client): add compatible layer for upgrade by @drmingdrmer in #10082
  • refactor: save default values in FuseTable instead of BlockReader by @lichuang in #10099
  • refactor: Cmd::IncrSeq is never used, remove it by @drmingdrmer in #10102
  • refactor: move AppError from common-meta-types to common-meta-app; move KVAppError from common-meta-types to common-meta-api by @drmingdrmer in #10112
  • refactor: remove dependency of common-exceptionn from common-meta-types by @drmingdrmer in #10114
  • refactor: remove unused RaftService API: write() by @drmingdrmer in #10115
  • refactor(cluster): remove useless code by @zhang2014 in #10122
  • refactor(cluster): serde packet without utf-8 in cluster by @zhang2014 in #10124
  • refactor(query): use accumulating to impl single state aggregator by @zhang2014 in #10125
  • refactor(planner): apply constant folder at physical plan builder by @andylokandy in #9889
  • refactor(query): generic for aggregate hash table by @zhang2014 in #10131
  • refactor(query): use HashMethodBounds to simplify generics bounds by @zhang2014 in #10134
  • refactor(executor): destroy pull sink after pipeline finished by @zhang2014 in #10127
  • refactor(cluster): support exchange sorting by @zhang2014 in #10149
  • refactor: load and run old test suites when test query-meta compatibility by @drmingdrmer in #10153
  • refactor: Adopt OpenDAL query based metadata cache by @Xuanwo in #10162
  • refactor(executor): add check processor graph completed by @zhang2014 in #10166
  • refactor: Move compress related code into databend by @Xuanwo in #10177
  • refactor(cluster): support efficiently memory aggregate for cluster mode by @zhang2014 in #10151
  • refactor(meta): upgrade openraft to 0.7.4 by @drmingdrmer in #10221
  • refactor(query): refactor block meta and add block meta transform by @zhang2014 in #10234
  • refactor(meta): move AppliedState from crate raft-store to meta-types by @drmingdrmer in #10261
  • refactor(query): refactor aggregator by @zhang2014 in #10243
  • refactor(query): Remove the v2 suffix of structs by @TCeason in #10291
  • refactor(query): Drop useless setting by @TCeason in #10307

Build/Testing/CI Infra Changes ๐Ÿ”Œ

Documentation ๐Ÿ“”

Others ๐Ÿ“’

New Contributors

Full Changelog: v0.9.0-nightly...v1.0.0-nightly