V0.0.9
Welcome to Kùzu 0.0.9! In this release, we've introduced following main improvements and features:
- Supported LOAD FROM, which directly evaluate queries over CSV/Parquet files without loading into database.
- Replaced the
beginReadTransaction()
,beginWriteTransaction()
,commit()
androllback()
APIs in all language bindings with cypher statements. - Supported comments on tables.
- Expand recursive rel pattern and enables projection on intermediate nodes and rels.
- Introduced
CREATE REL GROUP
. - Introduced a set of new data types (e.g.,
INT8
,UINT64
,UINT32
,UINT16
,UINT8
) and related casting functions. - Replaced arrow's CSV and Parquet reader with new customized one.
- Introduced bitpacking compression for integers.
As always, we have more details in our blog post. Enjoy your reading!
What's Changed
- Refactor order by compilation by @andyfengHKU in #1971
- Implement #1959 by @mewim in #1974
- Remove currIdx from DataChunkState by @andyfengHKU in #1966
- Add snap amazon and twitter for copy tests by @ray6080 in #1969
- Reader function refactor by @acquamarin in #1979
- Skip reading null data if the property is known to have no nulls by @benjaminwinger in #1945
- Add CREATE RDF GRAPH ddl statement by @andyfengHKU in #1984
- Reader compilation refactor by @andyfengHKU in #1985
- Fix aggregate rel bug by @andyfengHKU in #1987
- Expression Constant Folding by @andyfengHKU in #1989
- configure CI workflow for Ubuntu 20.04 LTS by @russell-liu in #1991
- Move CopyRel to query processing pipeline by @ray6080 in #1990
- Change copy morsel size back to DEFAULT_VECTOR_CAPACITY by @acquamarin in #1992
- share build cache when building rust API and the example project by @russell-liu in #1995
- Log errors for serializer by @mewim in #1998
- Fix issue 1915 by @ray6080 in #2001
- Implement csv reader by @acquamarin in #1988
- Fix test logging level by @acquamarin in #1997
- Support defining multiple FROM TO in CREATE REL TABLE GROUP by @andyfengHKU in #2009
- Transaction statement by @andyfengHKU in #2012
- Remove blocks counting in copying rel pipeline by @ray6080 in #2013
- Add arrow feature to rust example so that it can re-use the test build in CI by @benjaminwinger in #2002
- Split catalog table schemas by @andyfengHKU in #2020
- Add test cases match3/4 and new feature "--" by @AEsir777 in #2016
- Add INT8 type by @Ashleyhx in #1994
- Update README.md by @semihsalihoglu-uw in #2024
- Rel group query by @andyfengHKU in #2023
- Add turtle file type, refactor copy compilation by @andyfengHKU in #2026
- Arrow schema fixes by @benjaminwinger in #2019
- Fix cmake configuration by @yixinglu in #2022
- Implement Commenting on Tables by @Riolku in #2011
- Implement copy node rdf by @acquamarin in #2028
- finish range literal [*] [2] [..] [2..] [..2] by @AEsir777 in #2027
- Add int8 supported functions by @Ashleyhx in #2030
- Refactor exception.h by @Riolku in #2006
- Remove
types_include.h
by @Riolku in #2008 - Fix create node on empty table by @acquamarin in #2034
- Splitup value.h by @Riolku in #2025
- Don't self-initialize schema comments by @benjaminwinger in #2038
- Upgrade ANTLR4 runtime by @Riolku in #2040
- Add include guards to all headers by @Riolku in #2042
- Add win32 access violation handler to buffer manager by @benjaminwinger in #2035
- Transaction test rewrite by @hououou in #2029
- Implement copy rdf rel table by @acquamarin in #2033
- Solve issue-1983 by @andyfengHKU in #2044
- Refactor copy compilation by @andyfengHKU in #2043
- Replace CopyDescription with CSVReaderConfig for storage classes. by @andyfengHKU in #2046
- Rename logical operator dir by @ray6080 in #2047
- allow node bound to include 0 [*0..4] by @AEsir777 in #2041
- Support Parquet filetype on COPY TO by @rfdavid in #1893
- Refactor reader functors by @andyfengHKU in #2049
- Rewrite transaction test by @hououou in #2053
- Refactor node table to take in columnID instead of propertyID by @ray6080 in #2054
- Use a different schema for each RecordBatch in python getAsArrow by @benjaminwinger in #2055
- Restructure storage directory by @ray6080 in #2056
- Expose rel label for Python and Node.js API by @mewim in #2060
- add unsigned int types by @Ashleyhx in #2045
- Load from csv by @andyfengHKU in #2052
- range() function by @AEsir777 in #2058
- Allow dev version of Python wheels to be built and published by @mewim in #2066
- Rename logicalScanNode to logicalScanInternalID by @andyfengHKU in #2067
- Add abstraction of TableData by @ray6080 in #2072
- Rework table statistics ser/deser by @ray6080 in #2073
- Move metadataDAHInfo from catalog to statistics by @ray6080 in #2074
- Reorganize stat files by @ray6080 in #2075
- Copy FROM brackets have optional whitespace by @OTooleMichael in #2078
- Abstract Compression interface and initial integer packing by @benjaminwinger in #2004
- Rdf predicate iri processing by @andyfengHKU in #2071
- Implement parquet-reader by @acquamarin in #2076
- Remove arrow from npy reader by @acquamarin in #2086
- Add direct scan on parquet by @andyfengHKU in #2088
- Bitpack VAR_LIST offset data by @benjaminwinger in #2084
- Fix bounds check in integer bitpacking by @benjaminwinger in #2091
- Fix warning by @acquamarin in #2094
- Fix list reader bug by @acquamarin in #2090
- Add direct scan npy, add where predicate in LOAD FROM by @andyfengHKU in #2093
- Refactor ALTER statement by @andyfengHKU in #2097
- miniparquet: Define HAVE_STDINT_H by @Riolku in #2101
- finish list_product by @AEsir777 in #2069
- Add DDL to rel group by @andyfengHKU in #2103
- Fix add-prop by @acquamarin in #2100
- Int8 and Int16 bitpacking by @benjaminwinger in #2085
- Clean up arrow code in node column chunk and copy node by @ray6080 in #2104
- Fix copy to csv by @acquamarin in #2108
- Fix update bugs by @ray6080 in #2098
- reader: implement parallel CSV reading by @Riolku in #2070
- reader: remove moved constant from Parallel CSV by @Riolku in #2110
- copy: use string_view to avoid a copy by @Riolku in #2112
- add numerical types for APIs by @Ashleyhx in #2105
- add castString in functions by @AEsir777 in #2092
- upload benchmark copy query times to benchmark server by @russell-liu in #2099
- Change slot capacity by @ray6080 in #2111
- Add overflow check for casting by @acquamarin in #2114
- reader/csv: Use binary mode on Windows by @Riolku in #2121
- Explicit exports by @benjaminwinger in #2118
- Fix map creation by @ray6080 in #2113
- Recursive join projection push down by @andyfengHKU in #2120
- reader/csv: sniff column name and type by @Riolku in #2116
- finish cast to bool by @AEsir777 in #2119
- Add load from with headers by @andyfengHKU in #2123
- Add Linux aarch64 build pipelines by @mewim in #2122
- Add documentation example to test by @andyfengHKU in #2125
- Fix table function by @acquamarin in #2127
- Fix recurrsive join test by @acquamarin in #2128
- Add enable_semi_mask option by @acquamarin in #2129
- Inline generated export headers by @benjaminwinger in #2124
- Ignore imports and exports in the static rust build by @benjaminwinger in #2130
- try fix header by @andyfengHKU in #2131
- Update begin trasaction syntax by @ray6080 in #2126
- improve recursive join projection by @andyfengHKU in #2132
- Optional Compression by @benjaminwinger in #2102
- Remove function exports/imports for inlined Value functions by @benjaminwinger in #2134
- Fix non-bundled rust build by @benjaminwinger in #2133
- Bump version to v0.0.9 by @ray6080 in #2135
New Contributors
- @russell-liu made their first contribution in #1991
- @AEsir777 made their first contribution in #2016
- @Ashleyhx made their first contribution in #1994
- @yixinglu made their first contribution in #2022
- @Riolku made their first contribution in #2011
- @hououou made their first contribution in #2029
- @OTooleMichael made their first contribution in #2078
Full Changelog: v0.0.8...v0.0.9