Skip to content

tp: validate variant column types - #7167

Draft
LalitMaganti wants to merge 1 commit into
dev/lalitm/exec-sql-scanfrom
dev/lalitm/exec-assert-column-type
Draft

tp: validate variant column types#7167
LalitMaganti wants to merge 1 commit into
dev/lalitm/exec-sql-scanfrom
dev/lalitm/exec-assert-column-type

Conversation

@LalitMaganti

@LalitMaganti LalitMaganti commented Aug 21, 2026

Copy link
Copy Markdown
Member

A SqlScan column uses Variant when lineage cannot prove one storage type.
Typed operators need to check those values before reading them as a flat
column.

AssertType checks every selected row against the requested type and produces a
flat column. Nulls remain null. Narrow integers can widen when the conversion
is exact; other mismatches stop the pipeline and name the offending column.

This is an operator rather than part of SqlScan because the consumer, not the
source, decides what type a column must have.

@github-actions

github-actions Bot commented Aug 21, 2026

Copy link
Copy Markdown

@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-tree-fold branch from 0678132 to 147ef70 Compare August 21, 2026 13:33
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-assert-column-type branch from 62f4dcd to 0ff9bcb Compare August 21, 2026 13:34
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-tree-fold branch from 147ef70 to 873a588 Compare August 21, 2026 13:43
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-assert-column-type branch from 0ff9bcb to 2f056ac Compare August 21, 2026 13:43
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-tree-fold branch from 873a588 to 5876d07 Compare August 21, 2026 13:52
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-assert-column-type branch from 2f056ac to 98d4d5e Compare August 21, 2026 13:53
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-tree-fold branch from 5876d07 to b3fdc90 Compare August 21, 2026 14:23
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-assert-column-type branch from 98d4d5e to 2298a36 Compare August 21, 2026 14:23
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-tree-fold branch from b3fdc90 to ba10a53 Compare August 21, 2026 15:12
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-assert-column-type branch from 2298a36 to a22a502 Compare August 21, 2026 15:12
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-tree-fold branch from ba10a53 to b670ed5 Compare August 21, 2026 15:21
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-assert-column-type branch from a22a502 to c6f181b Compare August 21, 2026 15:21
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-tree-fold branch from b670ed5 to 6738e6b Compare August 21, 2026 15:33
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-assert-column-type branch from c6f181b to 129d977 Compare August 21, 2026 15:33
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-tree-fold branch from 6738e6b to 453bd8d Compare August 21, 2026 16:18
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-assert-column-type branch from 129d977 to 0b6d57b Compare August 21, 2026 16:18
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-tree-fold branch from 453bd8d to 9f295f9 Compare August 25, 2026 13:49
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-assert-column-type branch from 0b6d57b to f4294d4 Compare August 25, 2026 13:49
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-tree-fold branch from 9f295f9 to f011e48 Compare August 25, 2026 13:54
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-assert-column-type branch from f4294d4 to cf16806 Compare August 25, 2026 13:54
@LalitMaganti
LalitMaganti changed the base branch from dev/lalitm/exec-tree-fold to dev/lalitm/exec-sql-scan August 25, 2026 14:21
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-assert-column-type branch from cf16806 to 55c4eda Compare August 25, 2026 14:21
@LalitMaganti LalitMaganti changed the title tp: assert that a column is of a given type tp: validate variant column types Aug 25, 2026
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-sql-scan branch from db06cd9 to 33deaa4 Compare August 25, 2026 14:59
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-assert-column-type branch 2 times, most recently from c8236f9 to 5433d52 Compare August 25, 2026 16:50
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-sql-scan branch 2 times, most recently from 31e8cae to d380360 Compare August 26, 2026 16:44
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-assert-column-type branch from 5433d52 to 1ebee64 Compare August 26, 2026 16:44
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-sql-scan branch from d380360 to 75812b7 Compare August 26, 2026 17:05
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-assert-column-type branch from 1ebee64 to 9e9fec6 Compare August 26, 2026 17:05
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-sql-scan branch from 75812b7 to c0d97d6 Compare August 26, 2026 17:13
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-assert-column-type branch from 9e9fec6 to d603214 Compare August 26, 2026 17:13
A SqlScan column uses Variant when lineage cannot prove one storage type.
Typed operators need to check those values before reading them as a flat
column.

AssertType checks every selected row against the requested type and produces a
flat column. Nulls remain null. Narrow integers can widen when the conversion
is exact; other mismatches stop the pipeline and name the offending column.

This is an operator rather than part of SqlScan because the consumer, not the
source, decides what type a column must have.
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-sql-scan branch from c0d97d6 to d1cbe41 Compare August 26, 2026 17:39
@LalitMaganti
LalitMaganti force-pushed the dev/lalitm/exec-assert-column-type branch from d603214 to d3ade1a Compare August 26, 2026 17:39
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