@@ -725,42 +725,25 @@ fn parse_alter_table_owner_to() {
725
725
sql: "ALTER TABLE tab OWNER TO new_owner" ,
726
726
expected_owner: Owner :: Ident ( Ident :: new( "new_owner" . to_string( ) ) ) ,
727
727
} ,
728
+ TestCase {
729
+ sql: "ALTER TABLE tab OWNER TO postgres" ,
730
+ expected_owner: Owner :: Ident ( Ident :: new( "postgres" . to_string( ) ) ) ,
731
+ } ,
728
732
TestCase {
729
733
sql: "ALTER TABLE tab OWNER TO \" new_owner\" " ,
730
734
expected_owner: Owner :: Ident ( Ident :: with_quote( '\"' , "new_owner" . to_string( ) ) ) ,
731
735
} ,
732
736
TestCase {
733
737
sql: "ALTER TABLE tab OWNER TO CURRENT_USER" ,
734
- expected_owner: Owner :: Expr ( Expr :: Function ( Function {
735
- name: ObjectName ( vec![ Ident :: new( "CURRENT_USER" ) ] ) ,
736
- args: FunctionArguments :: None ,
737
- null_treatment: None ,
738
- filter: None ,
739
- over: None ,
740
- within_group: vec![ ] ,
741
- } ) ) ,
738
+ expected_owner: Owner :: CurrentUser ,
742
739
} ,
743
740
TestCase {
744
741
sql: "ALTER TABLE tab OWNER TO CURRENT_ROLE" ,
745
- expected_owner: Owner :: Expr ( Expr :: Function ( Function {
746
- name: ObjectName ( vec![ Ident :: new( "CURRENT_ROLE" ) ] ) ,
747
- args: FunctionArguments :: None ,
748
- null_treatment: None ,
749
- filter: None ,
750
- over: None ,
751
- within_group: vec![ ] ,
752
- } ) ) ,
742
+ expected_owner: Owner :: CurrentRole ,
753
743
} ,
754
744
TestCase {
755
745
sql: "ALTER TABLE tab OWNER TO SESSION_USER" ,
756
- expected_owner: Owner :: Expr ( Expr :: Function ( Function {
757
- name: ObjectName ( vec![ Ident :: new( "SESSION_USER" ) ] ) ,
758
- args: FunctionArguments :: None ,
759
- null_treatment: None ,
760
- filter: None ,
761
- over: None ,
762
- within_group: vec![ ] ,
763
- } ) ) ,
746
+ expected_owner: Owner :: SessionUser ,
764
747
} ,
765
748
] ;
766
749
@@ -785,9 +768,15 @@ fn parse_alter_table_owner_to() {
785
768
}
786
769
}
787
770
788
- let res = pg ( ) . parse_sql_statements ( "ALTER TABLE tab OWNER TO CREATE" ) ;
771
+ let res = pg ( ) . parse_sql_statements ( "ALTER TABLE tab OWNER TO CREATE FOO" ) ;
772
+ assert_eq ! (
773
+ ParserError :: ParserError ( "Expected end of statement, found: FOO" . to_string( ) ) ,
774
+ res. unwrap_err( )
775
+ ) ;
776
+
777
+ let res = pg ( ) . parse_sql_statements ( "ALTER TABLE tab OWNER TO 4" ) ;
789
778
assert_eq ! (
790
- ParserError :: ParserError ( "Expected CURRENT_USER, CURRENT_ROLE, SESSION_USER or identifier after OWNER TO clause , found: CREATE " . to_string( ) ) ,
779
+ ParserError :: ParserError ( "Expected CURRENT_USER, CURRENT_ROLE, SESSION_USER or identifier after OWNER TO. sql parser error: Expected identifier , found: 4 " . to_string( ) ) ,
791
780
res. unwrap_err( )
792
781
) ;
793
782
}
0 commit comments