postgresql/src/interfaces/ecpg
Peter Eisentraut 98b4f53d15 Re-forbid underscore in positional parameters
Underscores were added to numeric literals in faff8f8e47.  This change
also affected the positional parameters (e.g., $1) rule, which uses
the same production for its digits.  But this did not actually work,
because the digits for parameters are processed using atol(), which
does not handle underscores and ignores whatever it cannot parse.

The underscores notation is probably not useful for positional
parameters, so for simplicity revert that rule to its old form that
only accepts digits 0-9.

Author: Erik Wienhold <ewie@ewie.name>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Discussion: https://www.postgresql.org/message-id/flat/5d216d1c-91f6-4cbe-95e2-b4cbd930520c%40ewie.name
2024-05-15 13:49:41 +02:00
..
compatlib ecpg: Fix return code for overflow in numeric conversion 2024-03-25 14:18:36 +01:00
ecpglib Translation updates 2024-05-06 12:06:31 +02:00
include Remove obsolete symbol from ecpg_config.h.in 2024-04-24 08:27:25 +02:00
pgtypeslib ecpg: Fix error handling on OOMs when parsing timestamps 2024-02-19 09:05:51 +09:00
preproc Re-forbid underscore in positional parameters 2024-05-15 13:49:41 +02:00
test Make two-phase tests of ECPG and main suite more concurrent-proof 2024-04-29 21:10:41 +09:00
Makefile Remove distprep 2023-11-06 15:18:04 +01:00
README.dynSQL Fix whitespace issues found by git diff --check, add gitattributes 2013-11-10 14:48:29 -05:00
meson.build Update copyright for 2024 2024-01-03 20:49:05 -05:00

README.dynSQL

src/interfaces/ecpg/README.dynSQL

descriptor statements have the following shortcomings

- input descriptors (USING DESCRIPTOR <name>) are not supported

  Reason: to fully support dynamic SQL the frontend/backend communication
          should change to recognize input parameters.
          Since this is not likely to happen in the near future and you
          can cover the same functionality with the existing infrastructure
          (using s[n]printf), I'll leave the work to someone else.