| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Vladimir Sitnikov <sitnikov(dot)vladimir(at)gmail(dot)com> |
| Cc: | Dave Cramer <pg(at)fastcrypt(dot)com>, Merlin Moncure <mmoncure(at)gmail(dot)com>, Kris Jurka <books(at)ejurka(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Seamus Abshere <seamus(at)abshere(dot)net>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Alias hstore's ? to ~ so that it works with JDBC |
| Date: | 2013-02-11 17:30:50 |
| Message-ID: | 23349.1360603850@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Vladimir Sitnikov <sitnikov(dot)vladimir(at)gmail(dot)com> writes:
> The thing is PostgeSQL JDBC driver should be able to parse sql in order to
> tell if specific question mark is a bind variable or it is inside string
> literal, or it is inside of some comment.
What's your point? Those cases don't have anything to do with variables
versus operators, neither of which would be inside a literal or comment.
It would take extremely deep knowledge of SQL syntax for the driver to
reliably tell the difference between a variable and an operator --- and
even then, I'm not sure it'd be terribly user-friendly, because the
parsing would depend on details like where there is whitespace. For
instance, the backend parser would think that "?= 2" is a prefix
operator named "?=" followed by literal 2, whereas "? = 2" will be
parsed differently, and "? ? 2" yet differently (because "=" is
special-cased but an operator named "?" isn't). I'm not sure it'd be
any more usable to work like that than with an explicit escaping
convention.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Seamus Abshere | 2013-02-11 17:42:18 | Re: Alias hstore's ? to ~ so that it works with JDBC |
| Previous Message | Vladimir Sitnikov | 2013-02-11 17:05:53 | Re: Alias hstore's ? to ~ so that it works with JDBC |