@@ -8496,49 +8496,24 @@ fn parse_alter_function_and_aggregate() {
84968496}
84978497
84988498#[ test]
8499- fn parse_create_and_alter_text_search_failure_cases ( ) {
8500- let sql_cases = [
8501- "CREATE TEXT SEARCH DICTIONARY alt_ts_dict1 (template=simple)" ,
8502- "CREATE TEXT SEARCH DICTIONARY alt_ts_dict2 (template=simple)" ,
8503- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict1 RENAME TO alt_ts_dict2" ,
8504- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict1 RENAME TO alt_ts_dict3" ,
8505- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict2 OWNER TO regress_alter_generic_user2" ,
8506- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict2 OWNER TO regress_alter_generic_user3" ,
8507- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict2 SET SCHEMA alt_nsp2" ,
8508- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict3 RENAME TO alt_ts_dict4" ,
8509- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict1 RENAME TO alt_ts_dict4" ,
8510- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict3 OWNER TO regress_alter_generic_user2" ,
8511- "ALTER TEXT SEARCH DICTIONARY alt_ts_dict3 SET SCHEMA alt_nsp2" ,
8512- "CREATE TEXT SEARCH CONFIGURATION alt_ts_conf1 (copy=english)" ,
8513- "CREATE TEXT SEARCH CONFIGURATION alt_ts_conf2 (copy=english)" ,
8514- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf1 RENAME TO alt_ts_conf2" ,
8515- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf1 RENAME TO alt_ts_conf3" ,
8516- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf2 OWNER TO regress_alter_generic_user2" ,
8517- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf2 OWNER TO regress_alter_generic_user3" ,
8518- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf2 SET SCHEMA alt_nsp2" ,
8519- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf3 RENAME TO alt_ts_conf4" ,
8520- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf1 RENAME TO alt_ts_conf4" ,
8521- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf3 OWNER TO regress_alter_generic_user2" ,
8522- "ALTER TEXT SEARCH CONFIGURATION alt_ts_conf3 SET SCHEMA alt_nsp2" ,
8523- "CREATE TEXT SEARCH TEMPLATE alt_ts_temp1 (lexize=dsimple_lexize)" ,
8524- "CREATE TEXT SEARCH TEMPLATE alt_ts_temp2 (lexize=dsimple_lexize)" ,
8525- "ALTER TEXT SEARCH TEMPLATE alt_ts_temp1 RENAME TO alt_ts_temp2" ,
8526- "ALTER TEXT SEARCH TEMPLATE alt_ts_temp1 RENAME TO alt_ts_temp3" ,
8527- "ALTER TEXT SEARCH TEMPLATE alt_ts_temp2 SET SCHEMA alt_nsp2" ,
8528- "CREATE TEXT SEARCH TEMPLATE tstemp_case (\" Init\" = init_function)" ,
8529- "CREATE TEXT SEARCH PARSER alt_ts_prs1 (start = prsd_start, gettoken = prsd_nexttoken, end = prsd_end, lextypes = prsd_lextype)" ,
8530- "CREATE TEXT SEARCH PARSER alt_ts_prs2 (start = prsd_start, gettoken = prsd_nexttoken, end = prsd_end, lextypes = prsd_lextype)" ,
8531- "ALTER TEXT SEARCH PARSER alt_ts_prs1 RENAME TO alt_ts_prs2" ,
8532- "ALTER TEXT SEARCH PARSER alt_ts_prs1 RENAME TO alt_ts_prs3" ,
8533- "ALTER TEXT SEARCH PARSER alt_ts_prs2 SET SCHEMA alt_nsp2" ,
8534- "CREATE TEXT SEARCH PARSER tspars_case (\" Start\" = start_function)" ,
8535- ] ;
8499+ fn parse_create_and_alter_text_search ( ) {
8500+ // CREATE — one per object type
8501+ pg_and_generic ( ) . verified_stmt ( "CREATE TEXT SEARCH DICTIONARY d (template = simple)" ) ;
8502+ pg_and_generic ( ) . verified_stmt ( "CREATE TEXT SEARCH CONFIGURATION c (copy = english)" ) ;
8503+ pg_and_generic ( ) . verified_stmt ( "CREATE TEXT SEARCH TEMPLATE t (lexize = dsimple_lexize)" ) ;
8504+ pg_and_generic ( ) . verified_stmt (
8505+ "CREATE TEXT SEARCH PARSER p (start = prsd_start, gettoken = prsd_nexttoken, end = prsd_end, lextypes = prsd_lextype)" ,
8506+ ) ;
85368507
8537- for sql in sql_cases {
8538- if let Err ( err) = pg ( ) . parse_sql_statements ( sql) {
8539- panic ! ( "Failed to parse `{sql}`: {err}" ) ;
8540- }
8541- }
8508+ // CREATE with quoted option key
8509+ pg_and_generic ( ) . verified_stmt ( "CREATE TEXT SEARCH TEMPLATE t (\" Init\" = init_function)" ) ;
8510+
8511+ // ALTER — one test per object type arm, one per operation kind
8512+ pg_and_generic ( ) . verified_stmt ( "ALTER TEXT SEARCH DICTIONARY d (opt = val)" ) ;
8513+ pg_and_generic ( ) . verified_stmt ( "ALTER TEXT SEARCH DICTIONARY d (opt)" ) ;
8514+ pg_and_generic ( ) . verified_stmt ( "ALTER TEXT SEARCH CONFIGURATION c OWNER TO some_user" ) ;
8515+ pg_and_generic ( ) . verified_stmt ( "ALTER TEXT SEARCH TEMPLATE t SET SCHEMA s" ) ;
8516+ pg_and_generic ( ) . verified_stmt ( "ALTER TEXT SEARCH PARSER p RENAME TO p2" ) ;
85428517
85438518 // Object type must be an unquoted keyword-like token in this position.
85448519 assert ! ( pg( )
@@ -8549,17 +8524,6 @@ fn parse_create_and_alter_text_search_failure_cases() {
85498524 assert ! ( pg( )
85508525 . parse_sql_statements( "CREATE TEXT SEARCH DICTIONARY d (template)" )
85518526 . is_err( ) ) ;
8552-
8553- // CREATE TEXT SEARCH does not support generic CREATE modifiers.
8554- assert ! ( pg( )
8555- . parse_sql_statements( "CREATE OR REPLACE TEXT SEARCH DICTIONARY d (template = simple)" )
8556- . is_err( ) ) ;
8557- assert ! ( pg( )
8558- . parse_sql_statements( "CREATE OR ALTER TEXT SEARCH DICTIONARY d (template = simple)" )
8559- . is_err( ) ) ;
8560- assert ! ( pg( )
8561- . parse_sql_statements( "CREATE TEMP TEXT SEARCH DICTIONARY d (template = simple)" )
8562- . is_err( ) ) ;
85638527}
85648528
85658529#[ test]
0 commit comments