@@ -725,42 +725,25 @@ fn parse_alter_table_owner_to() {
725725 sql: "ALTER TABLE tab OWNER TO new_owner" ,
726726 expected_owner: Owner :: Ident ( Ident :: new( "new_owner" . to_string( ) ) ) ,
727727 } ,
728+ TestCase {
729+ sql: "ALTER TABLE tab OWNER TO postgres" ,
730+ expected_owner: Owner :: Ident ( Ident :: new( "postgres" . to_string( ) ) ) ,
731+ } ,
728732 TestCase {
729733 sql: "ALTER TABLE tab OWNER TO \" new_owner\" " ,
730734 expected_owner: Owner :: Ident ( Ident :: with_quote( '\"' , "new_owner" . to_string( ) ) ) ,
731735 } ,
732736 TestCase {
733737 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 ,
742739 } ,
743740 TestCase {
744741 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 ,
753743 } ,
754744 TestCase {
755745 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 ,
764747 } ,
765748 ] ;
766749
@@ -785,9 +768,15 @@ fn parse_alter_table_owner_to() {
785768 }
786769 }
787770
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" ) ;
789778 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( ) ) ,
791780 res. unwrap_err( )
792781 ) ;
793782}
0 commit comments