@@ -8061,49 +8061,24 @@ fn parse_alter_operator_class() {
80618061}
80628062
80638063#[ test]
8064- fn parse_create_and_alter_text_search_failure_cases ( ) {
8065- let sql_cases = [
8066- "CREATE TEXT SEARCH DICTIONARY alt_ts_dict1 (template=simple)" ,
8067- "CREATE TEXT SEARCH DICTIONARY alt_ts_dict2 (template=simple)" ,
8068- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict1 RENAME TO alt_ts_dict2" ,
8069- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict1 RENAME TO alt_ts_dict3" ,
8070- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict2 OWNER TO regress_alter_generic_user2" ,
8071- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict2 OWNER TO regress_alter_generic_user3" ,
8072- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict2 SET SCHEMA alt_nsp2" ,
8073- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict3 RENAME TO alt_ts_dict4" ,
8074- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict1 RENAME TO alt_ts_dict4" ,
8075- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict3 OWNER TO regress_alter_generic_user2" ,
8076- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict3 SET SCHEMA alt_nsp2" ,
8077- "CREATE TEXT SEARCH CONFIGURATION alt_ts_conf1 (copy=english)" ,
8078- "CREATE TEXT SEARCH CONFIGURATION alt_ts_conf2 (copy=english)" ,
8079- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf1 RENAME TO alt_ts_conf2" ,
8080- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf1 RENAME TO alt_ts_conf3" ,
8081- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf2 OWNER TO regress_alter_generic_user2" ,
8082- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf2 OWNER TO regress_alter_generic_user3" ,
8083- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf2 SET SCHEMA alt_nsp2" ,
8084- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf3 RENAME TO alt_ts_conf4" ,
8085- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf1 RENAME TO alt_ts_conf4" ,
8086- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf3 OWNER TO regress_alter_generic_user2" ,
8087- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf3 SET SCHEMA alt_nsp2" ,
8088- "CREATE TEXT SEARCH TEMPLATE alt_ts_temp1 (lexize=dsimple_lexize)" ,
8089- "CREATE TEXT SEARCH TEMPLATE alt_ts_temp2 (lexize=dsimple_lexize)" ,
8090- "ALTER TEXT SEARCH TEMPLATE alt_ts_temp1 RENAME TO alt_ts_temp2" ,
8091- "ALTER TEXT SEARCH TEMPLATE alt_ts_temp1 RENAME TO alt_ts_temp3" ,
8092- "ALTER TEXT SEARCH TEMPLATE alt_ts_temp2 SET SCHEMA alt_nsp2" ,
8093- "CREATE TEXT SEARCH TEMPLATE tstemp_case (\" Init\" = init_function)" ,
8094- "CREATE TEXT SEARCH PARSER alt_ts_prs1 (start = prsd_start, gettoken = prsd_nexttoken, end = prsd_end, lextypes = prsd_lextype)" ,
8095- "CREATE TEXT SEARCH PARSER alt_ts_prs2 (start = prsd_start, gettoken = prsd_nexttoken, end = prsd_end, lextypes = prsd_lextype)" ,
8096- "ALTER TEXT SEARCH PARSER alt_ts_prs1 RENAME TO alt_ts_prs2" ,
8097- "ALTER TEXT SEARCH PARSER alt_ts_prs1 RENAME TO alt_ts_prs3" ,
8098- "ALTER TEXT SEARCH PARSER alt_ts_prs2 SET SCHEMA alt_nsp2" ,
8099- "CREATE TEXT SEARCH PARSER tspars_case (\" Start\" = start_function)" ,
8100- ] ;
8064+ fn parse_create_and_alter_text_search ( ) {
8065+ // CREATE — one per object type
8066+ pg_and_generic ( ) . verified_stmt ( "CREATE TEXT SEARCH DICTIONARY d (template = simple)" ) ;
8067+ pg_and_generic ( ) . verified_stmt ( "CREATE TEXT SEARCH CONFIGURATION c (copy = english)" ) ;
8068+ pg_and_generic ( ) . verified_stmt ( "CREATE TEXT SEARCH TEMPLATE t (lexize = dsimple_lexize)" ) ;
8069+ pg_and_generic ( ) . verified_stmt (
8070+ "CREATE TEXT SEARCH PARSER p (start = prsd_start, gettoken = prsd_nexttoken, end = prsd_end, lextypes = prsd_lextype)" ,
8071+ ) ;
81018072
8102- for sql in sql_cases {
8103- if let Err ( err) = pg ( ) . parse_sql_statements ( sql) {
8104- panic ! ( "Failed to parse `{sql}`: {err}" ) ;
8105- }
8106- }
8073+ // CREATE with quoted option key
8074+ pg_and_generic ( ) . verified_stmt ( "CREATE TEXT SEARCH TEMPLATE t (\" Init\" = init_function)" ) ;
8075+
8076+ // ALTER — one test per object type arm, one per operation kind
8077+ pg_and_generic ( ) . verified_stmt ( "ALTER TEXT SEARCH DICTIONARY d (opt = val)" ) ;
8078+ pg_and_generic ( ) . verified_stmt ( "ALTER TEXT SEARCH DICTIONARY d (opt)" ) ;
8079+ pg_and_generic ( ) . verified_stmt ( "ALTER TEXT SEARCH CONFIGURATION c OWNER TO some_user" ) ;
8080+ pg_and_generic ( ) . verified_stmt ( "ALTER TEXT SEARCH TEMPLATE t SET SCHEMA s" ) ;
8081+ pg_and_generic ( ) . verified_stmt ( "ALTER TEXT SEARCH PARSER p RENAME TO p2" ) ;
81078082
81088083 // Object type must be an unquoted keyword-like token in this position.
81098084 assert ! ( pg( )
@@ -8114,17 +8089,6 @@ fn parse_create_and_alter_text_search_failure_cases() {
81148089 assert ! ( pg( )
81158090 . parse_sql_statements( "CREATE TEXT SEARCH DICTIONARY d (template)" )
81168091 . is_err( ) ) ;
8117-
8118- // CREATE TEXT SEARCH does not support generic CREATE modifiers.
8119- assert ! ( pg( )
8120- . parse_sql_statements( "CREATE OR REPLACE TEXT SEARCH DICTIONARY d (template = simple)" )
8121- . is_err( ) ) ;
8122- assert ! ( pg( )
8123- . parse_sql_statements( "CREATE OR ALTER TEXT SEARCH DICTIONARY d (template = simple)" )
8124- . is_err( ) ) ;
8125- assert ! ( pg( )
8126- . parse_sql_statements( "CREATE TEMP TEXT SEARCH DICTIONARY d (template = simple)" )
8127- . is_err( ) ) ;
81288092}
81298093
81308094#[ test]
0 commit comments