Thread: pgsql: Move some declarations in the raw-parser header files to create a

pgsql: Move some declarations in the raw-parser header files to create a

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Move some declarations in the raw-parser header files to create a clearer
distinction between the external API (parser.h) and declarations that only
need to be visible within the raw parser code (gramparse.h, which now is only
included by parser.c, gram.y, scan.l, and keywords.c).  This is in preparation
for the upcoming change to a reentrant lexer, which will require referencing
YYSTYPE in the declarations of base_yylex and filtered_base_yylex, hence
gram.h will have to be included by gramparse.h.  We don't want any more files
than absolutely necessary to depend on gram.h, so some cleanup is called for.

Modified Files:
--------------
    pgsql/src/backend/commands:
        proclang.c (r1.85 -> r1.86)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/proclang.c?r1=1.85&r2=1.86)
        tablecmds.c (r1.288 -> r1.289)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablecmds.c?r1=1.288&r2=1.289)
    pgsql/src/backend/parser:
        gram.y (r2.666 -> r2.667)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/gram.y?r1=2.666&r2=2.667)
        keywords.c (r1.212 -> r1.213)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/keywords.c?r1=1.212&r2=1.213)
        parse_utilcmd.c (r2.21 -> r2.22)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_utilcmd.c?r1=2.21&r2=2.22)
        parser.c (r1.78 -> r1.79)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parser.c?r1=1.78&r2=1.79)
        scan.l (r1.153 -> r1.154)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/scan.l?r1=1.153&r2=1.154)
    pgsql/src/backend/utils/adt:
        ruleutils.c (r1.300 -> r1.301)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ruleutils.c?r1=1.300&r2=1.301)
    pgsql/src/backend/utils/misc:
        guc.c (r1.505 -> r1.506)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/misc/guc.c?r1=1.505&r2=1.506)
    pgsql/src/include/parser:
        gramparse.h (r1.44 -> r1.45)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/parser/gramparse.h?r1=1.44&r2=1.45)
        parser.h (r1.25 -> r1.26)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/parser/parser.h?r1=1.25&r2=1.26)
    pgsql/src/pl/plpgsql/src:
        pl_comp.c (r1.136 -> r1.137)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_comp.c?r1=1.136&r2=1.137)

Re: pgsql: Move some declarations in the raw-parser header files to create a

From
Andrew Dunstan
Date:

Tom Lane wrote:
> Log Message:
> -----------
> Move some declarations in the raw-parser header files to create a clearer
> distinction between the external API (parser.h) and declarations that only
> need to be visible within the raw parser code (gramparse.h, which now is only
> included by parser.c, gram.y, scan.l, and keywords.c).  This is in preparation
> for the upcoming change to a reentrant lexer, which will require referencing
> YYSTYPE in the declarations of base_yylex and filtered_base_yylex, hence
> gram.h will have to be included by gramparse.h.  We don't want any more files
> than absolutely necessary to depend on gram.h, so some cleanup is called for.
>

Seems to have broken MSVC:

src\pl\plpgsql\src\scan.l(46): error C2370: 'standard_conforming_strings' : redefinition; different storage class

cheers

andrew






Andrew Dunstan <andrew@dunslane.net> writes:
> Seems to have broken MSVC:
> src\pl\plpgsql\src\scan.l(46): error C2370: 'standard_conforming_strings' : redefinition; different storage class

Oh, residue of an old kluge :-(.  Will fix.

            regards, tom lane