Enhance object name path segments (#1539)

This commit is contained in:
Ayman Elkfrawy 2025-01-26 06:13:51 -08:00 committed by GitHub
parent fd6c98e933
commit 211b15e790
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 584 additions and 466 deletions

View file

@ -222,7 +222,7 @@ fn parse_delete_statement() {
..
}) => {
assert_eq!(
table_from_name(ObjectName(vec![Ident::with_quote('"', "table")])),
table_from_name(ObjectName::from(vec![Ident::with_quote('"', "table")])),
from[0].relation
);
}
@ -249,7 +249,7 @@ fn parse_create_view_with_options() {
} => {
assert_eq!(
name,
ObjectName(vec![
ObjectName::from(vec![
"myproject".into(),
"mydataset".into(),
"newview".into()
@ -356,7 +356,7 @@ fn parse_create_table_with_unquoted_hyphen() {
Statement::CreateTable(CreateTable { name, columns, .. }) => {
assert_eq!(
name,
ObjectName(vec![
ObjectName::from(vec![
"my-pro-ject".into(),
"mydataset".into(),
"mytable".into()
@ -397,7 +397,7 @@ fn parse_create_table_with_options() {
}) => {
assert_eq!(
name,
ObjectName(vec!["mydataset".into(), "newtable".into()])
ObjectName::from(vec!["mydataset".into(), "newtable".into()])
);
assert_eq!(
vec![
@ -486,7 +486,7 @@ fn parse_nested_data_types() {
let sql = "CREATE TABLE table (x STRUCT<a ARRAY<INT64>, b BYTES(42)>, y ARRAY<STRUCT<INT64>>)";
match bigquery_and_generic().one_statement_parses_to(sql, sql) {
Statement::CreateTable(CreateTable { name, columns, .. }) => {
assert_eq!(name, ObjectName(vec!["table".into()]));
assert_eq!(name, ObjectName::from(vec!["table".into()]));
assert_eq!(
columns,
vec![
@ -1376,7 +1376,7 @@ fn parse_table_identifiers() {
assert_eq!(
select.from,
vec![TableWithJoins {
relation: table_from_name(ObjectName(expected)),
relation: table_from_name(ObjectName::from(expected)),
joins: vec![]
},]
);
@ -1518,7 +1518,10 @@ fn parse_hyphenated_table_identifiers() {
)
.from[0]
.relation,
table_from_name(ObjectName(vec![Ident::new("foo-123"), Ident::new("bar")])),
table_from_name(ObjectName::from(vec![
Ident::new("foo-123"),
Ident::new("bar")
])),
);
assert_eq!(
@ -1551,7 +1554,7 @@ fn parse_table_time_travel() {
select.from,
vec![TableWithJoins {
relation: TableFactor::Table {
name: ObjectName(vec![Ident::new("t1")]),
name: ObjectName::from(vec![Ident::new("t1")]),
alias: None,
args: None,
with_hints: vec![],
@ -1630,11 +1633,11 @@ fn parse_merge() {
let update_action = MergeAction::Update {
assignments: vec![
Assignment {
target: AssignmentTarget::ColumnName(ObjectName(vec![Ident::new("a")])),
target: AssignmentTarget::ColumnName(ObjectName::from(vec![Ident::new("a")])),
value: Expr::Value(number("1")),
},
Assignment {
target: AssignmentTarget::ColumnName(ObjectName(vec![Ident::new("b")])),
target: AssignmentTarget::ColumnName(ObjectName::from(vec![Ident::new("b")])),
value: Expr::Value(number("2")),
},
],
@ -1650,7 +1653,7 @@ fn parse_merge() {
assert!(!into);
assert_eq!(
TableFactor::Table {
name: ObjectName(vec![Ident::new("inventory")]),
name: ObjectName::from(vec![Ident::new("inventory")]),
alias: Some(TableAlias {
name: Ident::new("T"),
columns: vec![],
@ -1667,7 +1670,7 @@ fn parse_merge() {
);
assert_eq!(
TableFactor::Table {
name: ObjectName(vec![Ident::new("newArrivals")]),
name: ObjectName::from(vec![Ident::new("newArrivals")]),
alias: Some(TableAlias {
name: Ident::new("S"),
columns: vec![],
@ -1985,7 +1988,7 @@ fn parse_map_access_expr() {
}),
AccessExpr::Subscript(Subscript::Index {
index: Expr::Function(Function {
name: ObjectName(vec![Ident::with_span(
name: ObjectName::from(vec![Ident::with_span(
Span::new(Location::of(1, 11), Location::of(1, 22)),
"safe_offset",
)]),
@ -2037,7 +2040,7 @@ fn test_bigquery_create_function() {
or_replace: true,
temporary: true,
if_not_exists: false,
name: ObjectName(vec![
name: ObjectName::from(vec![
Ident::new("project1"),
Ident::new("mydataset"),
Ident::new("myfunction"),