tp: scan SQL queries into batches - #7151
Draft
LalitMaganti wants to merge 3 commits into
Draft
Conversation
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 20, 2026 19:15
ab96e6e to
74b28f5
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-breaker
branch
2 times, most recently
from
August 20, 2026 19:19
409d137 to
843ed07
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 20, 2026 19:19
74b28f5 to
d4cb8e6
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-breaker
branch
from
August 20, 2026 19:46
843ed07 to
a084d88
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 20, 2026 19:46
d4cb8e6 to
d02f73c
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 20, 2026 19:58
d02f73c to
b6eea90
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-breaker
branch
from
August 20, 2026 19:58
a084d88 to
2320bd0
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 20, 2026 20:18
b6eea90 to
44a3370
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-breaker
branch
2 times, most recently
from
August 20, 2026 20:41
064d156 to
b9c1217
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
2 times, most recently
from
August 21, 2026 00:00
06f8c12 to
13f6c7a
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-breaker
branch
from
August 21, 2026 00:00
b9c1217 to
057bce9
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
2 times, most recently
from
August 21, 2026 00:31
8d4e967 to
d9aec30
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-breaker
branch
from
August 21, 2026 00:31
057bce9 to
6c78e59
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
2 times, most recently
from
August 21, 2026 13:14
2ec568a to
e68c1da
Compare
LalitMaganti
changed the base branch from
dev/lalitm/exec-breaker
to
dev/lalitm/exec-assert-column-type
August 21, 2026 13:16
LalitMaganti
force-pushed
the
dev/lalitm/exec-assert-column-type
branch
from
August 21, 2026 13:34
62f4dcd to
0ff9bcb
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 21, 2026 13:34
e68c1da to
a6d3f55
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-assert-column-type
branch
from
August 21, 2026 13:43
0ff9bcb to
2f056ac
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 21, 2026 13:43
a6d3f55 to
bbd04c4
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-assert-column-type
branch
from
August 21, 2026 13:53
2f056ac to
98d4d5e
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 21, 2026 13:53
bbd04c4 to
909c7b2
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-assert-column-type
branch
from
August 21, 2026 14:23
98d4d5e to
2298a36
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 21, 2026 14:23
909c7b2 to
9b3bb60
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-assert-column-type
branch
from
August 21, 2026 15:12
2298a36 to
a22a502
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 21, 2026 15:12
9b3bb60 to
8339ebd
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-assert-column-type
branch
from
August 21, 2026 15:21
a22a502 to
c6f181b
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 21, 2026 15:21
8339ebd to
78e655e
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-assert-column-type
branch
from
August 21, 2026 15:33
c6f181b to
129d977
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 21, 2026 15:33
78e655e to
84ccb5f
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-assert-column-type
branch
from
August 21, 2026 16:18
129d977 to
0b6d57b
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 21, 2026 16:18
84ccb5f to
cb1b703
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-assert-column-type
branch
from
August 25, 2026 13:49
0b6d57b to
f4294d4
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 25, 2026 13:49
cb1b703 to
37ade6e
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-assert-column-type
branch
from
August 25, 2026 13:54
f4294d4 to
cf16806
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 25, 2026 13:54
37ade6e to
57032cb
Compare
LalitMaganti
changed the base branch from
dev/lalitm/exec-assert-column-type
to
dev/lalitm/exec-dataframe-scan
August 25, 2026 14:21
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 25, 2026 14:21
57032cb to
db06cd9
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-dataframe-scan
branch
from
August 25, 2026 14:59
868c5e4 to
3939806
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 25, 2026 14:59
db06cd9 to
33deaa4
Compare
Queries which transform their input still need SQLite, but feeding its row cursor directly into the pipeline restores per-row overhead. Step a prepared statement into RowBatch instances. Emit dataframe-backed columns at their proven storage type and use Variant for columns whose type is unknown.
Each execution must prepare and validate a fresh result shape so rewinds clear latched SQLite errors and schema changes cannot silently alter batches.
SQL scan tests inspect the same selected RowBatch representation and should depend on the shared test-only readers.
LalitMaganti
force-pushed
the
dev/lalitm/exec-dataframe-scan
branch
from
August 25, 2026 16:50
3939806 to
29817f8
Compare
LalitMaganti
force-pushed
the
dev/lalitm/exec-sql-scan
branch
from
August 25, 2026 16:50
33deaa4 to
31e8cae
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Queries which filter, join, group, or compute still need SQLite. SqlScan steps
a prepared statement and fills RowBatch instances instead of exposing the
row-at-a-time cursor to the rest of the pipeline.
Lineage decides how each result column is stored. Columns traced to a
dataframe come out flat at the proven type. Other columns use Variant because
SQLite may return a different type on each row.
Preparing, stepping, and rewinding the statement all follow the Source status
contract. Type validation is left to the operator which knows how a column
will be used.