Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
13c9bf9
test: add sql_exec fuzz target and CI smoke run
KKould Oct 4, 2026
45f1f17
test: fail fuzz runs on OOM and tolerate trailing ignored timeouts
KKould Oct 4, 2026
7346b55
fix: keep projected columns aligned when a skipped column is NULL
KKould Oct 4, 2026
7985496
fix: only rearrange comparisons exactly and check integer negation
KKould Oct 4, 2026
bc6235a
fix: char_length/octet_length return BIGINT and NULL for NULL
KKould Oct 4, 2026
0b33328
fix: do not rewrite DISTINCT group keys through shared select nodes
KKould Oct 4, 2026
74b8404
fix: allow sum(NULL)
KKould Oct 4, 2026
f702466
fix: do not share the operand of expanded IN / BETWEEN
KKould Oct 4, 2026
49c2a70
fix: reject DISTINCT/GROUP BY/ORDER BY over SELECT-list scalar subque…
KKould Oct 4, 2026
c5c79e6
fix: cast equi-join keys of different types to a common type
KKould Oct 4, 2026
8249f8d
fix: unify CASE branch types and allow unary operators on NULL
KKould Oct 4, 2026
5ac445c
chore: fix clippy warnings and drop dead code
KKould Oct 4, 2026
9b9386d
refactor: drop Pattern children and the test-only plan matcher
KKould Oct 4, 2026
ec89ee0
fix: emit a row for every matched pair in nested loop join
KKould Oct 4, 2026
952ddc8
fix: bind IN / BETWEEN evaluators and compare row values with SQL NUL…
KKould Oct 4, 2026
0f9e855
fix: push LIMIT through an outer join once and without its OFFSET
KKould Oct 4, 2026
458ce10
fix: fold a negated number literal into one constant
KKould Oct 4, 2026
5e55bc8
fix: reject comparing row values of different degrees
KKould Oct 4, 2026
d9b5005
fix: coalesce FULL JOIN USING columns in wildcard expansion
KKould Oct 4, 2026
62503a3
test: restore crdb expectations changed on import
KKould Oct 4, 2026
3b69925
fix: coalesce FULL JOIN USING columns for tables with column aliases
KKould Oct 4, 2026
883188a
fix: expand aliased table columns in declaration order
KKould Oct 4, 2026
5817cf4
chore: note NULL argument function lookup TODO and drop a comment
KKould Oct 4, 2026
fb1bf81
feat: support ORDER BY column position
KKould Oct 4, 2026
e327315
fix: reject ambiguous column references
KKould Oct 4, 2026
ccdf898
fix: reject multiple ORDER BY clauses and SELECT * without FROM
KKould Oct 4, 2026
cc6a7bf
refactor: drop the COLUMN_REF column from DESCRIBE
KKould Oct 4, 2026
4198c96
test: upgrade sqllogictest and share one database across slt files
KKould Oct 4, 2026
3c9109f
fix: reject outer references in the SELECT list of IN/ANY/ALL subqueries
KKould Oct 5, 2026
fb2542b
fix: avoid overflow in integer MIN % -1
KKould Oct 5, 2026
affdacf
test: add structured sql_gen fuzz target with a TLP oracle
KKould Oct 5, 2026
a216e1e
chore: bump kite_sql version to 0.5.0
KKould Oct 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -133,3 +133,35 @@ jobs:

- name: Run python binding tests
run: PYO3_PYTHON="$(which python)" make test-python
# 9
fuzz:
name: Fuzz smoke test (sql_exec)
runs-on: ubuntu-latest
env:
# The fuzz crate is a standalone workspace; keep its build out of the shared target dir.
CARGO_TARGET_DIR: ${{ github.workspace }}/fuzz/target
steps:
- uses: actions/checkout@v4
# Pinned; keep in sync with FUZZ_TOOLCHAIN in the Makefile.
- uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2026-10-04
- uses: Swatinem/rust-cache@v2
with:
workspaces: fuzz
- uses: taiki-e/install-action@v2
with:
tool: cargo-fuzz

- name: Run sql_exec fuzzer
run: make fuzz FUZZ_TARGET=sql_exec FUZZ_TIME=150

- name: Run sql_gen fuzzer
run: make fuzz FUZZ_TARGET=sql_gen FUZZ_TIME=150

- name: Upload crash artifacts
if: failure()
uses: actions/upload-artifact@v4
with:
name: fuzz-artifacts
path: fuzz/artifacts
189 changes: 96 additions & 93 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading