Support EXCLUDE support for snowflake and generic dialect (#721)

The exclude clause can be used after a possibly qualified on SELECT
This commit is contained in:
Augusto Fotino 2022-11-30 14:29:43 -03:00 committed by GitHub
parent 3df0e444c8
commit fa6bd01b19
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 170 additions and 21 deletions

View file

@ -578,22 +578,22 @@ fn parse_select_into() {
fn parse_select_wildcard() {
let sql = "SELECT * FROM foo";
let select = verified_only_select(sql);
assert_eq!(&SelectItem::Wildcard, only(&select.projection));
assert_eq!(&SelectItem::Wildcard(None), only(&select.projection));
let sql = "SELECT foo.* FROM foo";
let select = verified_only_select(sql);
assert_eq!(
&SelectItem::QualifiedWildcard(ObjectName(vec![Ident::new("foo")])),
&SelectItem::QualifiedWildcard(ObjectName(vec![Ident::new("foo")]), None),
only(&select.projection)
);
let sql = "SELECT myschema.mytable.* FROM myschema.mytable";
let select = verified_only_select(sql);
assert_eq!(
&SelectItem::QualifiedWildcard(ObjectName(vec![
Ident::new("myschema"),
Ident::new("mytable"),
])),
&SelectItem::QualifiedWildcard(
ObjectName(vec![Ident::new("myschema"), Ident::new("mytable"),]),
None
),
only(&select.projection)
);
@ -5432,7 +5432,7 @@ fn parse_merge() {
body: Box::new(SetExpr::Select(Box::new(Select {
distinct: false,
top: None,
projection: vec![SelectItem::Wildcard],
projection: vec![SelectItem::Wildcard(None)],
into: None,
from: vec![TableWithJoins {
relation: TableFactor::Table {