Skip to content
This repository has been archived by the owner on May 6, 2024. It is now read-only.

Releases: intel/BDTK

v0.9.0

28 Oct 06:51
e699dc1
Compare
Choose a tag to compare
    Release Notes - BDTK - Version 0.9.0

Improvement

  • [Doc] One fix for developer doc
  • [Code refactor] Remove CiderExecutionKernel from cider module
  • [M2] [Integration] VeloxToSubstrait- support variadic function lookup
  • Support partial avg check in Velox with old Cider data format
  • Support complex data print in CiderBatch

Bug

  • DISABLE_FAILED_UT option doesn't take affect
  • [VP_Cider_Op_Fil_Proj_Integration] fix values node issue
  • [VP_Cider_Op_Fil_Proj_Integration] Fix ciderbatch issue to allow mulit-rows results in filter/project cases
  • [VP_Velox_plan_2_Substrait]Change the emit order of projectNode
  • [Cider_Substrait_2_EU] Fix EU generator issue in filter case
  • [ Cider_runtime_proj_fil_module]Fix CiderRuntimeModule bugs to get correct outBatch in filter case
  • [ VP_Cider_data_format_convertor ] Fix bugs caused by changes from Velox, e.g., "cdvi::EMPTY_METADATA"
  • Build fails with macro error in eu-mocker
  • [VP_Cider_Op_Integration] Remove CiderPlan constructor with VeloxPlan as parameter
  • [Bug] return wrong number of columns after processNextBatch
  • Don't generate groupby skip mask code for project only case
  • velox-plugin can't properly handle the representation of null in BDTK
  • Set Column range bug for project case
  • Set Column range bug for project case
  • Different inner join behavior for JOIN ON clause and where clause
  • Bug for query with multiple agg functions.
  • [Velox2Substrait] fix convertor problems in project AS
  • incorrect col index update
  • Groupby result is empty when key is "CASE...WHEN.."
  • CiderOperatorBenchmark change to use CiderVeloxPluginCtx transform plan
  • Incorrect CiderOperator initialize
  • Init folly in CiderOperatorTest
  • Fix issues in String support
  • Unsupport tinyint and smallint simple qual filter
  • Mathematical Op divide zero and overflow
  • Mathematical Op decimal constant support
  • CiderBatch data lost after a turn around in simple method
  • Fix the error about return value of partial avg
  • Fix avg with null value
  • Fix bug by TPC-H Q21
  • fix bug 'Clone velox plannode:Not supported velox plannode type.'
  • Not properly handled when fetchResults Return Empty CiderBatch
  • Use join substrait plan converter instead of hardcode in cider op
  • between...and... scalar function date type support
  • enable some TPC-H queries
  • verify_function_ir bugfix
  • Incorrect non-encoding string conversion
  • core dump when string op is used to filter
  • fix bug of "not a scalar type! kind: ARRAY"
  • fix bug in CiderAggHashTable::fillColsInfo, which group_target_offset_ calculation block not called
  • incorrect filter result because of null varchar and len 0 varchar
  • Fix bug of PlanPattern write race under multi-threading
  • Fix bug of "Remove folly::split of function look up"
  • Fix Old CiderBatch Memory Allocation for Group-By Result Fetching
  • fix bug of construct col name in substrait to eu
  • call loadedVector if DictionaryVector is a lazy vector

Epic

  • Separate prototype code into different repos
  • Substrait Plan Builder
  • The convertor between velox and substrait
  • RelAlgExecutionUnit generator based on substrait
  • Data convertor
  • Join - Velox plugin integration (including operator fusing)
  • Modular_SQL test framework
  • [Infrastructure] Support Join End 2 End in Cider (from presto_cpp to cider)
  • [Infrastructure] Support Agg End 2 End in Cider (from presto_cpp to cider)
  • [Infrastructure] Support filter/project End 2 End in Cider (from presto_cpp to cider)
  • Function/type system support using Velox alpha release (TPC-H)
  • [Functionality] Primary Data Type Support: integer,bigint,decimal,real,double,boolean
  • [Functionality] Operation&Function Support: Logical Ops, Compare Ops etc.
  • [Functionality] RelAlg Op Support: Filter, Project covering all TPC-H cases
  • [Test] Testcase Development for MileStone1 Features
  • [Infrastructure] Consolidate jit-engine branch with Cider
  • [Customer] Integrate native functions provided by ADB into Codegen framework (e.g., expr eval)
  • [Functionality] Primary Data Type Support:String,DataTime
  • [Functionality] Operation&Function Support:Compare Op( between…and) etc.
  • [Functionality] RelAlg Op Support:Agg with having etc.
  • [ Upstream ] Velox-2-Substrait util to Velox repo
  • [Infrastructure] Replace BDTK internal format representation with Velox format
  • [ Infrastructure ] Implement an expr evaluation module
  • [ Documentation ] Implement a API user doc
  • Code Refacator
  • [M2][Functionality][Expr-AggFunctions] Expr - Aggregate Functions
  • [M2][Functionality][JoinOp] Join Ops
  • [M2][Functionality][AggOp] Aggregate Ops
  • [M2][Functionality][Expr-ScalarFunctions] Expr - Scalar Functions
  • [M3] [Code Refactor][Placeholder] Product Improvement

Story

  • BDTK code gen module refactor design
  • Arrow Data convertor impl of varchar/nested data type
  • Port code from presto-java to presto-cpp
  • BDTK Codegen deep dive
  • Investigate agg in velox and BDTK
  • CompileWorkUnit API impl
  • Test Framework about Velox-Arrow-BDTK data type converter
  • Parse the Presto query json log
  • Presto performance projection per query w/ ops break down
  • investigate/analyzing mapping info between velox Plan Node and substrait relations
  • Support Q6 in Execution Unit generator
  • Velox BDTK data transfer micro benchmark
  • Integrate cider into velox UT
  • Impl the IR converter between substrait and velox in SubstraitIRConverter.cpp
  • abstract hash table from BDTK
  • Investigate the velox-substrait plan node translation
  • Support fallback in execution unit generator
  • Data convertor(velox::RowVectorPtr -> BDTK )
  • integration - Agg(blocking op) work flow
  • CICD system setup
  • Data Conversion Utils Implement for Velox and BDTK
  • noisepage investigation
  • Debug failing unit tests in velox and BDTK
  • fix results of query/ data with Null value
  • UT could pass but clean up stage have memory related issues.
  • create getting started guidance for BDTK+velox
  • create dockerfile for BDTK + velox
  • rebase velox change to upstream latest
  • presto tpch queries plan fragment pattern
  • velox driver workflow
  • Setup pre-commit check
  • enable github actions for BDTK
  • Seprate module into deifferent repo
  • rebase the substrait code to align with upstream
  • pre-commit check migration to github action for velox plugin
  • check title and code style
  • update substraitRel to meet our requirements
  • Refine Cider module API
  • check license header
  • E2E workflow integration
  • Design for substrait plan builder
  • Support substrait FilterRel in RelAlgExecutionUnit generator passing "select l_suppkey, l_quantity from lineitem where l_orderkey > 10"
  • fix bugs in pr-title-checker and license-header-checker
  • Velox Plan Transformer: A Pattern Match - Rewriter Framework
  • Code refactor in Substrait to Velox plan util seperate type, function,expr + operator convertors
  • update dockerfile
  • update velox URL for ci
  • BDTK JOIN investigation
  • Generate explanation document for the investigation result of Jacques’s code
  • Arrow data convertor utils for timestamp support
  • Detail design for velox BDTK hash join
  • Rebase to substrait latest version and using index based
  • Data convertor round trip string support Velox type to BDTK type (non-encoding)
  • Group by prototype aggregation support (BDTK ResultSet provider, Velox hybrid operator integration)
  • Complete TPC-H Q6 prototype to product (veloxPlugin->BDTK codegen API refactor and pass UTs )
  • Test plan + execution plan + design for Modular_SQL (Presto Java + Presto_cpp + Velox_plugin + Velox)
  • Generate a CiderOperator prototype with Hash Join with Velox Plan Node contains JoinNode validated by plan node mocking join bridge
  • BDTK Join API
  • BDTK col_buffer internal layout investigation
  • Data convertor code/API refactor with CiderBatch (new API adapter)
  • BDTK Join API implements including code refactor to support build hash table with one use case
  • Agg support in substrait2EU covering (agg + group by) without count distinct
  • update submodule in ci
  • Integration test with velox-substrait and substrait-eu: filter + project
  • Special semantics support in substrait2EU (between/and, count(*))
  • Upstream Velox-To-Substrait code to velox repo (filter+ project)
  • Using Yaml File to do the Function Convertor in velox-substrait utils
  • CI maintain
  • Presto-cpp/velox-plugin/BDTK Integration TPC...
Read more