pgsql: Fix possible omission of variable storage markers in ECPG.
От | Tom Lane |
---|---|
Тема | pgsql: Fix possible omission of variable storage markers in ECPG. |
Дата | |
Msg-id | E1oWjlc-002BpS-SL@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Fix possible omission of variable storage markers in ECPG. The ECPG preprocessor converted code such as static varchar str1[10], str2[20], str3[30]; into static struct varchar_1 { int len; char arr[ 10 ]; } str1 ; struct varchar_2 { int len; char arr[ 20 ]; } str2 ; struct varchar_3 { int len; char arr[ 30 ]; } str3 ; thus losing the storage attribute for the later variables. Repeat the declaration for each such variable. (Note that this occurred only for variables declared "varchar" or "bytea", which may help explain how it escaped detection for so long.) Andrey Sokolov Discussion: https://postgr.es/m/942241662288242@mail.yandex.ru Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/b7050e2584803a6abe71fb0b94a63b63e59cff9c Modified Files -------------- src/interfaces/ecpg/preproc/ecpg.trailer | 8 +- src/interfaces/ecpg/preproc/type.h | 1 + .../ecpg/test/expected/preproc-variable.c | 93 +++++++----- .../ecpg/test/expected/preproc-variable.stderr | 162 ++++++++++----------- .../ecpg/test/expected/preproc-variable.stdout | 1 + src/interfaces/ecpg/test/preproc/variable.pgc | 9 ++ 6 files changed, 151 insertions(+), 123 deletions(-)
В списке pgsql-committers по дате отправления: