• Tom Lane's avatar
    Use "%option prefix" to set API names in ecpg's lexer. · 92fb6498
    Tom Lane authored
    Clean up some technical debt left behind by commit 72b1e3a2: instead of
    quickly hacking the name of base_yylex() with a #define, set it properly
    with "%option prefix".  This causes the names of pgc.l's other exported
    symbols to change as well, so run around and modify the outside references
    to them as needed.  Similarly, make pgc.l's external references to
    base_yylval use that variable's true name instead of a macro.
    
    The reason for doing this now is that the quick-hack solution will fail
    with future versions of flex, as reported by Дилян Палаузов.
    Hence, back-patch into 9.6 where the previous commit appeared, since
    it's likely people will build 9.6 with newer flex versions during
    its lifetime.
    
    Discussion: https://postgr.es/m/d845c1af-e18d-6651-178f-9f08cdf37e10@aegee.org
    92fb6498
ecpg.trailer 55 KB