Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Databricks struct literal #1542

Merged
merged 2 commits into from
Dec 2, 2024

Conversation

ayman-sigma
Copy link
Contributor

@ayman-sigma ayman-sigma commented Nov 21, 2024

Databricks supports struct literal (struct function). Struct literal is already added for BigQuery. Databricks' syntax is very similar to the BigQuery one, except the fields definition part.
I added supports_struct_literal to Dialect trait to specify if the dialect support this literal or not

Databricks docs: https://docs.databricks.com/en/sql/language-manual/functions/struct.html

src/ast/mod.rs Outdated Show resolved Hide resolved
src/parser/mod.rs Outdated Show resolved Hide resolved
src/parser/mod.rs Outdated Show resolved Hide resolved
src/parser/mod.rs Outdated Show resolved Hide resolved
tests/sqlparser_databricks.rs Outdated Show resolved Hide resolved
@ayman-sigma ayman-sigma force-pushed the ayman/supportAsInDbStructs branch 2 times, most recently from 5bc791a to 3a252ad Compare November 23, 2024 21:47
@ayman-sigma ayman-sigma requested a review from iffyio November 23, 2024 22:01
Copy link
Contributor

@iffyio iffyio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks @ayman-sigma!
cc @alamb

@ayman-sigma ayman-sigma force-pushed the ayman/supportAsInDbStructs branch from 3a252ad to 5ca4524 Compare November 26, 2024 02:47
@ayman-sigma ayman-sigma force-pushed the ayman/supportAsInDbStructs branch from 5ca4524 to fc553aa Compare December 2, 2024 03:59
@alamb alamb merged commit bd750df into apache:main Dec 2, 2024
8 checks passed
@alamb
Copy link
Contributor

alamb commented Dec 2, 2024

Thanks @ayman-sigma and @iffyio

hansott added a commit to AikidoSec/datafusion-sqlparser-rs that referenced this pull request Dec 26, 2024
 into update

* tag 'v0.53.0' of https://github.com/apache/datafusion-sqlparser-rs: (66 commits)
  Run cargo fmt in derive crate
  Add Apache license header to spans.rs
  Update version to 0.53.0 and add release notes (apache#1592)
  Add support for ODBC functions (apache#1585)
  Parse `INSERT` with subquery when lacking column names (apache#1586)
  Support INSERT OVERWRITE INTO syntax (apache#1584)
  Snowflake ALTER TABLE clustering options (apache#1579)
  Parse Snowflake USE ROLE and USE SECONDARY ROLES (apache#1578)
  Add support of the ENUM8|ENUM16 for ClickHouse dialect (apache#1574)
  Fix displaying WORK or TRANSACTION after BEGIN (apache#1565)
  Support parsing optional nulls handling for unique constraint (apache#1567)
  Support BIT column types (apache#1577)
  Encapsulate CreateFunction (apache#1573)
  Support Databricks struct literal (apache#1542)
  Update comments / docs for `Spanned` (apache#1549)
  Support snowflake double dot notation for object name (apache#1540)
  `json_object('k' VALUE 'v')` in postgres (apache#1547)
  Increase version of sqlparser_derive from 0.2.2 to 0.3.0 (apache#1571)
  Support MySQL size variants for BLOB and TEXT columns (apache#1564)
  Rename `TokenWithLocation` to `TokenWithSpan`, in backwards compatible way (apache#1562)
  ...
hansott added a commit to AikidoSec/datafusion-sqlparser-rs that referenced this pull request Dec 26, 2024
… into sqlitedollar

* 'update' of github.com:AikidoSec/datafusion-sqlparser-rs: (66 commits)
  Run cargo fmt in derive crate
  Add Apache license header to spans.rs
  Update version to 0.53.0 and add release notes (apache#1592)
  Add support for ODBC functions (apache#1585)
  Parse `INSERT` with subquery when lacking column names (apache#1586)
  Support INSERT OVERWRITE INTO syntax (apache#1584)
  Snowflake ALTER TABLE clustering options (apache#1579)
  Parse Snowflake USE ROLE and USE SECONDARY ROLES (apache#1578)
  Add support of the ENUM8|ENUM16 for ClickHouse dialect (apache#1574)
  Fix displaying WORK or TRANSACTION after BEGIN (apache#1565)
  Support parsing optional nulls handling for unique constraint (apache#1567)
  Support BIT column types (apache#1577)
  Encapsulate CreateFunction (apache#1573)
  Support Databricks struct literal (apache#1542)
  Update comments / docs for `Spanned` (apache#1549)
  Support snowflake double dot notation for object name (apache#1540)
  `json_object('k' VALUE 'v')` in postgres (apache#1547)
  Increase version of sqlparser_derive from 0.2.2 to 0.3.0 (apache#1571)
  Support MySQL size variants for BLOB and TEXT columns (apache#1564)
  Rename `TokenWithLocation` to `TokenWithSpan`, in backwards compatible way (apache#1562)
  ...
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.

3 participants