Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit927d7bb

Browse files
committed
Improve tab completion for CREATE TRIGGER.
This includes support for the new REFERENCING clause.
1 parent8c48375 commit927d7bb

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

‎src/bin/psql/tab-complete.c

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2209,9 +2209,43 @@ psql_completion(const char *text, int start, int end)
22092209
/* complete CREATE TRIGGER ... INSTEAD OF event ON with a list of views */
22102210
elseif (TailMatches7("CREATE","TRIGGER",MatchAny,"INSTEAD","OF",MatchAny,"ON"))
22112211
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_views,NULL);
2212+
elseif (HeadMatches2("CREATE","TRIGGER")&&TailMatches2("ON",MatchAny))
2213+
COMPLETE_WITH_LIST7("NOT DEFERRABLE","DEFERRABLE","INITIALLY",
2214+
"REFERENCING","FOR","WHEN (","EXECUTE PROCEDURE");
2215+
elseif (HeadMatches2("CREATE","TRIGGER")&&
2216+
(TailMatches1("DEFERRABLE")||TailMatches2("INITIALLY","IMMEDIATE|DEFERRED")))
2217+
COMPLETE_WITH_LIST4("REFERENCING","FOR","WHEN (","EXECUTE PROCEDURE");
2218+
elseif (HeadMatches2("CREATE","TRIGGER")&&TailMatches1("REFERENCING"))
2219+
COMPLETE_WITH_LIST2("OLD TABLE","NEW TABLE");
2220+
elseif (HeadMatches2("CREATE","TRIGGER")&&TailMatches2("OLD|NEW","TABLE"))
2221+
COMPLETE_WITH_CONST("AS");
2222+
elseif (HeadMatches2("CREATE","TRIGGER")&&
2223+
(TailMatches5("REFERENCING","OLD","TABLE","AS",MatchAny)||
2224+
TailMatches4("REFERENCING","OLD","TABLE",MatchAny)))
2225+
COMPLETE_WITH_LIST4("NEW TABLE","FOR","WHEN (","EXECUTE PROCEDURE");
2226+
elseif (HeadMatches2("CREATE","TRIGGER")&&
2227+
(TailMatches5("REFERENCING","NEW","TABLE","AS",MatchAny)||
2228+
TailMatches4("REFERENCING","NEW","TABLE",MatchAny)))
2229+
COMPLETE_WITH_LIST4("OLD TABLE","FOR","WHEN (","EXECUTE PROCEDURE");
2230+
elseif (HeadMatches2("CREATE","TRIGGER")&&
2231+
(TailMatches9("REFERENCING","OLD|NEW","TABLE","AS",MatchAny,"OLD|NEW","TABLE","AS",MatchAny)||
2232+
TailMatches8("REFERENCING","OLD|NEW","TABLE",MatchAny,"OLD|NEW","TABLE","AS",MatchAny)||
2233+
TailMatches8("REFERENCING","OLD|NEW","TABLE","AS",MatchAny,"OLD|NEW","TABLE",MatchAny)||
2234+
TailMatches7("REFERENCING","OLD|NEW","TABLE",MatchAny,"OLD|NEW","TABLE",MatchAny)))
2235+
COMPLETE_WITH_LIST3("FOR","WHEN (","EXECUTE PROCEDURE");
2236+
elseif (HeadMatches2("CREATE","TRIGGER")&&TailMatches1("FOR"))
2237+
COMPLETE_WITH_LIST3("EACH","ROW","STATEMENT");
2238+
elseif (HeadMatches2("CREATE","TRIGGER")&&TailMatches2("FOR","EACH"))
2239+
COMPLETE_WITH_LIST2("ROW","STATEMENT");
2240+
elseif (HeadMatches2("CREATE","TRIGGER")&&
2241+
(TailMatches3("FOR","EACH","ROW|STATEMENT")||
2242+
TailMatches2("FOR","ROW|STATEMENT")))
2243+
COMPLETE_WITH_LIST2("WHEN (","EXECUTE PROCEDURE");
22122244
/* complete CREATE TRIGGER ... EXECUTE with PROCEDURE */
22132245
elseif (HeadMatches2("CREATE","TRIGGER")&&TailMatches1("EXECUTE"))
22142246
COMPLETE_WITH_CONST("PROCEDURE");
2247+
elseif (HeadMatches2("CREATE","TRIGGER")&&TailMatches2("EXECUTE","PROCEDURE"))
2248+
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_functions,NULL);
22152249

22162250
/* CREATE ROLE,USER,GROUP <name> */
22172251
elseif (Matches3("CREATE","ROLE|GROUP|USER",MatchAny)&&

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp