čt 6. 1. 2022 v 21:04 odesílatel Joel Jacobson <j...@compiler.org> napsal:
> On Thu, Jan 6, 2022, at 20:24, Pavel Stehule wrote: > > But there is nothing similar in standard. > > Standard doesn't specify any column or table or label names in the > custom area. > > I think that's an unfair comparison. > This isn't at all the same thing as dictating column or table names. > I merely suggest reusing an existing reserved keyword. > > >>čt 6. 1. 2022 v 20:03 odesílatel Joel Jacobson <j...@compiler.org> > napsal: > >> > >>If "in." would work, due to "in" being a reserved SQL keyword, > >>don't you think the benefits of a SQL standardized solution would > outweigh our > >>personal preferences on what word each one of us prefer? > > > >I know that "in" is a reserved word in SQL, but I have not any knowledge > of it being used as alias in SQL functions or in >SQL/PSM functions. > > Are you concerned "in" might already be used as an alias somehow? > I did not fully correct sentence. I wanted to write "alias of arguments of SQL functions or SQL/PSM functions". I am sorry. > I did some testing: > > "in" can be used as a column alias: > > => SELECT 123 AS in; > in > ----- > 123 > (1 row) > > But it cannot be used as a table alias, which is what matters: > > => WITH in AS (SELECT 1) SELECT * FROM in; > ERROR: syntax error at or near "in" > > => SELECT * FROM t in; > ERROR: syntax error at or near "in" > > => SELECT * FROM t AS in; > ERROR: syntax error at or near "in" > > It's also currently not possible to use it as a PL/pgSQL alias: > > => CREATE FUNCTION f(id int) > RETURNS void > LANGUAGE plpgsql AS $$ > DECLARE > in ALIAS FOR $1; > BEGIN > END > $$; > ERROR: syntax error at or near "in" > LINE 5: in ALIAS FOR $1; > > I didn't say, so "IN" cannot be used. Technically, maybe (I didn't write a patch). I say, semantically - how I understand the meaning of the word "in" is not good to use it for generic alias of function arguments (when we have out arguments too). Pavel > /Joel > >