From: | David Zhang <david(dot)zhang(at)highgo(dot)ca> |
---|---|
To: | Christoph Heiss <christoph(at)c8h4(dot)io> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [PATCH] psql: Add tab-complete for optional view parameters |
Date: | 2023-08-14 17:34:11 |
Message-ID: | ed54075e-506b-7860-ebce-1bfccc265780@highgo.ca |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
>> [..]
>>
>> For below changes,
>>
>> else if (TailMatches("CREATE", "VIEW", MatchAny, "AS") ||
>> - TailMatches("CREATE", "OR", "REPLACE", "VIEW", MatchAny,
>> "AS"))
>> + TailMatches("CREATE", "VIEW", MatchAny, "WITH", "(*)", "AS")
>> ||
>> + TailMatches("CREATE", "OR", "REPLACE", "VIEW", MatchAny, "AS")
>> ||
>> + TailMatches("CREATE", "OR", "REPLACE", "VIEW", MatchAny,
>> "WITH", "(*)", "AS"))
>>
>> it would be great to switch the order of the 3rd and the 4th line to make a
>> better match for "CREATE" and "CREATE OR REPLACE" .
> I don't see how it would effect matching in any way - or am I
> overlooking something here?
It won't affect the SQL matching. What I was trying to say is that using
'CREATE OR REPLACE ...' after 'CREATE ...' can enhance code structure,
making it more readable. For instance,
/* Complete CREATE [ OR REPLACE ] VIEW <name> WITH ( ... ) with "AS" */
else if (TailMatches("CREATE", "VIEW", MatchAny, "WITH", "(*)") ||
TailMatches("CREATE", "OR", "REPLACE", "VIEW",
MatchAny, "WITH", "(*)"))
COMPLETE_WITH("AS");
"CREATE", "OR", "REPLACE", "VIEW", MatchAny, "WITH", "(*)" follows
"CREATE", "VIEW", MatchAny, "WITH", "(*)") immediately.
best regards,
David
From | Date | Subject | |
---|---|---|---|
Next Message | Jeff Davis | 2023-08-14 19:25:30 | Re: CREATE FUNCTION ... SEARCH { DEFAULT | SYSTEM | SESSION } |
Previous Message | Andy Fan | 2023-08-14 15:42:12 | Re: Extract numeric filed in JSONB more effectively |