Skip to content

release: v0.6.6-dev — TCK 383/402, type inference ANY fix, chdb resource caps#270

Merged
genezhang merged 4 commits intomainfrom
release/v0.6.6-dev
Apr 6, 2026
Merged

release: v0.6.6-dev — TCK 383/402, type inference ANY fix, chdb resource caps#270
genezhang merged 4 commits intomainfrom
release/v0.6.6-dev

Conversation

@genezhang
Copy link
Copy Markdown
Owner

Summary

  • Type inference ANY fixWHERE n.p1 = 12 OR n.p2 = 13 across multi-label nodes works correctly: property filtering uses ANY semantics. IS NULL / IS NOT NULL properties tracked in a separate null_check map — used for ANY-semantics pruning alongside regular accesses, but pruning is skipped entirely when only null-check accesses exist (missing properties return NULL, not an error). Fixes MatchWhere1 and Null1 TCK failures, and correctly handles WHERE n.p IS NOT NULL OR n.q = 5 disjunctions.
  • TCK: 383/402 passing (95.3%), 0 failures — up from 379/402 (94.3%) with 4 failures; 19 skipped (write clauses, out of scope)
  • chdb resource capsSystemConfig gains max_memory_usage_bytes; both max_threads and max_memory_usage are now applied via SET at session init (previously max_threads was documented but never sent to chdb)
  • chdb-rust 1.3.0 → 1.3.1
  • README: motivation moved to docs/motivation.md, modes summary added, cg CLI mentioned in tagline, relative links used throughout
  • clickgraph-tck/README.md: new file documenting the TCK runner and current status

Test plan

  • cargo test -p clickgraph-tck — 383 passed, 19 skipped, 0 failed
  • cargo fmt --all / cargo clippy --all-targets clean

🤖 Generated with Claude Code

genezhang and others added 4 commits April 5, 2026 22:10
…caps

- type_inference.rs: switch property-filter from ALL→ANY semantics so OR
  predicates across multi-label nodes keep all candidate types; exclude
  IS NULL / IS NOT NULL accesses from candidate pruning (missing props → NULL,
  not an error) — fixes MatchWhere1 and Null1 TCK failures
- clickgraph-embedded: add max_memory_usage_bytes to SystemConfig; actually
  apply max_threads and max_memory_usage via SET commands at session init
- clickgraph-tck: cap TCK session to 4 threads / 4 GiB; remove stale
  mutations_sync=2 SET; bump chdb-rust 1.3.0 → 1.3.1
- README.md: move motivation to docs/motivation.md, add modes summary,
  fix skills link to absolute GitHub URL, mention cg CLI in tagline
- clickgraph-tck/README.md: update to 383/402 (95.3%), 0 failures

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- type_inference.rs: proper IS NULL / IS NOT NULL handling — thread a
  null_check map through extract_props_from_expr/plan; IS NULL/IS NOT NULL
  operands go to null_check (not regular). Pruning uses regular ∪ null_check
  with ANY semantics, but skips pruning entirely when only null-check accesses
  exist (missing properties return NULL, not an error). Fixes the unsound early
  return that could drop types in `WHERE n.p IS NOT NULL OR n.q = 5`.
- database.rs: revert #[non_exhaustive] (prohibits struct literal construction
  in external crates even with ..default()); document the All-Option convention
  as the forward-compat strategy instead.
- README.md: use relative links (docs/motivation.md, skills/README.md)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@genezhang genezhang merged commit 4f8100f into main Apr 6, 2026
8 checks passed
@genezhang genezhang deleted the release/v0.6.6-dev branch April 6, 2026 05:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant