summaryrefslogtreecommitdiff
path: root/src/backend/bootstrap
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/bootstrap')
-rw-r--r--src/backend/bootstrap/bootparse.y19
-rw-r--r--src/backend/bootstrap/bootscanner.l29
2 files changed, 5 insertions, 43 deletions
diff --git a/src/backend/bootstrap/bootparse.y b/src/backend/bootstrap/bootparse.y
index 5eaca279ee..6bb0c6ed1e 100644
--- a/src/backend/bootstrap/bootparse.y
+++ b/src/backend/bootstrap/bootparse.y
@@ -18,16 +18,10 @@
#include <unistd.h>
-#include "access/attnum.h"
-#include "access/htup.h"
-#include "access/itup.h"
-#include "access/tupdesc.h"
#include "bootstrap/bootstrap.h"
-#include "catalog/catalog.h"
#include "catalog/heap.h"
#include "catalog/namespace.h"
#include "catalog/pg_am.h"
-#include "catalog/pg_attribute.h"
#include "catalog/pg_authid.h"
#include "catalog/pg_class.h"
#include "catalog/pg_namespace.h"
@@ -36,20 +30,7 @@
#include "commands/defrem.h"
#include "miscadmin.h"
#include "nodes/makefuncs.h"
-#include "nodes/nodes.h"
-#include "nodes/parsenodes.h"
-#include "nodes/pg_list.h"
-#include "nodes/primnodes.h"
-#include "rewrite/prs2lock.h"
-#include "storage/block.h"
-#include "storage/fd.h"
-#include "storage/ipc.h"
-#include "storage/itemptr.h"
-#include "storage/off.h"
-#include "storage/smgr.h"
-#include "tcop/dest.h"
#include "utils/memutils.h"
-#include "utils/rel.h"
/*
diff --git a/src/backend/bootstrap/bootscanner.l b/src/backend/bootstrap/bootscanner.l
index 1048e70d05..6a0bed6c8d 100644
--- a/src/backend/bootstrap/bootscanner.l
+++ b/src/backend/bootstrap/bootscanner.l
@@ -15,25 +15,8 @@
*/
#include "postgres.h"
-#include "access/attnum.h"
-#include "access/htup.h"
-#include "access/itup.h"
-#include "access/tupdesc.h"
#include "bootstrap/bootstrap.h"
-#include "catalog/pg_am.h"
-#include "catalog/pg_attribute.h"
-#include "catalog/pg_class.h"
-#include "nodes/nodes.h"
-#include "nodes/parsenodes.h"
-#include "nodes/pg_list.h"
-#include "nodes/primnodes.h"
-#include "parser/scansup.h"
-#include "rewrite/prs2lock.h"
-#include "storage/block.h"
-#include "storage/fd.h"
-#include "storage/itemptr.h"
-#include "storage/off.h"
-#include "utils/rel.h"
+#include "utils/guc.h"
/* Not needed now that this file is compiled as part of bootparse. */
/* #include "bootparse.h" */
@@ -66,7 +49,7 @@ static int yyline = 1; /* line number for error reporting */
id [-A-Za-z0-9_]+
-sid \"([^\"])*\"
+sid \'([^']|\'\')*\'
/*
* Keyword tokens return the keyword text (as a constant string) in yylval.kw,
@@ -120,14 +103,12 @@ NOT { yylval.kw = "NOT"; return XNOT; }
NULL { yylval.kw = "NULL"; return XNULL; }
{id} {
- yylval.str = scanstr(yytext);
+ yylval.str = pstrdup(yytext);
return ID;
}
{sid} {
- /* leading and trailing quotes are not passed to scanstr */
- yytext[strlen(yytext) - 1] = '\0';
- yylval.str = scanstr(yytext+1);
- yytext[strlen(yytext)] = '"'; /* restore yytext */
+ /* strip quotes and escapes */
+ yylval.str = DeescapeQuotedString(yytext);
return ID;
}