Skip to content

Commit 39e98cb

Browse files
committed
Rename parse_tablename -> parse_object_name (4.2/4.4)
...to match the name of the recently introduced `SQLObjectName` struct and to avoid any reservations about using it with multi-part names of objects other than tables (as in the `type_name` case).
1 parent 523f086 commit 39e98cb

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

src/sqlparser.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -545,7 +545,7 @@ impl Parser {
545545
/// Parse a SQL CREATE statement
546546
pub fn parse_create(&mut self) -> Result<SQLStatement, ParserError> {
547547
if self.parse_keywords(vec!["TABLE"]) {
548-
let table_name = self.parse_tablename()?;
548+
let table_name = self.parse_object_name()?;
549549
// parse optional column list (schema)
550550
let mut columns = vec![];
551551
if self.consume_token(&Token::LParen) {
@@ -639,7 +639,7 @@ impl Parser {
639639
Ok(TableKey::UniqueKey(key))
640640
} else if is_foreign_key {
641641
self.expect_keyword("REFERENCES")?;
642-
let foreign_table = self.parse_tablename()?;
642+
let foreign_table = self.parse_object_name()?;
643643
self.expect_token(&Token::LParen)?;
644644
let referred_columns = self.parse_column_names()?;
645645
self.expect_token(&Token::RParen)?;
@@ -659,7 +659,7 @@ impl Parser {
659659
pub fn parse_alter(&mut self) -> Result<SQLStatement, ParserError> {
660660
self.expect_keyword("TABLE")?;
661661
let _ = self.parse_keyword("ONLY");
662-
let table_name = self.parse_tablename()?;
662+
let table_name = self.parse_object_name()?;
663663
let operation: Result<AlterOperation, ParserError> =
664664
if self.parse_keywords(vec!["ADD", "CONSTRAINT"]) {
665665
match self.next_token() {
@@ -688,7 +688,7 @@ impl Parser {
688688

689689
/// Parse a copy statement
690690
pub fn parse_copy(&mut self) -> Result<SQLStatement, ParserError> {
691-
let table_name = self.parse_tablename()?;
691+
let table_name = self.parse_object_name()?;
692692
let columns = if self.consume_token(&Token::LParen) {
693693
let column_names = self.parse_column_names()?;
694694
self.expect_token(&Token::RParen)?;
@@ -986,7 +986,7 @@ impl Parser {
986986
}
987987
_ => {
988988
self.prev_token();
989-
let type_name = self.parse_tablename()?; // TODO: this actually reads a possibly schema-qualified name of a (custom) type
989+
let type_name = self.parse_object_name()?;
990990
Ok(SQLType::Custom(type_name))
991991
}
992992
},
@@ -1060,7 +1060,9 @@ impl Parser {
10601060
}
10611061
}
10621062

1063-
pub fn parse_tablename(&mut self) -> Result<SQLObjectName, ParserError> {
1063+
/// Parse a possibly qualified, possibly quoted identifier, e.g.
1064+
/// `foo` or `myschema."table"`
1065+
pub fn parse_object_name(&mut self) -> Result<SQLObjectName, ParserError> {
10641066
let identifier = self.parse_compound_identifier(&Token::Period)?;
10651067
match identifier {
10661068
// TODO: should store the compound identifier itself
@@ -1323,7 +1325,7 @@ impl Parser {
13231325
/// Parse an INSERT statement
13241326
pub fn parse_insert(&mut self) -> Result<SQLStatement, ParserError> {
13251327
self.expect_keyword("INTO")?;
1326-
let table_name = self.parse_tablename()?;
1328+
let table_name = self.parse_object_name()?;
13271329
let columns = if self.consume_token(&Token::LParen) {
13281330
let column_names = self.parse_column_names()?;
13291331
self.expect_token(&Token::RParen)?;

tests/sqlparser_postgres.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,14 @@ fn parse_complex_insert() {
9999
#[test]
100100
fn parse_invalid_table_name() {
101101
let mut parser = parser("db.public..customer");
102-
let ast = parser.parse_tablename();
102+
let ast = parser.parse_object_name();
103103
assert!(ast.is_err());
104104
}
105105

106106
#[test]
107107
fn parse_no_table_name() {
108108
let mut parser = parser("");
109-
let ast = parser.parse_tablename();
109+
let ast = parser.parse_object_name();
110110
assert!(ast.is_err());
111111
}
112112

0 commit comments

Comments
 (0)