[COMMITTERS] pgsql: Prevent crash when ts_rewrite() replaces a non-top-level subtree
Prevent crash when ts_rewrite() replaces a non-top-level subtree with null. When ts_rewrite()'s replacement argument is an empty tsquery, it's supposed to simplify any operator nodes whose operand(s) become NULL; but it failed to do that reliably, because dropvoidsubtree() only examined the top level of the result tree. Rather than make a second recursive pass, let's just give the responsibility to dofindsubquery() to simplify while it's doing the main replacement pass. Per report from Andreas Seltenreich. Artur Zakirov, with some cosmetic changes by me. Back-patch to all supported branches. Discussion: https://postgr.es/m/[email protected] Branch -- REL9_3_STABLE Details --- http://git.postgresql.org/pg/commitdiff/79e1a9efa808d2e15ea41d06d7696a6daab05467 Modified Files -- src/backend/utils/adt/tsquery_rewrite.c | 58 - src/test/regress/expected/tsearch.out | 15 + src/test/regress/sql/tsearch.sql| 3 ++ 3 files changed, 47 insertions(+), 29 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Prevent crash when ts_rewrite() replaces a non-top-level subtree
Prevent crash when ts_rewrite() replaces a non-top-level subtree with null. When ts_rewrite()'s replacement argument is an empty tsquery, it's supposed to simplify any operator nodes whose operand(s) become NULL; but it failed to do that reliably, because dropvoidsubtree() only examined the top level of the result tree. Rather than make a second recursive pass, let's just give the responsibility to dofindsubquery() to simplify while it's doing the main replacement pass. Per report from Andreas Seltenreich. Artur Zakirov, with some cosmetic changes by me. Back-patch to all supported branches. Discussion: https://postgr.es/m/[email protected] Branch -- REL9_6_STABLE Details --- http://git.postgresql.org/pg/commitdiff/c8bfe055be9c688d7084546245c59f7f12a7c606 Modified Files -- src/backend/utils/adt/tsquery_rewrite.c | 58 - src/test/regress/expected/tsearch.out | 15 + src/test/regress/sql/tsearch.sql| 3 ++ 3 files changed, 47 insertions(+), 29 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Prevent crash when ts_rewrite() replaces a non-top-level subtree
Prevent crash when ts_rewrite() replaces a non-top-level subtree with null. When ts_rewrite()'s replacement argument is an empty tsquery, it's supposed to simplify any operator nodes whose operand(s) become NULL; but it failed to do that reliably, because dropvoidsubtree() only examined the top level of the result tree. Rather than make a second recursive pass, let's just give the responsibility to dofindsubquery() to simplify while it's doing the main replacement pass. Per report from Andreas Seltenreich. Artur Zakirov, with some cosmetic changes by me. Back-patch to all supported branches. Discussion: https://postgr.es/m/[email protected] Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/0eaaaf00e296c2048b868b7c1d3c12c0eae6dd12 Modified Files -- src/backend/utils/adt/tsquery_rewrite.c | 58 - src/test/regress/expected/tsearch.out | 15 + src/test/regress/sql/tsearch.sql| 3 ++ 3 files changed, 47 insertions(+), 29 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Prevent crash when ts_rewrite() replaces a non-top-level subtree
Prevent crash when ts_rewrite() replaces a non-top-level subtree with null. When ts_rewrite()'s replacement argument is an empty tsquery, it's supposed to simplify any operator nodes whose operand(s) become NULL; but it failed to do that reliably, because dropvoidsubtree() only examined the top level of the result tree. Rather than make a second recursive pass, let's just give the responsibility to dofindsubquery() to simplify while it's doing the main replacement pass. Per report from Andreas Seltenreich. Artur Zakirov, with some cosmetic changes by me. Back-patch to all supported branches. Discussion: https://postgr.es/m/[email protected] Branch -- REL9_5_STABLE Details --- http://git.postgresql.org/pg/commitdiff/c6caa520008761b2ce9c88f46e537d3044cf7c96 Modified Files -- src/backend/utils/adt/tsquery_rewrite.c | 58 - src/test/regress/expected/tsearch.out | 15 + src/test/regress/sql/tsearch.sql| 3 ++ 3 files changed, 47 insertions(+), 29 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Prevent crash when ts_rewrite() replaces a non-top-level subtree
Prevent crash when ts_rewrite() replaces a non-top-level subtree with null. When ts_rewrite()'s replacement argument is an empty tsquery, it's supposed to simplify any operator nodes whose operand(s) become NULL; but it failed to do that reliably, because dropvoidsubtree() only examined the top level of the result tree. Rather than make a second recursive pass, let's just give the responsibility to dofindsubquery() to simplify while it's doing the main replacement pass. Per report from Andreas Seltenreich. Artur Zakirov, with some cosmetic changes by me. Back-patch to all supported branches. Discussion: https://postgr.es/m/[email protected] Branch -- REL9_4_STABLE Details --- http://git.postgresql.org/pg/commitdiff/6f5cb982e7df8f277505fd2028be83211d586769 Modified Files -- src/backend/utils/adt/tsquery_rewrite.c | 58 - src/test/regress/expected/tsearch.out | 15 + src/test/regress/sql/tsearch.sql| 3 ++ 3 files changed, 47 insertions(+), 29 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Prevent crash when ts_rewrite() replaces a non-top-level subtree
Prevent crash when ts_rewrite() replaces a non-top-level subtree with null. When ts_rewrite()'s replacement argument is an empty tsquery, it's supposed to simplify any operator nodes whose operand(s) become NULL; but it failed to do that reliably, because dropvoidsubtree() only examined the top level of the result tree. Rather than make a second recursive pass, let's just give the responsibility to dofindsubquery() to simplify while it's doing the main replacement pass. Per report from Andreas Seltenreich. Artur Zakirov, with some cosmetic changes by me. Back-patch to all supported branches. Discussion: https://postgr.es/m/[email protected] Branch -- REL9_2_STABLE Details --- http://git.postgresql.org/pg/commitdiff/f4ccee408d7fc9d52adf9a9153130f1298e3acb1 Modified Files -- src/backend/utils/adt/tsquery_rewrite.c | 58 - src/test/regress/expected/tsearch.out | 15 + src/test/regress/sql/tsearch.sql| 3 ++ 3 files changed, 47 insertions(+), 29 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Use "%option prefix" to set API names in ecpg's lexer.
Use "%option prefix" to set API names in ecpg's lexer. Clean up some technical debt left behind by commit 72b1e3a21: instead of quickly hacking the name of base_yylex() with a #define, set it properly with "%option prefix". This causes the names of pgc.l's other exported symbols to change as well, so run around and modify the outside references to them as needed. Similarly, make pgc.l's external references to base_yylval use that variable's true name instead of a macro. The reason for doing this now is that the quick-hack solution will fail with future versions of flex, as reported by Дилян Палаузов. Hence, back-patch into 9.6 where the previous commit appeared, since it's likely people will build 9.6 with newer flex versions during its lifetime. Discussion: https://postgr.es/m/[email protected] Branch -- REL9_6_STABLE Details --- http://git.postgresql.org/pg/commitdiff/89d1dfa49aaff7c0b90de2c91dbb314e1a57eb62 Modified Files -- src/interfaces/ecpg/preproc/descriptor.c | 28 +++--- src/interfaces/ecpg/preproc/ecpg.addons | 30 +++ src/interfaces/ecpg/preproc/ecpg.c | 40 +-- src/interfaces/ecpg/preproc/ecpg.header | 12 +++--- src/interfaces/ecpg/preproc/ecpg.trailer | 18 - src/interfaces/ecpg/preproc/extern.h | 10 ++--- src/interfaces/ecpg/preproc/output.c | 66 src/interfaces/ecpg/preproc/parser.c | 10 ++--- src/interfaces/ecpg/preproc/pgc.l| 66 ++-- src/interfaces/ecpg/preproc/variable.c | 2 +- 10 files changed, 138 insertions(+), 144 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Use "%option prefix" to set API names in ecpg's lexer.
Use "%option prefix" to set API names in ecpg's lexer. Clean up some technical debt left behind by commit 72b1e3a21: instead of quickly hacking the name of base_yylex() with a #define, set it properly with "%option prefix". This causes the names of pgc.l's other exported symbols to change as well, so run around and modify the outside references to them as needed. Similarly, make pgc.l's external references to base_yylval use that variable's true name instead of a macro. The reason for doing this now is that the quick-hack solution will fail with future versions of flex, as reported by Дилян Палаузов. Hence, back-patch into 9.6 where the previous commit appeared, since it's likely people will build 9.6 with newer flex versions during its lifetime. Discussion: https://postgr.es/m/[email protected] Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/92fb649837e36944bd0e9eed6c90b4b01b7deb18 Modified Files -- src/interfaces/ecpg/preproc/descriptor.c | 28 +++--- src/interfaces/ecpg/preproc/ecpg.addons | 30 +++ src/interfaces/ecpg/preproc/ecpg.c | 40 +-- src/interfaces/ecpg/preproc/ecpg.header | 12 +++--- src/interfaces/ecpg/preproc/ecpg.trailer | 18 - src/interfaces/ecpg/preproc/extern.h | 10 ++--- src/interfaces/ecpg/preproc/output.c | 66 src/interfaces/ecpg/preproc/parser.c | 10 ++--- src/interfaces/ecpg/preproc/pgc.l| 66 ++-- src/interfaces/ecpg/preproc/variable.c | 2 +- 10 files changed, 138 insertions(+), 144 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Build backend/parser/scan.l and interfaces/ecpg/preproc/pgc.l st
Build backend/parser/scan.l and interfaces/ecpg/preproc/pgc.l standalone. Back-patch commit 72b1e3a21 into the pre-9.6 branches. As noted in the original commit, this has some extra benefits: we can narrow the scope of the -Wno-error flag that's forced on scan.c. Also, since these grammar and lexer files are so large, splitting them into separate build targets should have some advantages in build speed, particularly in parallel or ccache'd builds. However, the real reason for doing this now is that it avoids symbol- redefinition warnings (or worse) with the latest version of flex. It's not unreasonable that people would want to compile our old branches with recent tools. Per report from Дилян Палаузов. Discussion: https://postgr.es/m/[email protected] Branch -- REL9_4_STABLE Details --- http://git.postgresql.org/pg/commitdiff/7192865bdc48ded15caaba63fef313ff9e84eb71 Modified Files -- src/backend/parser/Makefile | 9 +++-- src/backend/parser/gram.y| 10 -- src/backend/parser/scan.l| 9 + src/interfaces/ecpg/preproc/Makefile | 7 ++- src/interfaces/ecpg/preproc/ecpg.trailer | 8 src/interfaces/ecpg/preproc/pgc.l| 14 +- 6 files changed, 23 insertions(+), 34 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Use "%option prefix" to set API names in ecpg's lexer.
Use "%option prefix" to set API names in ecpg's lexer. Back-patch commit 92fb64983 into the pre-9.6 branches. Without this, ecpg fails to build with the latest version of flex. It's not unreasonable that people would want to compile our old branches with recent tools. Per report from Дилян Палаузов. Discussion: https://postgr.es/m/[email protected] Branch -- REL9_3_STABLE Details --- http://git.postgresql.org/pg/commitdiff/2bdee07abefee3e59db9f89da635d7ecf9716a7b Modified Files -- src/interfaces/ecpg/preproc/descriptor.c | 31 --- src/interfaces/ecpg/preproc/ecpg.addons | 30 +++--- src/interfaces/ecpg/preproc/ecpg.c | 40 +-- src/interfaces/ecpg/preproc/ecpg.header | 12 +++--- src/interfaces/ecpg/preproc/ecpg.trailer | 18 - src/interfaces/ecpg/preproc/extern.h | 10 ++--- src/interfaces/ecpg/preproc/output.c | 66 +++ src/interfaces/ecpg/preproc/pgc.l| 68 ++-- src/interfaces/ecpg/preproc/variable.c | 2 +- 9 files changed, 136 insertions(+), 141 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Use "%option prefix" to set API names in ecpg's lexer.
Use "%option prefix" to set API names in ecpg's lexer. Back-patch commit 92fb64983 into the pre-9.6 branches. Without this, ecpg fails to build with the latest version of flex. It's not unreasonable that people would want to compile our old branches with recent tools. Per report from Дилян Палаузов. Discussion: https://postgr.es/m/[email protected] Branch -- REL9_4_STABLE Details --- http://git.postgresql.org/pg/commitdiff/fb12471ebec11417d49e705e8cb77baaa53f0473 Modified Files -- src/interfaces/ecpg/preproc/descriptor.c | 31 --- src/interfaces/ecpg/preproc/ecpg.addons | 30 +++--- src/interfaces/ecpg/preproc/ecpg.c | 40 +-- src/interfaces/ecpg/preproc/ecpg.header | 12 +++--- src/interfaces/ecpg/preproc/ecpg.trailer | 18 - src/interfaces/ecpg/preproc/extern.h | 10 ++--- src/interfaces/ecpg/preproc/output.c | 66 +++ src/interfaces/ecpg/preproc/pgc.l| 68 ++-- src/interfaces/ecpg/preproc/variable.c | 2 +- 9 files changed, 136 insertions(+), 141 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Build backend/parser/scan.l and interfaces/ecpg/preproc/pgc.l st
Build backend/parser/scan.l and interfaces/ecpg/preproc/pgc.l standalone. Back-patch commit 72b1e3a21 into the pre-9.6 branches. As noted in the original commit, this has some extra benefits: we can narrow the scope of the -Wno-error flag that's forced on scan.c. Also, since these grammar and lexer files are so large, splitting them into separate build targets should have some advantages in build speed, particularly in parallel or ccache'd builds. However, the real reason for doing this now is that it avoids symbol- redefinition warnings (or worse) with the latest version of flex. It's not unreasonable that people would want to compile our old branches with recent tools. Per report from Дилян Палаузов. Discussion: https://postgr.es/m/[email protected] Branch -- REL9_2_STABLE Details --- http://git.postgresql.org/pg/commitdiff/329361cfa3209f65f44808535b2e9b7708781d89 Modified Files -- src/backend/parser/Makefile | 9 +++-- src/backend/parser/gram.y| 10 -- src/backend/parser/scan.l| 9 + src/interfaces/ecpg/preproc/Makefile | 7 ++- src/interfaces/ecpg/preproc/ecpg.trailer | 8 src/interfaces/ecpg/preproc/pgc.l| 14 +- 6 files changed, 23 insertions(+), 34 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Build backend/parser/scan.l and interfaces/ecpg/preproc/pgc.l st
Build backend/parser/scan.l and interfaces/ecpg/preproc/pgc.l standalone. Back-patch commit 72b1e3a21 into the pre-9.6 branches. As noted in the original commit, this has some extra benefits: we can narrow the scope of the -Wno-error flag that's forced on scan.c. Also, since these grammar and lexer files are so large, splitting them into separate build targets should have some advantages in build speed, particularly in parallel or ccache'd builds. However, the real reason for doing this now is that it avoids symbol- redefinition warnings (or worse) with the latest version of flex. It's not unreasonable that people would want to compile our old branches with recent tools. Per report from Дилян Палаузов. Discussion: https://postgr.es/m/[email protected] Branch -- REL9_5_STABLE Details --- http://git.postgresql.org/pg/commitdiff/4262c5b1eecc63f12f86daa293428009eee54b5c Modified Files -- src/backend/parser/Makefile | 9 +++-- src/backend/parser/gram.y| 10 -- src/backend/parser/scan.l| 9 + src/interfaces/ecpg/preproc/Makefile | 7 ++- src/interfaces/ecpg/preproc/ecpg.trailer | 8 src/interfaces/ecpg/preproc/pgc.l| 14 +- 6 files changed, 23 insertions(+), 34 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Build backend/parser/scan.l and interfaces/ecpg/preproc/pgc.l st
Build backend/parser/scan.l and interfaces/ecpg/preproc/pgc.l standalone. Back-patch commit 72b1e3a21 into the pre-9.6 branches. As noted in the original commit, this has some extra benefits: we can narrow the scope of the -Wno-error flag that's forced on scan.c. Also, since these grammar and lexer files are so large, splitting them into separate build targets should have some advantages in build speed, particularly in parallel or ccache'd builds. However, the real reason for doing this now is that it avoids symbol- redefinition warnings (or worse) with the latest version of flex. It's not unreasonable that people would want to compile our old branches with recent tools. Per report from Дилян Палаузов. Discussion: https://postgr.es/m/[email protected] Branch -- REL9_3_STABLE Details --- http://git.postgresql.org/pg/commitdiff/73ae395d84198ff14792522c79471975936ee76a Modified Files -- src/backend/parser/Makefile | 9 +++-- src/backend/parser/gram.y| 10 -- src/backend/parser/scan.l| 9 + src/interfaces/ecpg/preproc/Makefile | 7 ++- src/interfaces/ecpg/preproc/ecpg.trailer | 8 src/interfaces/ecpg/preproc/pgc.l| 14 +- 6 files changed, 23 insertions(+), 34 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Use "%option prefix" to set API names in ecpg's lexer.
Use "%option prefix" to set API names in ecpg's lexer. Back-patch commit 92fb64983 into the pre-9.6 branches. Without this, ecpg fails to build with the latest version of flex. It's not unreasonable that people would want to compile our old branches with recent tools. Per report from Дилян Палаузов. Discussion: https://postgr.es/m/[email protected] Branch -- REL9_5_STABLE Details --- http://git.postgresql.org/pg/commitdiff/15b3722700ca043494804dfd1fe7556c50d4f9e9 Modified Files -- src/interfaces/ecpg/preproc/descriptor.c | 31 --- src/interfaces/ecpg/preproc/ecpg.addons | 30 +++ src/interfaces/ecpg/preproc/ecpg.c | 40 +-- src/interfaces/ecpg/preproc/ecpg.header | 12 +++--- src/interfaces/ecpg/preproc/ecpg.trailer | 18 - src/interfaces/ecpg/preproc/extern.h | 10 ++--- src/interfaces/ecpg/preproc/output.c | 66 src/interfaces/ecpg/preproc/parser.c | 10 ++--- src/interfaces/ecpg/preproc/pgc.l| 66 ++-- src/interfaces/ecpg/preproc/variable.c | 2 +- 10 files changed, 140 insertions(+), 145 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Use "%option prefix" to set API names in ecpg's lexer.
Use "%option prefix" to set API names in ecpg's lexer. Back-patch commit 92fb64983 into the pre-9.6 branches. Without this, ecpg fails to build with the latest version of flex. It's not unreasonable that people would want to compile our old branches with recent tools. Per report from Дилян Палаузов. Discussion: https://postgr.es/m/[email protected] Branch -- REL9_2_STABLE Details --- http://git.postgresql.org/pg/commitdiff/2d48131ed1442f87e196dfe99e4904a69f1daed3 Modified Files -- src/interfaces/ecpg/preproc/descriptor.c | 31 --- src/interfaces/ecpg/preproc/ecpg.addons | 30 +++--- src/interfaces/ecpg/preproc/ecpg.c | 40 +-- src/interfaces/ecpg/preproc/ecpg.header | 12 +++--- src/interfaces/ecpg/preproc/ecpg.trailer | 18 - src/interfaces/ecpg/preproc/extern.h | 10 ++--- src/interfaces/ecpg/preproc/output.c | 66 +++ src/interfaces/ecpg/preproc/pgc.l| 68 ++-- src/interfaces/ecpg/preproc/variable.c | 2 +- 9 files changed, 136 insertions(+), 141 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
[COMMITTERS] pgsql: Fix broken autoconf test for random number source.
Fix broken autoconf test for random number source. Hopefully this fixes buildfarm member jacana. Discussion: https://www.postgresql.org/message-id/[email protected] Branch -- master Details --- http://git.postgresql.org/pg/commitdiff/ad365b2f91dc57ed1f18839f9f59a2799d276c8d Modified Files -- configure| 2 +- configure.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
