Обсуждение: pgsql: Change error handling of out of scope variables in ecpg.
Change error handling of out of scope variables in ecpg. The function called can result in an out of memory error that subsequently was disregarded. Instead it should set the appropriate SQL error variables and be checked by whatever whenever statement is defined. Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/7ea38f045dad6bbb7fbe807f2486df7370bc0b0f Modified Files -------------- src/interfaces/ecpg/ecpglib/misc.c | 11 ++++++++++ src/interfaces/ecpg/preproc/ecpg.addons | 17 ++++++--------- src/interfaces/ecpg/preproc/ecpg.trailer | 6 +----- src/interfaces/ecpg/preproc/output.c | 4 +++- src/interfaces/ecpg/preproc/preproc_extern.h | 2 +- .../ecpg/test/expected/compat_informix-sqlda.c | 4 ++-- .../test/expected/compat_informix-test_informix.c | 7 +++++- src/interfaces/ecpg/test/expected/preproc-cursor.c | 25 ++++++++++++++++++++++ .../ecpg/test/expected/preproc-outofscope.c | 5 +++++ src/interfaces/ecpg/test/expected/sql-binary.c | 15 +++++++++++++ 10 files changed, 75 insertions(+), 21 deletions(-)
On Thu, 31 Jan 2019 at 02:38, Michael Meskes <meskes@postgresql.org> wrote: > Change error handling of out of scope variables in ecpg. > > The function called can result in an out of memory error that subsequently was > disregarded. Instead it should set the appropriate SQL error variables and be > checked by whatever whenever statement is defined. I might be missing something here, but if you're changing the signature of output_simple_statement(), wouldn't you also need to change all calls to it too? ... including the ones in preproc.y? -- David Rowley http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
David Rowley <david.rowley@2ndquadrant.com> writes: > I might be missing something here, but if you're changing the > signature of output_simple_statement(), wouldn't you also need to > change all calls to it too? ... including the ones in preproc.y? preproc.y is a generated file, not something that lives in git. regards, tom lane