@@ -2971,21 +2971,27 @@ psql_completion(const char *text, int start, int end)
2971
2971
2972
2972
/* CREATE PUBLICATION */
2973
2973
else if (Matches ("CREATE" , "PUBLICATION" , MatchAny ))
2974
- COMPLETE_WITH ("FOR TABLE" , "FOR ALL TABLES" , "FOR ALL TABLES IN SCHEMA" , "WITH (" );
2974
+ COMPLETE_WITH ("FOR TABLE" , "FOR ALL TABLES" , "FOR ALL TABLES IN SCHEMA" ,
2975
+ "FOR SEQUENCE" , "FOR ALL SEQUENCES" , "FOR ALL SEQUENCES IN SCHEMA" ,
2976
+ "WITH (" );
2975
2977
else if (Matches ("CREATE" , "PUBLICATION" , MatchAny , "FOR" ))
2976
- COMPLETE_WITH ("TABLE" , "ALL TABLES" , "ALL TABLES IN SCHEMA" );
2978
+ COMPLETE_WITH ("TABLE" , "ALL TABLES" , "ALL TABLES IN SCHEMA" ,
2979
+ "SEQUENCE" , "ALL SEQUENCES" , "ALL SEQUENCES IN SCHEMA" );
2977
2980
else if (Matches ("CREATE" , "PUBLICATION" , MatchAny , "FOR" , "ALL" ))
2978
- COMPLETE_WITH ("TABLES" , "TABLES IN SCHEMA" );
2979
- else if (Matches ("CREATE" , "PUBLICATION" , MatchAny , "FOR" , "ALL" , "TABLES" ))
2981
+ COMPLETE_WITH ("TABLES" , "TABLES IN SCHEMA" , "SEQUENCES" , "SEQUENCES IN SCHEMA" );
2982
+ else if (Matches ("CREATE" , "PUBLICATION" , MatchAny , "FOR" , "ALL" , "TABLES|SEQUENCES " ))
2980
2983
COMPLETE_WITH ("IN SCHEMA" , "WITH (" );
2981
- else if (Matches ("CREATE" , "PUBLICATION" , MatchAny , "FOR" , "TABLE" , MatchAny ) && !ends_with (prev_wd , ',' ))
2984
+ else if (Matches ("CREATE" , "PUBLICATION" , MatchAny , "FOR" , "TABLE|SEQUENCE " , MatchAny ) && !ends_with (prev_wd , ',' ))
2982
2985
COMPLETE_WITH ("WHERE (" , "WITH (" );
2983
2986
/* Complete "CREATE PUBLICATION <name> FOR TABLE" with "<table>, ..." */
2984
2987
else if (Matches ("CREATE" , "PUBLICATION" , MatchAny , "FOR" , "TABLE" ))
2985
2988
COMPLETE_WITH_SCHEMA_QUERY (Query_for_list_of_tables );
2989
+ /* Complete "CREATE PUBLICATION <name> FOR SEQUENCE" with "<sequence>, ..." */
2990
+ else if (Matches ("CREATE" , "PUBLICATION" , MatchAny , "FOR" , "SEQUENCE" ))
2991
+ COMPLETE_WITH_SCHEMA_QUERY (Query_for_list_of_sequences );
2986
2992
2987
2993
/*
2988
- * "CREATE PUBLICATION <name> FOR TABLE <name> WHERE (" - complete with
2994
+ * "CREATE PUBLICATION <name> FOR TABLE|SEQUENCE <name> WHERE (" - complete with
2989
2995
* table attributes
2990
2996
*/
2991
2997
else if (HeadMatches ("CREATE" , "PUBLICATION" , MatchAny ) && TailMatches ("WHERE" ))
@@ -2996,14 +3002,14 @@ psql_completion(const char *text, int start, int end)
2996
3002
COMPLETE_WITH (" WITH (" );
2997
3003
2998
3004
/*
2999
- * Complete "CREATE PUBLICATION <name> FOR ALL TABLES IN SCHEMA <schema>,
3005
+ * Complete "CREATE PUBLICATION <name> FOR ALL TABLES|SEQUENCES IN SCHEMA <schema>,
3000
3006
* ..."
3001
3007
*/
3002
- else if (Matches ("CREATE" , "PUBLICATION" , MatchAny , "FOR" , "ALL" , "TABLES" , "IN" , "SCHEMA" ))
3008
+ else if (Matches ("CREATE" , "PUBLICATION" , MatchAny , "FOR" , "ALL" , "TABLES|SEQUENCES " , "IN" , "SCHEMA" ))
3003
3009
COMPLETE_WITH_QUERY_PLUS (Query_for_list_of_schemas
3004
3010
" AND nspname NOT LIKE E'pg\\\\_%%'" ,
3005
3011
"CURRENT_SCHEMA" );
3006
- else if (Matches ("CREATE" , "PUBLICATION" , MatchAny , "FOR" , "ALL" , "TABLES" , "IN" , "SCHEMA" , MatchAny ) && (!ends_with (prev_wd , ',' )))
3012
+ else if (Matches ("CREATE" , "PUBLICATION" , MatchAny , "FOR" , "ALL" , "TABLES|SEQUENCES " , "IN" , "SCHEMA" , MatchAny ) && (!ends_with (prev_wd , ',' )))
3007
3013
COMPLETE_WITH ("WITH (" );
3008
3014
/* Complete "CREATE PUBLICATION <name> [...] WITH" */
3009
3015
else if (HeadMatches ("CREATE" , "PUBLICATION" ) && TailMatches ("WITH" , "(" ))
0 commit comments