Skip to content

[Format][FlightSQL] Add dialect-related SqlInfo codes (LIMIT/OFFSET syntax, NULLS ordering clause, boolean/datetime literals) #49792

@tokoko

Description

@tokoko

Describe the enhancement requested

The SqlInfo enum in FlightSql.proto already captures a useful slice of SQL dialect metadata (identifier quoting, null ordering default, supported grammar, etc.), but leaves several axes uncovered that clients routinely need when compiling SQL for a specific backend. Although it's unrealistic to describe entire dialect grammar with sqlinfo flags, the goal is to expose just enough flags that will allow query engines to generate correct pushdown sql queries (predicate pushdown, projection pushdown, ...). Since adbc also adopts the same SqlInfo flags in it's spec the changes naturally apply to both flight sql and adbc.

The immediate use case for these particular flags is to enable adbc data source (apache/spark#54603) in spark w/o having to pre-configure dialects in spark code like it's currently done with jdbc. The necessary identified codes so far are:

  • SQL_LIMIT_OFFSET_SYNTAX
  • SQL_NULLS_ORDERING_SYNTAX
  • SQL_BOOLEAN_LITERAL_SYNTAX
  • SQL_DATETIME_LITERAL_SYNTAX

Component(s)

Format, C++

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions