On Tue, Mar 19, 2019 at 8:10 PM Alexander Korotkov <a.korot...@postgrespro.ru> wrote: > On Sun, Mar 17, 2019 at 6:03 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > > Andrew Dunstan <andrew.duns...@2ndquadrant.com> writes: > > > Why are we installing the jsonpath_gram.h file? It's not going to be > > > used by anything else, is it? TBH, I'm not sure I see why we're > > > installing the scanner.h file either. > > > > As near as I can see, jsonpath_gram.h and jsonpath_scanner.h exist only > > for communication between jsonpath_gram.y and jsonpath_scan.l. Maybe > > we'd be better off handling that need by compiling the .l file as part > > of the .y file, as we used to do with the core lexer and still do with > > several others (cf comments for commit 72b1e3a21); then we wouldn't > > even have to generate these files much less install them. > > > > A quick look at jsonpath_scan.c shows that it's pretty innocent of > > the tricks we've learned over the years for flex/bison portability; > > in particular I see that it's #including <stdio.h> before postgres.h, > > which is a no-no. So that whole area needs more review anyway. > > Attached patch is getting rid of jsonpath_gram.h. Would like to see > results of http://commitfest.cputube.org/ before committing, because > I'm not available to test this of windows machine. There would be > further patches rearranging jsonpath_gram.y and jsonpath_scan.l.
Attaches patches improving jsonpath parser. First one introduces cosmetic changes, while second gets rid of backtracking. I'm also planning to add high-level comment for both grammar and lexer. ------ Alexander Korotkov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
0001-cosmetic-changes-jsonpath-parser.patch
Description: Binary data
0002-get-rid-of-backtracking.patch
Description: Binary data