Repository navigation
·
20 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
What's Changed
- fix(storage): refresh node group scan state after a checkpoint by @kory-io in #1094
- fix(storage): validate disk array and overflow page indices by @kory-io in #1095
- fix(aggregate): return [] instead of null for collect() on empty/all-null input by @adsharma in #1100
- c_api: add lbug_value_create_blob function to C API by @Tyagiquamar in #1103
- fix(binder): allow implicit cast STRING -> UUID (fixes #1102) by @adsharma in #1106
- feat: minimal engine enablers for the GQL extension (incl. standalone-call rewrite batch fix) by @chiangchenghsin-hash in #1104
- fix(storage): harden checkpoint crash recovery by @aikins01 in #1099
- fix(storage): harden checkpoint crash recovery (fixes #1098) by @adsharma in #1107
- fix(storage): detect stale pre-0.21 string hash indexes loudly (Fixes #1092) by @adsharma in #1108
- fix(storage): don't zero CSR header and length-chunk buffers by @zahariash in #1114
- fix(storage): bounds-check disk array updates in release builds by @kory-io in #1115
- fix(csv): remove shadowed variable in dialect detection by @adsharma in #1124
- Grouped aggregate over variable-length paths without materializing walks by @adsharma in #1080
- fix(planner): range selectivity from observed column min/max by @adsharma in #1126
- fix(posix): query F_GETLK before close and split lock error messages by @adsharma in #1131
- fix(processor): keep the child's selection vector intact in hash join build by @zahariash in #1119
- fix(opt): skip grouped reachable-count rewrite with rel predicate by @adsharma in #1133
- fix(storage): clean stale spill file lazily after lock is held by @adsharma in #1132
- fix(gds): emit single length-0 row when closed walks fail node predicate by @adsharma in #1134
- fix(storage): drop unused selVector capture in ColumnStats::updateMinMax by @adsharma in #1138
- fix(storage): keep rel scans on the CSR state they started with by @kory-io in #1116
- fix(test): make vfs + checkpoint tests work on Windows by @adsharma in #1139
- fix(planner): slim scalar-seeded chain for correlated PK equalities by @adsharma in #1125
- fix(storage): pad uncompressed flush buffer to allocated page range on disk by @Tyagiquamar in #1091
- fix(processor): don't re-materialize probe-side exprs as join payloads by @adsharma in #1137
- fix(processor): do not compact flat join keys' selection vectors on null by @zahariash in #1141
- fix(binder): allow aggregating a value derived from an earlier aggregate by @zahariash in #1118
- fix(wal): tag WAL records with their owning catalog and route replay per owner by @aikins01 in #1113
- fix(fs): resolve UTF-8 paths as Unicode on Windows by @es-alficody in #1144
- fix(storage): version column min/max stats as STORAGE_VERSION_48 by @adsharma in #1150
- fix(processor): null the current row when SET returns a NULL value (fixes #1136) by @Tyagiquamar in #1146
- perf(wal): cache last owner catalog across replayed records by @aikins01 in #1147
- feat(binder): fold arithmetic identities to expose index scans by @adsharma in #1151
- feat(function): add list_has_any for list overlap checks by @mvanhorn in #1154
- perf(transaction): resolve a node's local row with one local-table lookup by @aikins01 in #1155
- fix(planner): resolve segfault in mapExpressionsScan when enable_plan_optimizer is false (fixes #1142) by @Tyagiquamar in #1148
- chore(planner): add an explanatory comment by @adsharma in #1167
- fix(main): reset useInternalCatalogEntry on exception paths (fixes #1162) by @adsharma in #1164
- feat(function): add list_min and list_max for list extrema by @mvanhorn in #1157
- fix(catalog): look up replayed macro drops in the macros set (fixes #1163) by @adsharma in #1165
- fix(table): reset file-scan shared state on cached plan reuse (fixes #1161) by @adsharma in #1168
- fix(prepared): rebind cached plans when catalog version changes (fixes #1158) by @adsharma in #1169
- fix(wal): remove storage index holder when replaying DROP INDEX (fixes #1152) by @adsharma in #1166
- fix(catalog): guard columnIDs against checkpoint vacuum race (fixes #1160) by @adsharma in #1170
- perf(binder): leave large constant lists unfolded by @zahariash in #1189
- fix(parquet): do not write field values for a NULL STRUCT by @zahariash in #1178
- fix(arrow): keep child arrays aligned for NULL nested values by @zahariash in #1179
- fix(storage): read ART primary-key indexes written by 0.17 by @zahariash in #1180
- fix: read fields of a NULL STRUCT as NULL by @zahariash in #1181
- Fix CSR is_sorted assertion on scan after failed checkpoint (#1140) by @Abhipsita-coder in #1183
- fix(binder): keep folding lists written out in the query by @zahariash in #1191
- fix(storage): index checkpoint columns by position after a dropped column by @zahariash in #1193
- fix(storage): keep checkpointed relationships when a failed COMMIT rolls back by @zahariash in #1195
- fix(wal): replay DROP_PROPERTY storage epoch bump on crash recovery by @adsharma in #1196
- fix(parquet): fail loudly on INT128 and microsecond-precision INTERVAL export by @adsharma in #1200
- fix(pk-index): probe legacy sub-index for stale non-ASCII STRING PKs by @adsharma in #1201
- fix(partition): rebuild partitioned tables on crash WAL replay by @adsharma in #1203
- fix(storage): route PK index slot writes through the shadow file (fixes #1159) by @adsharma in #1204
- fix(optimizer): keep all operands and respect NULL under NOT in bool folding by @zahariash in #1206
- fix(test): link registry-mutating test extension against lbug_shared on Windows by @adsharma in #1212
- chore(submodules): update submodules to latest main by @adsharma in #1216
- fix(txn): retain MVCC versions across checkpoint for open readers by @adsharma in #1209
- fix(txn): retain pre-checkpoint CSR snapshots for parked readers by @adsharma in #1213
- fix(txn): pin WAL retirement on the snapshot horizon; tolerate missing shadow on recovery by @adsharma in #1214
- fix(core): clean up attached-database state on DETACH by @adsharma in #1229
- fix(optimizer): cascade bool folding through NOT and nested ORs by @zahariash in #1219
- fix(binder): give each random() and gen_random_uuid() call its own column by @zahariash in #1235
- perf(function): compile a regexp pattern once while it stays the same by @zahariash in #1237
- fix(binder): don't re-evaluate a WITH aggregate referenced inside a CASE by @zahariash in #1245
- fix(processor): count(*) over a rel table ignores rels committed after the transaction began by @zahariash in #1198
- chore(deps): bump extension submodule for SQLite CDC stack by @adsharma in #1231
- fix(txn): close PR 1209 review leftovers (horizon gap, CSR scan pin, shadow marker) by @adsharma in #1230
- docs(main): pin ClientContext::interrupt() as async-signal-safe by @zahariash in #1222
- perf(processor): copy Intersect's right-hand lists into a buffer sized once by @zahariash in #1256
- fix(function): ignore NULL list elements in list_contains/list_position by @zahariash in #1218
- fix(binder): let ORDER BY name an aliased projection item by its expression after aggregation by @zahariash in #1243
- fix(processor): rel count(*) miscounts or segfaults across another connection's checkpoint by @zahariash in #1250
- fix(main): rebind cached plans after a checkpoint renumbers column IDs by @zahariash in #1259
- perf(storage): reuse freed node-group-sized buffers across queries by @zahariash in #1254
- perf(storage): sum rel degrees in one pass instead of building a hash map by @zahariash in #1239
- docs: list the remaining make build options and how to build like a release by @zahariash in #1257
- perf(processor): grow Intersect's right-hand buffer instead of trusting its size by @zahariash in #1260
- fix(processor): subtract rel deletions that sit behind CSR gaps from count(*) by @zahariash in #1261
- perf(storage): apply a sparse semi-mask before a node scan reads its columns by @zahariash in #1264
- Fix issues 1223-1225: CREATE label requirement, GDS signature hint, typo by @adsharma in #1265
- fix(storage): make DiskArray WriteIterator exception-safe during checkpoint by @adsharma in #1273
- fix(sanitizers): resolve ASan + TSan nightly failures by @adsharma in #1271
- fix(build): add /bigobj for MSVC to fix C1128 on checkpoint_test by @adsharma in #1269
- perf(main): reuse the plan of a statement prepared without parameter values by @zahariash in #1233
- perf(storage): decode only the CSR header span a rel scan's bound nodes need by @zahariash in #1268
- perf(storage): decide the early semi-mask per batch by @zahariash in #1272
- chore(storage): pin MemoryManager's buffer-reuse invariants by @zahariash in #1270
- fix(build): pin OpenSSL to 3.x and fix httplib for OpenSSL 4 by @adsharma in #1275
- chore(submodules): update to latest main by @adsharma in #1276
- fix(ci): pin macOS precompiled-bin builds to OpenSSL 3 by @adsharma in #1277
- fix(ci): pin macOS Java build to OpenSSL 3 by @adsharma in #1278
- chore(submodules): sync extension to latest main by @adsharma in #1279
- fix(ci): pin macOS Node.js build to OpenSSL 3 by @adsharma in #1281
- fix(mapper): fall back from packed filtered count when a predicate input is computed by @itz-puneet in #1280
- fix(planner): give a re-evaluated expression its own slot in the group by @zahariash in #1283
- fix(storage): skip chunks on a cast column only when the cast keeps its stats by @zahariash in #1284
- feat(planner): lookup join for inner equi-joins on node ID by @adsharma in #1285
- fix(binder): keep a variable's name when an arithmetic identity returns it by @zahariash in #1288
- fix(binder): give a new aggregate its own name when an earlier clause has it by @zahariash in #1289
- fix(storage): read CSR length via Column in getDegreeForOffset by @adsharma in #1295
- perf(processor): remove per-execute mallocs on prepared-statement fast path by @adsharma in #1286
- perf(processor): zero factorized table blocks as tuples are claimed by @zahariash in #1300
- fix(storage): make rel degree counts and count(*) match the scan by @zahariash in #1314
- fix(types): format negative decimals with fewer digits than scale by @adsharma in #1315
- perf(storage): filter on cheap scan predicates before reading strings and lists by @zahariash in #1322
- fix(ci): retry Chocolatey installs and DuckDB release downloads by @zahariash in #1324
- chore(extensions): Bump extension version to 0.22.0 and sync submodules by @adsharma in #1334
- chore(extensions): bump extension for icebug 13.5 + GDS_PARALLEL_CORE_DECOMPOSITION by @adsharma in #1336
- fix(ci): pin Linux builds to libarrow.so.2600 by @adsharma in #1339
- perf(processor): run a one-thread task on the calling thread by @zahariash in #1297
- perf(binder): count a node's primary key as its internal id by @zahariash in #1310
- fix(ci): download arch-specific DuckDB macOS builds by @adsharma in #1344
- chore(extensions): bump submodule to DuckDB 2.0.0 fixes by @adsharma in #1345
- perf(parser): append sorted intervals without scanning the set by @zahariash in #1302
- fix(graph): skip deleted rows in on-disk vertex scan chunks by @zahariash in #1320
- fix(copy): rollback rel COPY without dropping committed rows by @Tyagiquamar in #1308
- fix(processor): zero tuples handed out again after a shrinking resize by @zahariash in #1323
- perf(storage): pause the early scan filter on dense in-memory batches by @zahariash in #1325
- fix(ddl): DROP MACRO finds non-ASCII names and IF EXISTS returns on a missing macro by @zahariash in #1328
- fix(c_api): cast mixed-width integers to the common type of a list or map by @zahariash in #1330
- ci: build Linux tests once with -g1, save ccache only from finished runs by @zahariash in #1348
- fix(storage): guard CSR index reads and skip unseen deletes in degree paths by @zahariash in #1331
- fix(storage): copy a pinned CSR index before appending rels to it by @zahariash in #1333
- fix(storage): lock a rel table's columns while checkpoint and ADD change them by @zahariash in #1338
- fix(storage): stop multi-hop scans losing rels after a node with no rel node group by @zahariash in #1342
- perf(storage): decode sparse CSR headers in clusters and bound the neighbour refill by @zahariash in #1294
- chore(submodules): sync to origin/main by @adsharma in #1356
- fix(storage): stop CHECKPOINT crashing when it keeps a long string for a reader by @zahariash in #1355
- test(storage): pin how much of the CSR header a rel scan decodes by @zahariash in #1359
- fix(parser): preserve negative sign in integer and double literal raw names by @Tyagiquamar in #1351
- fix(export): preserve column default expressions in exported cypher schema by @Tyagiquamar in #1360
- fix(copy): populate secondary indexes during node batch insert by @Tyagiquamar in #1350
- fix(vector): give every string vector a memory manager and assert it by @zahariash in #1368
- fix(optimizer): drop the rows where MATCH re-binds a node that OPTIONAL MATCH left NULL by @zahariash in #1362
- fix(planner): cap a lookup join by its flat outer rows by @zahariash in #1370
- perf(processor): keep Intersect's per-tuple scratch buffers on the operator by @zahariash in #1372
- perf(optimizer): mask an Intersect's probe node scans with its build-side keys by @zahariash in #1373
- fix(binder): map COPY FROM subquery columns by position by @Tyagiquamar in #1374
- fix(function): route scalar list-slice through STRING implicit cast by @adsharma in #1384
- fix(function): throw BinderException for non-path LENGTH() input by @adsharma in #1385
- fix(storage): widen both zone-map bounds when a write exceeds both by @555aaditya in #1387
New Contributors
- @Tyagiquamar made their first contribution in #1103
- @aikins01 made their first contribution in #1099
- @zahariash made their first contribution in #1114
- @es-alficody made their first contribution in #1144
- @mvanhorn made their first contribution in #1154
- @Abhipsita-coder made their first contribution in #1183
- @555aaditya made their first contribution in #1387
Full Changelog: v0.21.2...v0.22.0