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 snowflake double dot notation for object name #1540

Merged
merged 3 commits into from
Nov 30, 2024

Conversation

ayman-sigma
Copy link
Contributor

Snowflake allows double-dot notation in the object name. The two dots indicate that the schema name is not specified. The PUBLIC default schema is always referenced. See more details here: https://docs.snowflake.com/en/sql-reference/name-resolution#resolution-when-schema-omitted-double-dot-notation

Right now I'm parsing the default schema segment as an empty identifier. Depending on the acceptance of this PR, we can change this to be something like DefaultSchema instead.

src/parser/mod.rs Outdated Show resolved Hide resolved
tests/sqlparser_snowflake.rs Outdated Show resolved Hide resolved
tests/sqlparser_snowflake.rs Outdated Show resolved Hide resolved
tests/sqlparser_snowflake.rs Outdated Show resolved Hide resolved
src/parser/mod.rs Outdated Show resolved Hide resolved
src/parser/mod.rs Show resolved Hide resolved
@ayman-sigma ayman-sigma force-pushed the ayman/supportSfDoubleDotNotation branch from 794f79a to 6a26aa4 Compare November 24, 2024 20:56
@ayman-sigma ayman-sigma requested a review from iffyio November 24, 2024 20:57
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! cc @alamb

Copy link
Contributor

@alamb alamb left a comment

Choose a reason for hiding this comment

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

Makes sense to me -- thanks @ayman-sigma and @iffyio

@alamb alamb merged commit f4f112d into apache:main Nov 30, 2024
8 checks passed
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