aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/preproc/ecpg.trailer
Commit message (Collapse)AuthorAge
* Build backend/parser/scan.l and interfaces/ecpg/preproc/pgc.l standalone.Tom Lane2016-03-19
| | | | | | | | | | | | | Now that we know about the %top{} trick, we can revert to building flex lexers as separate .o files. This is worth doing for a couple of reasons besides sheer cleanliness. We can narrow the scope of the -Wno-error flag that's forced on scan.c. Also, since these grammar and lexer files are so large, splitting them into separate build targets should have some advantages in build speed, particularly in parallel or ccache'd builds. We have quite a few other .l files that could be changed likewise, but the above arguments don't apply to them, so the benefit of fixing them seems pretty minimal. Leave the rest for some other day.
* Fix order of arguments in ecpg generated typedef command.Michael Meskes2015-10-16
|
* Add transforms featurePeter Eisentraut2015-04-26
| | | | | | | | This provides a mechanism for specifying conversions between SQL data types and procedural languages. As examples, there are transforms for hstore and ltree for PL/Perl and PL/Python. reviews by Pavel Stěhule and Andres Freund
* Fix spurious tab characterPeter Eisentraut2014-05-21
|
* ECPG: Fix searching for quoted cursor names case-sensitively.Michael Meskes2013-11-27
| | | | Patch by Böszörményi Zoltán <zb@cybertec.at>
* ECPG: Make the preprocessor emit ';' if the variable type for a list ofMichael Meskes2013-11-26
| | | | | | | | | | | | | | | | | | | | | | | | | variables is varchar. This fixes this test case: int main(void) { exec sql begin declare section; varchar a[50], b[50]; exec sql end declare section; return 0; } Since varchars are internally turned into custom structs and the type name is emitted for these variable declarations, the preprocessed code previously had: struct varchar_1 { ... } a _,_ struct varchar_2 { ... } b ; The comma in the generated C file was a syntax error. There are no regression test changes since it's not exercised. Patch by Boszormenyi Zoltan <zb@cybertec.at>
* Fix ecpg parsing of sizeof().Michael Meskes2013-11-25
| | | | The last fix used the wrong non-terminal to define valid types.
* Allow C array definitions to use sizeof().Michael Meskes2013-11-24
| | | | When parsing C variable definitions ecpg should allow sizeof() operators as array dimensions.
* ecpg: Split off mmfatal() from mmerror()Peter Eisentraut2013-11-19
| | | | | This allows decorating mmfatal() with noreturn compiler hints, leading to better diagnostics.
* ecpg: Consistently use mm_strdup()Peter Eisentraut2013-06-29
| | | | | mm_strdup() is provided to check errors from strdup(), but some places were failing to use it.
* Lots of doc corrections.Robert Haas2012-04-23
| | | | Josh Kupershmidt
* Do not use the variable name when defining a varchar structure in ecpg.Michael Meskes2012-02-13
| | | | With a unique counter being added anyway, there is no need anymore to have the variable name listed, too.
* Clean up whitespace and indentation in parser and scanner filesPeter Eisentraut2011-11-01
| | | | These are not touched by pgindent, so clean them up a bit manually.
* Move parse2.pl to parse.plPeter Eisentraut2011-06-14
| | | | We have a SCM, so we don't need to keep old versions of files around.
* Added new version of ecpg's parser generator script. This one was written byMichael Meskes2011-03-03
| | | | Andy Colson <andy@squeakycode.net>.
* There is no need to have to identical functions in ecpg thus removing one of ↵Michael Meskes2011-01-09
| | | | them.
* In ecpg's parser removed a fixed length limit for constants defining an ↵Michael Meskes2011-01-08
| | | | array dimension.
* Remove useless whitespace at end of linesPeter Eisentraut2010-11-23
|
* Some cleanup in ecpg code:Michael Meskes2010-11-02
| | | | | | Use bool as type for booleans instead of int. Do not implicitely cast size_t to int. Make the compiler stop complaining about unused variables by adding an empty statement.
* Remove cvs keywords from all files.Magnus Hagander2010-09-20
|
* Cursor names in the backend are not case-sensitve. This change makes sure thatMichael Meskes2010-09-10
| | | | | | ecpg also does not regard cursor names as case-sensitive. Thanks to Zoltan Boszormenyi for the patch.
* Replace self written 'long long int' configure test by standard ↵Michael Meskes2010-05-25
| | | | 'AC_TYPE_LONG_LONG_INT' macro call.
* Ecpg now accepts "long long" datatypes even if "long" is 64bit wide. This ↵Michael Meskes2010-05-20
| | | | used to cover the equally long "long long" type. This patch closes bug #5464.
* Give a more precise error message if a variable is re-used as cursor name in ↵Michael Meskes2010-03-31
| | | | ecpg.
* ECPG's parser now accepts and handles variables as arguments for the FREE ↵Michael Meskes2010-03-21
| | | | | | | | command. Informix allows variables as argument to the embedded SQL command FREE. Given that we only allow freeing cursors via FREE for compatibility reasons only we should do the same.
* Fixed ecpg parser to allow more than one C preprocessor command inside a ↵Michael Meskes2010-03-20
| | | | declare section.
* ecpg now adds a unique counter to its varchar struct definitions to make ↵Michael Meskes2010-03-09
| | | | these definitions unique, too. It used to use the linenumber but in the rare case of two definitions in one line this was not unique.
* Changed ECPG outofscope handling to always print out statements in the same ↵Michael Meskes2010-01-29
| | | | | | | | order so regression testing is possible, by Zoltan Boszormenyi
* Applied patch by Boszormenyi Zoltan <zb@cybertec.at> to add out-of-scope ↵Michael Meskes2010-01-26
| | | | cursor support to native mode.
* Applied patch by Boszormenyi Zoltan <zb@cybertec.at> to add DESCRIBE ↵Michael Meskes2010-01-15
| | | | [OUTPUT] statement to ecpg.
* Applied patch by Boszormenyi Zoltan <zb@cybertec.at> to add sqlda support toMichael Meskes2010-01-05
| | | | ecpg in both native and compatiblity mode.
* Added dynamic cursor names to ecpg. Almost the whole patch was done byMichael Meskes2009-11-26
| | | | Boszormenyi Zoltan, with only a minor tweak or two from me.
* Refactor ecpg grammar so that it uses the core grammar's unreserved_keywordTom Lane2009-11-21
| | | | | | | | | | | list, minus a few specific words that have to be treated specially. This replaces a hard-wired list of keywords that would have needed manual maintenance, and was not getting it. The 8.4 coding was already missing these words, causing ecpg to incorrectly treat them as reserved words: CALLED, CATALOG, DEFINER, ENUM, FOLLOWING, INVOKER, OPTIONS, PARTITION, PRECEDING, RANGE, SECURITY, SERVER, UNBOUNDED, WRAPPER. In HEAD we were additionally missing COMMENTS, FUNCTIONS, SEQUENCES, TABLES. Per gripe from Bosco Rama.
* Change "name" nonterminal in cursor-related productions to cursor_name.Alvaro Herrera2009-11-11
| | | | | | | This is a preparatory patch for allowing a dynamic cursor name be used in the ECPG grammar. Author: Zoltan Boszormenyi
* Don't treat NEW and OLD as reserved words anymore. For the purposes of rulesTom Lane2009-11-05
| | | | | | | | it works just as well to have them be ordinary identifiers, and this gets rid of a number of ugly special cases. Plus we aren't interfering with non-rule usage of these names. catversion bump because the names change internally in stored rules.
* Implement the DO statement to support execution of PL code without havingTom Lane2009-09-22
| | | | | | | | | | | | | | to create a function for it. Procedural languages now have an additional entry point, namely a function to execute an inline code block. This seemed a better design than trying to hide the transient-ness of the code from the PL. As of this patch, only plpgsql has an inline handler, but probably people will soon write handlers for the other standard PLs. In passing, remove the long-dead LANCOMPILER option of CREATE LANGUAGE. Petr Jelinek
* Made sure sqlca is reset for declare cursor in Informix mode as pointed out byMichael Meskes2009-08-14
| | | | Böszörményi Zoltán <zb@cybertec.at>.
* Added STRING datatype for Informix compatibility mode. This work isMichael Meskes2009-08-07
| | | | based on a patch send in by Böszörményi Zoltán <zb@cybertec.at>.
* Arrange that the string "syntax error" generated by bison is translated.Peter Eisentraut2009-06-10
|
* Clean up ecpg's use of mmerror(): const-ify the format argument, add anTom Lane2009-06-03
| | | | | | __attribute__() marker so that gcc can validate the format string against the actual arguments, get rid of overcomplicated and unsafe usage in base_yyerror().
* Rename the new CREATE DATABASE options to set collation and ctype intoHeikki Linnakangas2009-04-06
| | | | LC_COLLATE and LC_CTYPE, per discussion on pgsql-hackers.
* Make messages consistent with existing onesPeter Eisentraut2009-01-30
|
* Message format tuningPeter Eisentraut2009-01-26
|
* Message style reviewPeter Eisentraut2009-01-23
|
* Using clause has to accept signed numeric constants too.Michael Meskes2008-12-12
|
* Add missing semicolon, per grip from Alex Hunsaker.Andrew Dunstan2008-11-15
|
* Added files containing changes between gram.y and preproc.y.Michael Meskes2008-11-14