pgsql: Change the way UESCAPE is lexed, to reduce the size of the flex

From: Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Change the way UESCAPE is lexed, to reduce the size of the flex
Date: 2013-03-14 17:05:49
Message-ID: E1UGBbB-0005sY-RG@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/a5ff502fceadc7c203b0d7a11b45c73f1b421f69

Modified Files
--------------
src/backend/parser/scan.l | 81 ++++++++++++++++++++++++++++++++++----------
1 files changed, 62 insertions(+), 19 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2013-03-14 17:43:33 pgsql: Avoid inserting Result nodes that only compute identity projecti
Previous Message Heikki Linnakangas 2013-03-14 13:37:25 pgsql: Add cost estimation of range @> and <@ operators.