mirror of
https://github.com/aljazceru/turso.git
synced 2026-01-09 11:14:20 +01:00
Merge branch 'main' into quoting-fix-attempt-2
This commit is contained in:
@@ -1154,7 +1154,7 @@ pub enum ColumnConstraint {
|
||||
/// clause
|
||||
clause: ForeignKeyClause,
|
||||
/// `DEFERRABLE`
|
||||
deref_clause: Option<DeferSubclause>,
|
||||
defer_clause: Option<DeferSubclause>,
|
||||
},
|
||||
/// `GENERATED`
|
||||
Generated {
|
||||
@@ -1206,7 +1206,7 @@ pub enum TableConstraint {
|
||||
/// `REFERENCES`
|
||||
clause: ForeignKeyClause,
|
||||
/// `DEFERRABLE`
|
||||
deref_clause: Option<DeferSubclause>,
|
||||
defer_clause: Option<DeferSubclause>,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -1573,12 +1573,12 @@ impl ToTokens for ColumnConstraint {
|
||||
}
|
||||
Self::ForeignKey {
|
||||
clause,
|
||||
deref_clause,
|
||||
defer_clause,
|
||||
} => {
|
||||
s.append(TK_REFERENCES, None)?;
|
||||
clause.to_tokens(s, context)?;
|
||||
if let Some(deref_clause) = deref_clause {
|
||||
deref_clause.to_tokens(s, context)?;
|
||||
if let Some(defer_clause) = defer_clause {
|
||||
defer_clause.to_tokens(s, context)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
@@ -1663,7 +1663,7 @@ impl ToTokens for TableConstraint {
|
||||
Self::ForeignKey {
|
||||
columns,
|
||||
clause,
|
||||
deref_clause,
|
||||
defer_clause,
|
||||
} => {
|
||||
s.append(TK_FOREIGN, None)?;
|
||||
s.append(TK_KEY, None)?;
|
||||
@@ -1672,8 +1672,8 @@ impl ToTokens for TableConstraint {
|
||||
s.append(TK_RP, None)?;
|
||||
s.append(TK_REFERENCES, None)?;
|
||||
clause.to_tokens(s, context)?;
|
||||
if let Some(deref_clause) = deref_clause {
|
||||
deref_clause.to_tokens(s, context)?;
|
||||
if let Some(defer_clause) = defer_clause {
|
||||
defer_clause.to_tokens(s, context)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -2676,11 +2676,11 @@ impl<'a> Parser<'a> {
|
||||
let columns = self.parse_eid_list(false)?;
|
||||
peek_expect!(self, TK_REFERENCES);
|
||||
let clause = self.parse_foreign_key_clause()?;
|
||||
let deref_clause = self.parse_defer_subclause()?;
|
||||
let defer_clause = self.parse_defer_subclause()?;
|
||||
Ok(TableConstraint::ForeignKey {
|
||||
columns,
|
||||
clause,
|
||||
deref_clause,
|
||||
defer_clause,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -3288,10 +3288,10 @@ impl<'a> Parser<'a> {
|
||||
|
||||
fn parse_reference_column_constraint(&mut self) -> Result<ColumnConstraint> {
|
||||
let clause = self.parse_foreign_key_clause()?;
|
||||
let deref_clause = self.parse_defer_subclause()?;
|
||||
let defer_clause = self.parse_defer_subclause()?;
|
||||
Ok(ColumnConstraint::ForeignKey {
|
||||
clause,
|
||||
deref_clause,
|
||||
defer_clause,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -3434,10 +3434,6 @@ impl<'a> Parser<'a> {
|
||||
|
||||
pub fn parse_column_definition(&mut self, in_alter: bool) -> Result<ColumnDefinition> {
|
||||
let col_name = self.parse_nm()?;
|
||||
if !in_alter && col_name.as_str().eq_ignore_ascii_case("rowid") {
|
||||
return Err(Error::Custom("cannot use reserved word: ROWID".to_owned()));
|
||||
}
|
||||
|
||||
let col_type = self.parse_type()?;
|
||||
let constraints = self.parse_named_column_constraints(in_alter)?;
|
||||
Ok(ColumnDefinition {
|
||||
@@ -4027,7 +4023,6 @@ mod tests {
|
||||
"ALTER TABLE my_table ADD COLUMN my_column PRIMARY KEY",
|
||||
"ALTER TABLE my_table ADD COLUMN my_column UNIQUE",
|
||||
"CREATE TEMP TABLE baz.foo(bar)",
|
||||
"CREATE TABLE foo(rowid)",
|
||||
"CREATE TABLE foo(d INT AS (a*abs(b)))",
|
||||
"CREATE TABLE foo(d INT AS (a*abs(b)))",
|
||||
"CREATE TABLE foo(bar UNKNOWN_INT) STRICT",
|
||||
@@ -9413,7 +9408,7 @@ mod tests {
|
||||
columns: vec![],
|
||||
args: vec![]
|
||||
},
|
||||
deref_clause: None
|
||||
defer_clause: None
|
||||
},
|
||||
},
|
||||
],
|
||||
@@ -9453,7 +9448,7 @@ mod tests {
|
||||
RefArg::OnInsert(RefAct::SetNull),
|
||||
]
|
||||
},
|
||||
deref_clause: None
|
||||
defer_clause: None
|
||||
},
|
||||
},
|
||||
],
|
||||
@@ -9493,7 +9488,7 @@ mod tests {
|
||||
RefArg::OnUpdate(RefAct::SetNull),
|
||||
]
|
||||
},
|
||||
deref_clause: None
|
||||
defer_clause: None
|
||||
},
|
||||
},
|
||||
],
|
||||
@@ -9533,7 +9528,7 @@ mod tests {
|
||||
RefArg::OnDelete(RefAct::SetNull),
|
||||
]
|
||||
},
|
||||
deref_clause: None
|
||||
defer_clause: None
|
||||
},
|
||||
},
|
||||
],
|
||||
@@ -9573,7 +9568,7 @@ mod tests {
|
||||
RefArg::OnDelete(RefAct::SetDefault),
|
||||
]
|
||||
},
|
||||
deref_clause: None
|
||||
defer_clause: None
|
||||
},
|
||||
},
|
||||
],
|
||||
@@ -9613,7 +9608,7 @@ mod tests {
|
||||
RefArg::OnDelete(RefAct::Cascade),
|
||||
]
|
||||
},
|
||||
deref_clause: None
|
||||
defer_clause: None
|
||||
},
|
||||
},
|
||||
],
|
||||
@@ -9653,7 +9648,7 @@ mod tests {
|
||||
RefArg::OnDelete(RefAct::Restrict),
|
||||
]
|
||||
},
|
||||
deref_clause: None
|
||||
defer_clause: None
|
||||
},
|
||||
},
|
||||
],
|
||||
@@ -9693,7 +9688,7 @@ mod tests {
|
||||
RefArg::OnDelete(RefAct::NoAction),
|
||||
]
|
||||
},
|
||||
deref_clause: None
|
||||
defer_clause: None
|
||||
},
|
||||
},
|
||||
],
|
||||
@@ -9719,7 +9714,7 @@ mod tests {
|
||||
columns: vec![],
|
||||
args: vec![]
|
||||
},
|
||||
deref_clause: Some(DeferSubclause {
|
||||
defer_clause: Some(DeferSubclause {
|
||||
deferrable: true,
|
||||
init_deferred: None,
|
||||
})
|
||||
@@ -9748,7 +9743,7 @@ mod tests {
|
||||
columns: vec![],
|
||||
args: vec![]
|
||||
},
|
||||
deref_clause: Some(DeferSubclause {
|
||||
defer_clause: Some(DeferSubclause {
|
||||
deferrable: false,
|
||||
init_deferred: Some(InitDeferredPred::InitiallyImmediate),
|
||||
})
|
||||
@@ -9777,7 +9772,7 @@ mod tests {
|
||||
columns: vec![],
|
||||
args: vec![]
|
||||
},
|
||||
deref_clause: Some(DeferSubclause {
|
||||
defer_clause: Some(DeferSubclause {
|
||||
deferrable: false,
|
||||
init_deferred: Some(InitDeferredPred::InitiallyDeferred),
|
||||
})
|
||||
@@ -9806,7 +9801,7 @@ mod tests {
|
||||
columns: vec![],
|
||||
args: vec![]
|
||||
},
|
||||
deref_clause: Some(DeferSubclause {
|
||||
defer_clause: Some(DeferSubclause {
|
||||
deferrable: false,
|
||||
init_deferred: Some(InitDeferredPred::InitiallyDeferred),
|
||||
})
|
||||
@@ -10200,7 +10195,7 @@ mod tests {
|
||||
],
|
||||
args: vec![],
|
||||
},
|
||||
deref_clause: None,
|
||||
defer_clause: None,
|
||||
},
|
||||
},
|
||||
NamedTableConstraint {
|
||||
|
||||
Reference in New Issue
Block a user