diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2000-10-31 13:59:53 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2000-10-31 13:59:53 +0000 |
commit | 0babf31640cc73b8ee998d772f40dbfd73527fd1 (patch) | |
tree | 28e9ad1319ece4a40ef32c344360d308c950e684 | |
parent | 0c0dde6176edc892bbd39642de08ed1014ce2f7f (diff) | |
download | postgresql-0babf31640cc73b8ee998d772f40dbfd73527fd1.tar.gz postgresql-0babf31640cc73b8ee998d772f40dbfd73527fd1.zip |
Change internal string representation of BitString node to include a
leading 'b', as it appears to be more convenient this way for the input
and node functions.
-rw-r--r-- | src/backend/nodes/outfuncs.c | 5 | ||||
-rw-r--r-- | src/backend/nodes/read.c | 6 | ||||
-rw-r--r-- | src/backend/parser/scan.l | 5 |
3 files changed, 9 insertions, 7 deletions
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index 2e8ecaca652..58ab6896889 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -6,7 +6,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.130 2000/10/31 10:22:10 petere Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.131 2000/10/31 13:59:52 petere Exp $ * * NOTES * Every (plan) node in POSTGRES has an associated "out" routine which @@ -1353,7 +1353,8 @@ _outValue(StringInfo str, Value *value) appendStringInfo(str, "\" "); break; case T_BitString: - appendStringInfo(str, " B%s ", value->val.str); + /* internal representation already has leading 'b' */ + appendStringInfo(str, " %s ", value->val.str); break; default: elog(NOTICE, "_outValue: don't know how to print type %d ", diff --git a/src/backend/nodes/read.c b/src/backend/nodes/read.c index a6401a238fa..a9eb837851d 100644 --- a/src/backend/nodes/read.c +++ b/src/backend/nodes/read.c @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/read.c,v 1.24 2000/10/31 10:22:10 petere Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/read.c,v 1.25 2000/10/31 13:59:52 petere Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -236,7 +236,7 @@ nodeTokenType(char *token, int length) retval = AT_SYMBOL; else if (*token == '\"' && length > 1 && token[length - 1] == '\"') retval = T_String; - else if (*token == 'B') + else if (*token == 'b') retval = T_BitString; else retval = ATOM_TOKEN; @@ -351,7 +351,7 @@ nodeRead(bool read_car_only) case T_BitString: { char * val = palloc(tok_len); - /* skip leading 'B'*/ + /* skip leading 'b'*/ strncpy(val, token + 1, tok_len - 1); val[tok_len - 1] = '\0'; this_value = (Node *) makeBitString(val); diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l index 083bd70b026..18eb3c2ca0a 100644 --- a/src/backend/parser/scan.l +++ b/src/backend/parser/scan.l @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.80 2000/10/31 10:22:11 petere Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.81 2000/10/31 13:59:53 petere Exp $ * *------------------------------------------------------------------------- */ @@ -282,10 +282,11 @@ other . {xbitstart} { BEGIN(xbit); startlit(); + addlit("b", 1); } <xbit>{xbitstop} { BEGIN(INITIAL); - if (literalbuf[strspn(literalbuf, "01")] != '\0') + if (literalbuf[strspn(literalbuf + 1, "01") + 1] != '\0') elog(ERROR, "invalid bit string input: '%s'", literalbuf); yylval.str = literalbuf; |