Change the way UESCAPE is lexed, to reduce the size of the flex tables.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 14 Mar 2013 17:00:09 +0000 (19:00 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 14 Mar 2013 17:04:43 +0000 (19:04 +0200)
commita5ff502fceadc7c203b0d7a11b45c73f1b421f69
treeb828a749e8017a6a1aed013fbda3b923b1fe6041
parent59d0bf9dca58b237902c2fd1507e8bc5d54d4a63
Change the way UESCAPE is lexed, to reduce the size of the flex tables.

The error rule used to avoid backtracking with the U&'...' UESCAPE 'x'
syntax bloated the flex tables, so refactor that. This patch makes the error
rule shorter, by introducing a new exclusive flex state that's entered after
parsing U&'...'. This shrinks the postgres binary by about 220kB.
src/backend/parser/scan.l