@@ -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" ,"(" ))