V0.0.3
We are happy to release Kùzu 0.0.3. This release comes with the following new main features and improvements:
- Kùzu as a Pytorch Geometric (PyG) Remote Backend: You can now train PyG GNNs and other models directly using graphs (and node features) stored on Kùzu. See this Colab notebook for a demonstrative example.
- Data ingestion from multiple files and numpy files.
- Query optimizer improvements.
- New buffer manager.
- INT32, INT16, FLOAT, and FIXED LIST data types (the latter is particularly suitable to store node features in graph ML applications)
- Query timeout mechanism and interrupting queries from CLI.
See our blog post for more details. Enjoy your reading and don't forget to pip install kuzu
!
What's Changed
- Update readme by @andyfengHKU in #1285
- Add internal offset function by @andyfengHKU in #1291
- Decouple group pos between operator and planner by @andyfengHKU in #1290
- Rename config to constants by @ray6080 in #1293
- Unify logger create, get, and drop by @ray6080 in #1294
- Add collect agg function by @acquamarin in #1292
- Add CI and slack badge to README by @ray6080 in #1300
- Fix
getRelPropertyNames
result by @mewim in #1301 - Fix build issue on Arch Linux by @mewim in #1304
- Add Python API binding for prepared statement by @mewim in #1305
- Factorization rewriter by @andyfengHKU in #1307
- Add Fixed-list DataType to System by @acquamarin in #1298
- Arithmetic function framework refactor by @acquamarin in #1312
- Fix #998 by @ray6080 in #1315
- Fix tensor bug by @acquamarin in #1318
- Hash join build projection push down by @andyfengHKU in #1319
- Replace getRawName with toString by @andyfengHKU in #1324
- Simplify mask struct by @ray6080 in #1320
- Implement float(alias: REAL) dataType by @acquamarin in #1321
- Add twitter badge to readme by @ray6080 in #1326
- Sink projection push down by @andyfengHKU in #1325
- Add INT16,INT32 datatype by @acquamarin in #1328
- Fix logo by @mewim in #1330
- Add remove unnecessary join optimizer by @andyfengHKU in #1329
- Fix issue 1323 by @acquamarin in #1331
- Add CLA by @ray6080 in #1334
- Add logical operator visitor by @andyfengHKU in #1333
- Solve format string vulnerability by @acquamarin in #1335
- Remove csv reader by @mewim in #1341
- Fix min/max agg function on string column BUG by @acquamarin in #1342
- Remove jo connection by @andyfengHKU in #1348
- Fix benchmark query by @acquamarin in #1349
- Fix plan deep copy by @andyfengHKU in #1345
- Patch c str api by @andyfengHKU in #1353
- Update slack link by @ray6080 in #1354
- Refactor FT interface by @acquamarin in #1351
- Change databasePath to positional argument by @acquamarin in #1350
- Fix drop node property bug by @acquamarin in #1356
- Fix empty list bug by @acquamarin in #1358
- Flat schema by @andyfengHKU in #1357
- Bump benchmark threads to 10 by @mewim in #1337
- Asp optimizer rework by @andyfengHKU in #1361
- Add support to copy multiple csv files by @acquamarin in #1363
- Multi key asp by @andyfengHKU in #1364
- Separate FileHandle and BufferManagedFileHandle by @ray6080 in #1365
- Add asp for wcoj by @andyfengHKU in #1366
- Multi label asp by @andyfengHKU in #1370
- Sequential read for StringPropertyList by @rfdavid in #1327
- Add glob support to copycsv by @acquamarin in #1376
- Add test coverage report to CI by @acquamarin in #1378
- Add codecov badge by @mewim in #1380
- Fix codecov link & reorder badge by @mewim in #1381
- Add support to copy from multiple parquet files by @acquamarin in #1377
- Multi scans asp by @andyfengHKU in #1375
- Remove bm resize interface by @ray6080 in #1382
- Rework BM to unify the physical memory usage of BM and MM by @ray6080 in #1368
- Factorization aware dp by @andyfengHKU in #1384
- Fix issue 1385 by @andyfengHKU in #1387
- Implement query interruption by @acquamarin in #1389
- Change cypher comment rule by @acquamarin in #1403
- Add query timeout mechanism by @acquamarin in #1395
- Fix ctrl-D by @acquamarin in #1402
- Filter push down by @andyfengHKU in #1397
- Separate WAL page idx lock from page lock in BMFileHandle by @ray6080 in #1398
- Encode plan when inserting to dp table by @andyfengHKU in #1406
- Add min/max agg function support for more types by @acquamarin in #1410
- Refactor index nested loop join planning by @andyfengHKU in #1411
- Copy node tables from npy files by @mewim in #1396
- BM optimistic reads by @ray6080 in #1409
- Fix hash index slot alignment by @ray6080 in #1414
- Cardinality est by @andyfengHKU in #1415
- Add python APIs by @acquamarin in #1423
- Rework asp optimizer by @andyfengHKU in #1417
- Optimize copy node memory usage by @ray6080 in #1425
- Populate by column by @acquamarin in #1424
- Fix copy invalid filepath by @acquamarin in #1426
- Add limit to TENSOR size by @acquamarin in #1427
- Numerical downcast by @andyfengHKU in #1429
- Fix issue 1428, 1408 by @andyfengHKU in #1430
- Remote backend for PyG by @mewim in #1418
- Add storage version info by @acquamarin in #1436
- change copy from npy keyword by @andyfengHKU in #1438
- Add python bindings for new types by @mewim in #1440
- Fix bm file handle remove pages in eviction queue by @ray6080 in #1431
- Change npy copy grammar by @andyfengHKU in #1441
- Fix copy options case by @acquamarin in #1447
- Fix pyg
getAllEdgesForTorchGeometric
by @ray6080 in #1442 - Fix hash vector creation in hj by @andyfengHKU in #1449
- Get version from CMakeLists for Python build by @mewim in #1450
- Remove
spdlog/fmt
from header by @mewim in #1451 - On demand import for PyG by @mewim in #1452
- Remove unused np by @mewim in #1453
New Contributors
Full Changelog: v0.0.2...v0.0.3