Get rid of backtracking in jsonpath_scan.l Non-backtracking flex parsers work faster than backtracking ones. So, this commit gets rid of backtracking in jsonpath_scan.l. That required explicit handling of some cases as well as manual backtracking for some cases. More regression tests for numerics are added. Discussion: https://mail.google.com/mail/u/0?ik=a20b091faa&view=om&permmsgid=msg-f%3A1628425344167939063 Author: John Naylor, Nikita Gluknov, Alexander Korotkov Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/1d88a75c424664cc85f307a876cde85191d27272 Modified Files -------------- src/backend/utils/adt/Makefile | 1 + src/backend/utils/adt/jsonpath_scan.l | 56 +++-- src/test/regress/expected/jsonb_jsonpath.out | 2 +- src/test/regress/expected/jsonpath.out | 168 +++++++++++++++ src/test/regress/expected/jsonpath_encoding.out | 249 ++++++++++++++++++++++ src/test/regress/expected/jsonpath_encoding_1.out | 237 ++++++++++++++++++++ src/test/regress/parallel_schedule | 2 +- src/test/regress/serial_schedule | 1 + src/test/regress/sql/jsonb_jsonpath.sql | 2 +- src/test/regress/sql/jsonpath.sql | 30 +++ src/test/regress/sql/jsonpath_encoding.sql | 71 ++++++ 11 files changed, 795 insertions(+), 24 deletions(-)
pgsql-committers by date:
Соглашаюсь с условиями обработки персональных данных