summaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg
AgeCommit message (Collapse)Author
2013-01-01Update copyrights for 2013Bruce Momjian
Fully update git head, and update back branches in ./COPYRIGHT and legal.sgml files.
2012-12-04Include isinf.o in libecpg if isinf() is not available on the system.Michael Meskes
Patch done by Jiang Guiqing <jianggq@cn.fujitsu.com>.
2012-11-29When processing nested structure pointer variables ecpg always expected anMichael Meskes
array datatype which of course is wrong. Applied patch by Muhammad Usama <m.usama@gmail.com> to fix this.
2012-11-28Suppress parallel build in interfaces/ecpg/preproc/.Tom Lane
This is to see if it will stop intermittent build failures on buildfarm member okapi. We know that gmake 3.82 has some problems with sometimes not honoring dependencies in parallel builds, and it seems likely that this is more of the same. Since the vast bulk of the work in the preproc directory is associated with creating preproc.c and then preproc.o, parallelism buys us hardly anything here anyway. Also, make both this .NOTPARALLEL and the one previously added in interfaces/ecpg/Makefile be conditional on "ifeq ($(MAKE_VERSION),3.82)". The known bug in gmake is fixed upstream and should not be present in 3.83 and up, and there's no reason to think it affects older releases.
2012-11-23Applied patch by Chen Huajun <chenhj@cn.fujitsu.com> to make ecpg able to copeMichael Meskes
with very long structs.
2012-10-12In our source code, make a copy of getopt's 'optarg' string arguments,Bruce Momjian
rather than just storing a pointer.
2012-10-11Refactor flex and bison make rulesPeter Eisentraut
Numerous flex and bison make rules have appeared in the source tree over time, and they are all virtually identical, so we can replace them by pattern rules with some variables for customization. Users of pgxs will also be able to benefit from this.
2012-10-07Quiet a few MSC compiler warnings.Andrew Dunstan
2012-10-05Fixed test for array boundary.Michael Meskes
Instead of continuing if the next character is not an array boundary get_data() used to continue only on finding a boundary so it was not able to read any element after the first.
2012-09-09Use .NOTPARALLEL in ecpg/Makefile to avoid a gmake parallelism bug.Tom Lane
Investigation shows that some intermittent build failures in ecpg are the result of a gmake bug that was reported quite some time ago: http://savannah.gnu.org/bugs/?30653 Preventing parallel builds of the ecpg subdirectories seems to dodge the bug. Per yesterday's pgsql-hackers discussion, there are some other things in the subdirectory makefiles that seem rather unsafe for parallel builds too, but there's little point in fixing them as long as we have to work around a make bug. Back-patch to 9.1; parallel builds weren't very well supported before that anyway.
2012-08-07Implement SQL-standard LATERAL subqueries.Tom Lane
This patch implements the standard syntax of LATERAL attached to a sub-SELECT in FROM, and also allows LATERAL attached to a function in FROM, since set-returning function calls are expected to be one of the principal use-cases. The main change here is a rewrite of the mechanism for keeping track of which relations are visible for column references while the FROM clause is being scanned. The parser "namespace" lists are no longer lists of bare RTEs, but are lists of ParseNamespaceItem structs, which carry an RTE pointer as well as some visibility-controlling flags. Aside from supporting LATERAL correctly, this lets us get rid of the ancient hacks that required rechecking subqueries and JOIN/ON and function-in-FROM expressions for invalid references after they were initially parsed. Invalid column references are now always correctly detected on sight. In passing, remove assorted parser error checks that are now dead code by virtue of our having gotten rid of add_missing_from, as well as some comments that are obsolete for the same reason. (It was mainly add_missing_from that caused so much fudging here in the first place.) The planner support for this feature is very minimal, and will be improved in future patches. It works well enough for testing purposes, though. catversion bump forced due to new field in RangeTblEntry.
2012-07-16Remove unreachable codePeter Eisentraut
The Solaris Studio compiler warns about these instances, unlike more mainstream compilers such as gcc. But manual inspection showed that the code is clearly not reachable, and we hope no worthy compiler will complain about removing this code.
2012-07-04Run newly-configured perltidy script on Perl files.Bruce Momjian
Run on HEAD and 9.2.
2012-06-25Replace int2/int4 in C code with int16/int32Peter Eisentraut
The latter was already the dominant use, and it's preferable because in C the convention is that intXX means XX bits. Therefore, allowing mixed use of int2, int4, int8, int16, int32 is obviously confusing. Remove the typedefs for int2 and int4 for now. They don't seem to be widely used outside of the PostgreSQL source tree, and the few uses can probably be cleaned up by the time this ships.
2012-06-18Make documentation of --help and --version options more consistentPeter Eisentraut
Before, some places didn't document the short options (-? and -V), some documented both, some documented nothing, and they were listed in various orders. Now this is hopefully more consistent and complete.
2012-06-13Stamp library minor versions for 9.3.Tom Lane
This includes fixing the MSVC copy of ecpg/preproc's version info, which seems to have been overlooked repeatedly. Can't we fix that so there are not two copies??
2012-06-10Run pgindent on 9.2 source tree in preparation for first 9.3Bruce Momjian
commit-fest.
2012-04-23Lots of doc corrections.Robert Haas
Josh Kupershmidt
2012-04-07Stamp libraries versions for 9.2 (better late than never).Bruce Momjian
2012-03-31Rename frontend keyword arrays to avoid conflict with backend.Tom Lane
ecpg and pg_dump each contain keyword arrays with structure similar to the backend's keyword array. Up to now, we actually named those arrays the same as the backend's and relied on parser/keywords.h to declare them. This seems a tad too cute, though, and it breaks now that we need to PGDLLIMPORT-decorate the backend symbols. Rename to avoid the problem. Per buildfarm. (It strikes me that maybe we should get rid of the separate keywords.c files altogether, and just define these arrays in the modules that use them, but that's a rather more invasive change.)
2012-03-15Add const qualifier to tzn returned by timestamp2tm()Peter Eisentraut
The tzn value might come from tm->tm_zone, which libc declares as const, so it's prudent that the upper layers know about this as well.
2012-03-14Improve EncodeDateTime and EncodeTimeOnly APIsPeter Eisentraut
Use an explicit argument to tell whether to include the time zone in the output, rather than using some undocumented pointer magic.
2012-03-14Add missing va_end() callsPeter Eisentraut
found by Coverity
2012-03-08ecpg: Fix off-by-one error in memory copyingPeter Eisentraut
In a rare case, one byte past the end of memory belonging to the sqlca_t structure would be written to. found by Coverity
2012-03-08ecpg: Fix rare memory leaksPeter Eisentraut
found by Coverity
2012-03-02ecpg: Clean up some const usagePeter Eisentraut
2012-02-19In ecpglib rewrote code that used strtok_r to not use library functionsMichael Meskes
anymore. This way we don't have to worry which compiler on which OS offers which version of strtok.
2012-02-18gcc on Windows does not know about strtok_s.Michael Meskes
2012-02-18Windows doesn't have strtok_r, so let's use strtok_s instead.Michael Meskes
2012-02-18Make sure all connection paramters are used in call to PQconnectdbParams.Michael Meskes
2012-02-13Do not use the variable name when defining a varchar structure in ecpg.Michael Meskes
With a unique counter being added anyway, there is no need anymore to have the variable name listed, too.
2012-02-06Allow the connection keyword array to carry all seven items in ecpglib.Michael Meskes
2012-02-04Applied Peter's patch to PQconnectdbParams in ecpglib instead of the oldMichael Meskes
PQconectdb.
2012-02-02ecpg: Improve test buildingPeter Eisentraut
Further improve on commit c75e1436467f32a06b5ab9d594d2a390e7f4594d. Instead of building both .o files and binaries in the same make rule, just rely on the normal .c -> .o rule. This will ensure that dependency tracking is used when enabled. To do this, disable the implicit direct .c -> binary rule globally, which will also prevent the original problem (*.dSYM junk) from reappearing elsewhere.
2012-01-05Ecpglib stores variables that are used in DECLARE statements in a global list.Michael Meskes
This list is now freed when the last connection has been closed. Closes: #6366
2012-01-04Made code in ecpg better readable.Michael Meskes
2012-01-02pg_regress: Replace exit_nicely() with exit() plus atexit() hookPeter Eisentraut
2012-01-01Update copyright notices for year 2012.Bruce Momjian
2011-12-27Standardize treatment of strcmp() return valuePeter Eisentraut
Always compare the return value to 0, don't use cute tricks like if (!strcmp(...)).
2011-12-18Mark variables as const in pgtypeslib if they only carry a format string.Michael Meskes
2011-12-18Added test for cursor handling on different connections to regression testMichael Meskes
suite for ecpg.
2011-12-18In ecpg removed old leftover check for given connection name.Michael Meskes
Ever since we introduced real prepared statements this should work for different connections. The old solution just emulating prepared statements, though, wasn't able to handle this. Closes: #6309
2011-12-10Miscellaneous cleanup to silence compiler warnings seen on Mingw.Andrew Dunstan
Remove some dead code, conditionally declare some items or call some code, and fix one or two declarations.
2011-12-10Enable compiling with the mingw-w64 32 bit compiler.Andrew Dunstan
Original patch by Lars Kanis, reviewed by Nishiyama Tomoaki and tweaked some by me. This compiler, or at least the latest version of it, is currently broken, and only passes the regression tests if built with -O0.
2011-12-04Applied another patch by Zoltan to fix memory alignement issues in ecpg's sqldaMichael Meskes
code.
2011-11-17Applied Zoltan's patch to correctly align interval and timestamp data in ↵Michael Meskes
ecpg's sqlda.
2011-11-13Applied patch by Zoltan to fix copy&paste bug in ecpg's sqlda handling.Michael Meskes
2011-11-01Clean up whitespace and indentation in parser and scanner filesPeter Eisentraut
These are not touched by pgindent, so clean them up a bit manually.
2011-10-28De-parallelize ecpg build some more.Tom Lane
Make sure ecpg/include/ is rebuilt before the other subdirectories, so that ecpg_config.h is up to date. This is not likely to matter during production builds, only development, so no back-patch.
2011-09-11Remove many -Wcast-qual warningsPeter Eisentraut
This addresses only those cases that are easy to fix by adding or moving a const qualifier or removing an unnecessary cast. There are many more complicated cases remaining.