xkrogen commented on PR #38712:
URL: https://github.com/apache/spark/pull/38712#issuecomment-1332434274

   All 3 of the examples you provided use different syntax (`:id` vs `@id` vs 
`{{ id }}`). Can we provide more motivation for why we are picking the syntax 
used in this implementation? [SQL-92 defined ANSI Dynamic 
SQL](https://docs.oracle.com/cd/A81042_01/DOC/appdev.816/a76942/pc_14ady.htm) 
which uses colons (`:id`). One other example using `:` is 
[SQLAlchemy](https://docs.sqlalchemy.org/en/14/core/tutorial.html#using-textual-sql).
 
   
   Other examples (besides JDBC) only supporting positional arguments:
   * [Trino](https://trino.io/docs/current/sql/execute.html) & 
[PrestoDB](https://prestodb.io/docs/current/sql/execute.html)
   * [PostgreSQL](https://www.postgresql.org/docs/current/ecpg-dynamic.html)
   * 
[Snowflake](https://docs.snowflake.com/en/sql-reference/sql/execute-immediate.html)
   * 
[MySQL][(https://dev.mysql.com/doc/refman/8.0/en/user-variables.html](https://dev.mysql.com/doc/refman/8.0/en/sql-prepared-statements.html)
   
   So from what I am seeing, positional arguments (with `?` placeholders) are 
the most common, and when named parameters are supported, colons are the most 
common way to denote them (including ANSI support). I feel there is a good 
argument to be made that named arguments are much easier to work with than 
positional so I am supportive of using named args rather than positional, but I 
feel we should at least follow the ANSI standard and use colons rather than 
at-signs.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to