@@ -5167,6 +5167,18 @@ match_previous_words(int pattern_id,
5167
5167
/* ... JOIN ... */
5168
5168
else if (TailMatches ("JOIN" ))
5169
5169
COMPLETE_WITH_SCHEMA_QUERY_PLUS (Query_for_list_of_selectables , "LATERAL" );
5170
+ else if (TailMatches ("JOIN" , MatchAny ) && !TailMatches ("CROSS|NATURAL" , "JOIN" , MatchAny ))
5171
+ COMPLETE_WITH ("ON" , "USING (" );
5172
+ else if (TailMatches ("JOIN" , MatchAny , MatchAny ) &&
5173
+ !TailMatches ("CROSS|NATURAL" , "JOIN" , MatchAny , MatchAny ) && !TailMatches ("ON|USING" ))
5174
+ COMPLETE_WITH ("ON" , "USING (" );
5175
+ else if (TailMatches ("JOIN" , "LATERAL" , MatchAny , MatchAny ) &&
5176
+ !TailMatches ("CROSS|NATURAL" , "JOIN" , "LATERAL" , MatchAny , MatchAny ) && !TailMatches ("ON|USING" ))
5177
+ COMPLETE_WITH ("ON" , "USING (" );
5178
+ else if (TailMatches ("JOIN" , MatchAny , "USING" ) ||
5179
+ TailMatches ("JOIN" , MatchAny , MatchAny , "USING" ) ||
5180
+ TailMatches ("JOIN" , "LATERAL" , MatchAny , MatchAny , "USING" ))
5181
+ COMPLETE_WITH ("(" );
5170
5182
5171
5183
/* ... AT [ LOCAL | TIME ZONE ] ... */
5172
5184
else if (TailMatches ("AT" ))
0 commit comments