@@ -8280,49 +8280,24 @@ fn parse_alter_function_and_aggregate() {
82808280}
82818281
82828282#[ test]
8283- fn parse_create_and_alter_text_search_failure_cases ( ) {
8284- let sql_cases = [
8285- "CREATE TEXT SEARCH DICTIONARY alt_ts_dict1 (template=simple)" ,
8286- "CREATE TEXT SEARCH DICTIONARY alt_ts_dict2 (template=simple)" ,
8287- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict1 RENAME TO alt_ts_dict2" ,
8288- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict1 RENAME TO alt_ts_dict3" ,
8289- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict2 OWNER TO regress_alter_generic_user2" ,
8290- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict2 OWNER TO regress_alter_generic_user3" ,
8291- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict2 SET SCHEMA alt_nsp2" ,
8292- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict3 RENAME TO alt_ts_dict4" ,
8293- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict1 RENAME TO alt_ts_dict4" ,
8294- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict3 OWNER TO regress_alter_generic_user2" ,
8295- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict3 SET SCHEMA alt_nsp2" ,
8296- "CREATE TEXT SEARCH CONFIGURATION alt_ts_conf1 (copy=english)" ,
8297- "CREATE TEXT SEARCH CONFIGURATION alt_ts_conf2 (copy=english)" ,
8298- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf1 RENAME TO alt_ts_conf2" ,
8299- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf1 RENAME TO alt_ts_conf3" ,
8300- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf2 OWNER TO regress_alter_generic_user2" ,
8301- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf2 OWNER TO regress_alter_generic_user3" ,
8302- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf2 SET SCHEMA alt_nsp2" ,
8303- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf3 RENAME TO alt_ts_conf4" ,
8304- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf1 RENAME TO alt_ts_conf4" ,
8305- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf3 OWNER TO regress_alter_generic_user2" ,
8306- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf3 SET SCHEMA alt_nsp2" ,
8307- "CREATE TEXT SEARCH TEMPLATE alt_ts_temp1 (lexize=dsimple_lexize)" ,
8308- "CREATE TEXT SEARCH TEMPLATE alt_ts_temp2 (lexize=dsimple_lexize)" ,
8309- "ALTER TEXT SEARCH TEMPLATE alt_ts_temp1 RENAME TO alt_ts_temp2" ,
8310- "ALTER TEXT SEARCH TEMPLATE alt_ts_temp1 RENAME TO alt_ts_temp3" ,
8311- "ALTER TEXT SEARCH TEMPLATE alt_ts_temp2 SET SCHEMA alt_nsp2" ,
8312- "CREATE TEXT SEARCH TEMPLATE tstemp_case (\" Init\" = init_function)" ,
8313- "CREATE TEXT SEARCH PARSER alt_ts_prs1 (start = prsd_start, gettoken = prsd_nexttoken, end = prsd_end, lextypes = prsd_lextype)" ,
8314- "CREATE TEXT SEARCH PARSER alt_ts_prs2 (start = prsd_start, gettoken = prsd_nexttoken, end = prsd_end, lextypes = prsd_lextype)" ,
8315- "ALTER TEXT SEARCH PARSER alt_ts_prs1 RENAME TO alt_ts_prs2" ,
8316- "ALTER TEXT SEARCH PARSER alt_ts_prs1 RENAME TO alt_ts_prs3" ,
8317- "ALTER TEXT SEARCH PARSER alt_ts_prs2 SET SCHEMA alt_nsp2" ,
8318- "CREATE TEXT SEARCH PARSER tspars_case (\" Start\" = start_function)" ,
8319- ] ;
8283+ fn parse_create_and_alter_text_search ( ) {
8284+ // CREATE — one per object type
8285+ pg_and_generic ( ) . verified_stmt ( "CREATE TEXT SEARCH DICTIONARY d (template = simple)" ) ;
8286+ pg_and_generic ( ) . verified_stmt ( "CREATE TEXT SEARCH CONFIGURATION c (copy = english)" ) ;
8287+ pg_and_generic ( ) . verified_stmt ( "CREATE TEXT SEARCH TEMPLATE t (lexize = dsimple_lexize)" ) ;
8288+ pg_and_generic ( ) . verified_stmt (
8289+ "CREATE TEXT SEARCH PARSER p (start = prsd_start, gettoken = prsd_nexttoken, end = prsd_end, lextypes = prsd_lextype)" ,
8290+ ) ;
83208291
8321- for sql in sql_cases {
8322- if let Err ( err) = pg ( ) . parse_sql_statements ( sql) {
8323- panic ! ( "Failed to parse `{sql}`: {err}" ) ;
8324- }
8325- }
8292+ // CREATE with quoted option key
8293+ pg_and_generic ( ) . verified_stmt ( "CREATE TEXT SEARCH TEMPLATE t (\" Init\" = init_function)" ) ;
8294+
8295+ // ALTER — one test per object type arm, one per operation kind
8296+ pg_and_generic ( ) . verified_stmt ( "ALTER TEXT SEARCH DICTIONARY d (opt = val)" ) ;
8297+ pg_and_generic ( ) . verified_stmt ( "ALTER TEXT SEARCH DICTIONARY d (opt)" ) ;
8298+ pg_and_generic ( ) . verified_stmt ( "ALTER TEXT SEARCH CONFIGURATION c OWNER TO some_user" ) ;
8299+ pg_and_generic ( ) . verified_stmt ( "ALTER TEXT SEARCH TEMPLATE t SET SCHEMA s" ) ;
8300+ pg_and_generic ( ) . verified_stmt ( "ALTER TEXT SEARCH PARSER p RENAME TO p2" ) ;
83268301
83278302 // Object type must be an unquoted keyword-like token in this position.
83288303 assert ! ( pg( )
@@ -8333,17 +8308,6 @@ fn parse_create_and_alter_text_search_failure_cases() {
83338308 assert ! ( pg( )
83348309 . parse_sql_statements( "CREATE TEXT SEARCH DICTIONARY d (template)" )
83358310 . is_err( ) ) ;
8336-
8337- // CREATE TEXT SEARCH does not support generic CREATE modifiers.
8338- assert ! ( pg( )
8339- . parse_sql_statements( "CREATE OR REPLACE TEXT SEARCH DICTIONARY d (template = simple)" )
8340- . is_err( ) ) ;
8341- assert ! ( pg( )
8342- . parse_sql_statements( "CREATE OR ALTER TEXT SEARCH DICTIONARY d (template = simple)" )
8343- . is_err( ) ) ;
8344- assert ! ( pg( )
8345- . parse_sql_statements( "CREATE TEMP TEXT SEARCH DICTIONARY d (template = simple)" )
8346- . is_err( ) ) ;
83478311}
83488312
83498313#[ test]
0 commit comments