Commit Graph

707 Commits

Author SHA1 Message Date
Michael Meskes 776d530924 Create a real prototype function for describe. 2003-05-30 13:22:02 +00:00
Michael Meskes a0fed291dc Sync and some minor cleanup/fixing work plus an EXEC SQL DESCRIBE prototype. 2003-05-30 08:39:01 +00:00
Michael Meskes 196d0dd10b Changed variable parsing so struct[n].attr works. 2003-05-29 13:59:26 +00:00
Michael Meskes bbe9902223 Parse forward definiton of structs. 2003-05-29 12:00:22 +00:00
Michael Meskes e185583a37 Allow input from stdin and output to stdout. 2003-05-27 14:36:00 +00:00
Michael Meskes 677844560f Fixed incorrect output for some structs. 2003-05-27 11:31:52 +00:00
Michael Meskes 813d9960d2 Forgot these. 2003-05-23 15:22:38 +00:00
Michael Meskes d258fb91cf ecpg now accepts array elements as arguments. 2003-05-23 15:19:36 +00:00
Peter Eisentraut 6fabec242d Fix compilation on Cygwin. 2003-05-22 17:20:44 +00:00
Michael Meskes dbd55d3a5b Fixed segfault when detecting undefined cursor. 2003-05-22 17:09:00 +00:00
Michael Meskes d03a067ba0 ecpg now recognizes named structs/unions. So you don't have to list the whole definition everytime you declare a variable anymore. 2003-05-22 07:58:45 +00:00
Michael Meskes dc554458ad Reversed my incorrect fix. 2003-05-20 11:05:27 +00:00
Michael Meskes 08d7e1c20e Fixed exec sql ifdef command. 2003-05-19 07:19:57 +00:00
Michael Meskes 3d41da50f7 Made variable type double work again. 2003-05-16 11:30:09 +00:00
Michael Meskes 7e684fad02 Fixed incorrect include and another typo. Sorry, the include did not create a warning/error/problem on my machine, so I didn't notice it. 2003-05-16 09:42:56 +00:00
Bruce Momjian c42581eba3 Allow interfaces to compile under MingGW/Win32 by adding _P to symbols
in ecpg.
2003-05-16 04:59:24 +00:00
Michael Meskes 4e1ed3da9b - Added more compatibility functions.
- Accept CPP defines for type definitions.
	- Do not parse system include files automatically for Informix mode
2003-05-14 14:37:36 +00:00
Michael Meskes 72f311b86a Fixed order of include file search path. 2003-05-13 11:29:14 +00:00
Bruce Momjian cb8b1299a3 Add Makefile rules for new crypt/rint() /port functions. Add include
for rint prototype.
2003-05-10 02:05:50 +00:00
Bruce Momjian 0afe5417d7 Add rint() to /port, remove from qnx/. 2003-05-09 16:26:29 +00:00
Michael Meskes 299fbb4b37 Added rfmtlong compatibility function. 2003-05-06 09:48:25 +00:00
Michael Meskes f7d836212a Fixed double definition of ecpg_compat_mode. 2003-05-02 14:43:25 +00:00
Michael Meskes 9e9d8d54e3 Added an option to force ecpg to also parse files includes via '#include' and some more Informix stuff. 2003-05-01 17:16:57 +00:00
Bruce Momjian 4d4953fc41 Make Win32 tests to match existing Cygwin tests, where appropriate. 2003-04-18 01:03:42 +00:00
Tom Lane 1719fd55d3 Fix some problems exposed by building outside the source tree. 2003-04-16 05:23:55 +00:00
Michael Meskes 76b45c9842 Informix fixes. 2003-04-10 13:06:57 +00:00
Tom Lane 6fb5115850 Get rid of inappropriate flags in CPPFLAGS override --- these break
non-gcc compilers, and they would never belong in CPPFLAGS anyway.
2003-04-08 17:09:51 +00:00
Michael Meskes a50f285d8d Added some more informix compatibility functions. 2003-04-08 12:34:25 +00:00
Bruce Momjian d46e643822 Add Win32 path handling for / vs. \ and drive letters. 2003-04-04 20:42:13 +00:00
Bruce Momjian cdbd298b3a Add prototype for toupper/tolower(). 2003-04-03 05:25:41 +00:00
Michael Meskes 7b85b730f5 More patches for informix compatibility. 2003-04-01 14:37:25 +00:00
Michael Meskes 5e37f16be0 Forgot two new files and one that was moved. 2003-03-30 13:26:09 +00:00
Michael Meskes 999f12982e Moved Informix stuff to its own compat library. Interval datetype is now fully functional. 2003-03-30 11:48:19 +00:00
Bruce Momjian 15b9e2c5ff Add <stdlib> to add calloc() prototype. 2003-03-27 17:25:34 +00:00
Michael Meskes 89508a8492 More changes to pgtypeslib and set optimization to -O1. 2003-03-27 14:29:17 +00:00
Bruce Momjian f1792b932c Use PQfreemem() consistently, and document its use for Notify.
Keep PQfreeNotify() around for binary compatibility.
2003-03-25 02:44:36 +00:00
Bruce Momjian 8f5fb5f24e Remove ecpg #warning with approval from Michael. 2003-03-22 19:48:41 +00:00
Bruce Momjian 268bbf430f Add missing #include for calloc in ecpg. 2003-03-22 17:12:23 +00:00
Michael Meskes b8f7d3d0b6 Do not free prepares statements at the end of a transaction. 2003-03-21 15:31:04 +00:00
Michael Meskes 524e9d62a7 Changes to the parser to accept new datatypes. 2003-03-21 14:17:47 +00:00
Michael Meskes 2e6f97560a Started adding date and timestamp. 2003-03-20 15:56:50 +00:00
Peter Eisentraut 28efaf3ccd Avoid mysterious warning about possibly uninitialized variable. 2003-03-19 16:05:41 +00:00
Michael Meskes 6fad73ed45 Some bugfixes for numerical library. 2003-03-18 10:46:39 +00:00
Michael Meskes bb3730893b Forgot some files... 2003-03-16 10:49:51 +00:00
Michael Meskes a4f25b6a9c Started working on a seperate pgtypes library. First test work. PLEASE test compilation on iother systems. 2003-03-16 10:42:54 +00:00
Tom Lane e4704001ea This patch fixes a bunch of spelling mistakes in comments throughout the
PostgreSQL source code.

Neil Conway
2003-03-10 22:28:22 +00:00
Michael Meskes aedd189a5c Allow SET CONNECTION to be followed by connection object without leading "TO" or "=".
Allow whenever statement to list function without parameters.
2003-02-25 15:58:03 +00:00
Michael Meskes 03829995cd Forgot to commit Makefile change. 2003-02-21 15:19:18 +00:00
Michael Meskes d5740d7e26 Added DATABASE command as alias to CONNECT TO. 2003-02-19 12:36:39 +00:00
Michael Meskes 244d2d67a0 Added Informix "database" command. 2003-02-17 14:06:40 +00:00
Michael Meskes 1005c993a6 In Informix mode ecpg should still be able to parse preprocessor directives. 2003-02-14 16:40:01 +00:00
Michael Meskes 3a335375a9 - Synced parser and keyword file.
- More work on Informix compatibility.
2003-02-14 13:17:13 +00:00
Michael Meskes 53c15ceda0 Just intermediate results for backup reasons. 2003-02-13 20:37:28 +00:00
Tom Lane 8d33f80fc4 Suppress gcc warning. 2003-02-13 18:13:22 +00:00
Michael Meskes 1a9b0613c1 - Applied error reporting patch by Matthew Vanecek
- Started with an Informix compatibility option.
2003-02-13 13:11:52 +00:00
Michael Meskes f8d8266ac5 Synced parser. 2003-01-21 20:01:12 +00:00
Bruce Momjian 88d639e6e8 Protect from null param on ecpg disconnect, verified by Roland Karch 2002-12-13 20:29:07 +00:00
Bruce Momjian 5587f077ab While porting my TPC-C implementation from Oracle, I discovered the
attached problem with the EXEC SQL COMMIT RELEASE statement.

Roland Karch
2002-12-12 21:50:01 +00:00
Bruce Momjian 6ca16d7b80 Bump version for 7.3 and 7.4. 2002-12-11 04:07:39 +00:00
Bruce Momjian 5cdf45c6aa Stamp minor version numbers for 7.4 release. 2002-12-04 18:14:11 +00:00
Michael Meskes b4e334b6e6 Synced parser with backend 2002-11-27 08:30:27 +00:00
Michael Meskes 4bc3598aa4 Synced parser. 2002-11-15 15:47:44 +00:00
Michael Meskes 11c4f2d97d Synced parser one more time. 2002-11-07 09:48:09 +00:00
Tom Lane df7201c3c5 Remove no-longer-needed inclusions to improve backward compatibility
with older bison versions.
2002-11-07 06:06:17 +00:00
Tom Lane cab9437a43 Arrange to compile flex output files as inclusions into other files
(usually bison output files), not as standalone files.  This hack
works around flex's insistence on including <stdio.h> before we are
able to include postgres.h; postgres.h will already be read before
the compiler starts to read the flex output file.  Needed for largefile
support on some platforms.
2002-11-01 22:52:34 +00:00
Peter Eisentraut b91f9042b0 Add guards against double inclusion. 2002-10-21 18:53:20 +00:00
Peter Eisentraut 7a35d304e9 Remove obsoleted stuff merged in from branch. 2002-10-21 18:05:24 +00:00
Michael Meskes cf8da4e9f0 Merged ecpg_big_bison back into HEAD 2002-10-21 13:09:31 +00:00
Peter Eisentraut 4cff161703 Improve formatting of --help output. 2002-10-18 22:05:36 +00:00
Tom Lane 67ddac35db Remove commas for compatibility with newer bisons. 2002-09-22 21:54:31 +00:00
Bruce Momjian e50f52a074 pgindent run. 2002-09-04 20:31:48 +00:00
Tom Lane 460ee04956 Fix breakage introduced by evidently-completely-untested snprintf patch. 2002-09-02 14:43:14 +00:00
Bruce Momjian a12b4e279b I checked all the previous string handling errors and most of them were
already fixed by You. However there were a few left and attached patch
should fix the rest of them.

I used StringInfo only in 2 places and both of them are inside debug
ifdefs. Only performance penalty will come from using strlen() like all
the other code does.

I also modified some of the already patched parts by changing
snprintf(buf, 2 * BUFSIZE, ... style lines to
snprintf(buf, sizeof(buf), ... where buf is an array.

Jukka Holappa
2002-09-02 06:11:43 +00:00
Tom Lane 9f1fc1080e Since we're depending on %option noyywrap in the main scanner now,
we may as well use it in all our flex files.  Make all the flex files
have a consistent set of options.
2002-07-30 16:33:08 +00:00
Peter Eisentraut b0c3c48eb3 Assemble portability modules into libpgport library.
Some makefile simplifications.
2002-07-27 20:10:05 +00:00
Michael Meskes 4be24fe88f Fixed some minor typos. 2002-07-21 11:09:41 +00:00
Michael Meskes 2297f3982b Re-Committed old file. 2002-07-21 08:20:07 +00:00
Michael Meskes a58930bbd5 Synced parser yet again.
Michael
2002-07-20 08:24:18 +00:00
Bruce Momjian b9104e3a97 Remove certain Makefile dependencies by using full pathnames in
configure.in.
2002-07-15 21:34:05 +00:00
Michael Meskes a3ec44a5d3 Commit old versions into main branch again.
Michael
2002-07-01 06:56:10 +00:00
Michael Meskes 9786223480 Committing parser changes. Note, however, that the development bison seems ot have a problem on my home machine. So these go in untested for the time being. But at least I have them in the archive.
Michael
2002-06-30 09:34:14 +00:00
Bruce Momjian d84fe82230 Update copyright to 2002. 2002-06-20 20:29:54 +00:00
Michael Meskes 2fabb99388 Fixed parser bug concerning octal numbers in single quotes. 2002-06-17 13:23:27 +00:00
Michael Meskes 0f865e17e2 Applied Lee Kindness' patch to fix one of memory allocation with floating point numbers. 2002-06-12 12:06:53 +00:00
Jan Wieck 469cb65aca Katherine Ward wrote:
> Changes to avoid collisions with WIN32 & MFC names...
> 1.  Renamed:
>       a.  PROC => PGPROC
>       b.  GetUserName() => GetUserNameFromId()
>       c.  GetCurrentTime() => GetCurrentDateTime()
>       d.  IGNORE => IGNORE_DTF in include/utils/datetime.h & utils/adt/datetim
>
> 2.  Added _P to some lex/yacc tokens:
>       CONST, CHAR, DELETE, FLOAT, GROUP, IN, OUT

Jan
2002-06-11 13:40:53 +00:00
Michael Meskes 7f660adeb1 - Fixed some parser bugs.
- Removed some simple rules to work arounf bison limit for now.
        - Update c_keywords.c to reflect changes in keywords.c.
2002-05-20 09:29:41 +00:00
Michael Meskes f35ced3de9 - Fixed reduce/reduce conflict in parser.
- Synced preproc.y with gram.y.
        - Synced pgc.l with scan.l.
        - Synced keywords.c.
2002-05-19 20:00:53 +00:00
Michael Meskes c8996f9c6b - Synced yet again.
- Fixed a typo in a comment printed by ecpg.
2002-04-28 17:20:03 +00:00
Michael Meskes 75c33220ad Synced preproc.y and keywords.c. 2002-04-22 18:54:43 +00:00
Thomas G. Lockhart 3fab49325d Include stdio.h and stdlib.h for completeness. 2002-04-21 19:51:44 +00:00
Peter Eisentraut ff4281472a Add missing include. 2002-04-20 03:46:16 +00:00
Michael Meskes cc592ed8ea Fixed typo in preproc/type.h 2002-04-16 07:03:56 +00:00
Michael Meskes 70fb71f487 - Synced preproc.y with gram.y
- Fixed one bug in structure handling resulting in using sizeof indicator instead of variable.
2002-04-14 08:59:16 +00:00
Bruce Momjian 811f7df274 When a macro is replaced by the preprocessor, pgc.l reaches a end of
file, which is not the actual end of the file. One side effect of that
is that if you are i n a ifdef block, you get a wrong error telling you
that a endif is missing.

This patch corrects pgc.l and also adds a test of this problem to
test1.pgc. To  convince you apply the patch to test1.pgc first then try
to compile the test the n apply the patch to pgc.l.

The patch moves the test of the scope of an ifdef block to the end of
the file b eeing parsed, including all includes files, ... .

Nicolas Bazin
2002-04-05 11:39:47 +00:00
Tom Lane 5eed835b9a Indenting #if commands is not portable, is it? 2002-03-24 18:22:21 +00:00
Tom Lane 6137ed1b59 Fix minor syntax error. 2002-03-21 18:28:07 +00:00
Michael Meskes 73b92d10c6 Added typedef patches and a new option '-c' to automatically create C typedefs from SQL ones. 2002-03-21 09:42:52 +00:00
Michael Meskes 8e9b215fdf Just one more test case. 2002-03-20 21:00:24 +00:00
Bruce Momjian f5810bb8a5 Add missing trailing semicolons to ecpg rules.
Neil Conway
2002-03-19 12:56:38 +00:00
Bruce Momjian efd45bc68f Manually clean up indenting of ecpg lex/yacc files, OK'ed by Michael
Meskes.  These files are not touched by pgindent so this has to be
manually done.
2002-03-15 21:46:59 +00:00
Michael Meskes 9f9e3c9803 Changed the version numbers, but did not commit the Makefiles. 2002-03-11 12:56:02 +00:00
Michael Meskes 7f7fb4e64c Fixed two bugs in define command in pgc.l 2002-03-10 12:09:54 +00:00
Bruce Momjian ee27436f6c Disable brackets in multi-statement rules, as discussed. 2002-03-10 06:00:15 +00:00
Michael Meskes 5ca7c8e314 Synced parser with backend. 2002-03-06 10:10:52 +00:00
Bruce Momjian 92288a1cf9 Change made to elog:
o  Change all current CVS messages of NOTICE to WARNING.  We were going
to do this just before 7.3 beta but it has to be done now, as you will
see below.

o Change current INFO messages that should be controlled by
client_min_messages to NOTICE.

o Force remaining INFO messages, like from EXPLAIN, VACUUM VERBOSE, etc.
to always go to the client.

o Remove INFO from the client_min_messages options and add NOTICE.

Seems we do need three non-ERROR elog levels to handle the various
behaviors we need for these messages.

Regression passed.
2002-03-06 06:10:59 +00:00
Peter Eisentraut 0055a39390 Add -Wno-error to CFLAGS, so the rest of the tree can compile with
-Werror.
2002-02-23 04:16:04 +00:00
Peter Eisentraut 673b48becb Remove warning about automatic inclusion of sqlca. 2002-02-15 17:46:57 +00:00
Michael Meskes cb8961ab47 Added patch to temporarily disable locale for descriptors too (Christof) 2002-01-23 16:34:06 +00:00
Michael Meskes 2ab3a88879 Accept subsequent commits. This should have been just a warning anyway. I
cannot see a reason why it should be an error.
2002-01-18 15:51:00 +00:00
Tom Lane eab6776358 Ensure that ecpg/test is cleaned by higher-level 'make clean'. 2002-01-14 17:49:56 +00:00
Michael Meskes 7138a1e5fc - Fixed variable handling for struct members.
- Removed check for array input. An attribut might store the
          complete array.
2002-01-13 08:52:09 +00:00
Michael Meskes 051a4f233f Added Christof's fixes. 2002-01-11 14:43:11 +00:00
Michael Meskes 7955f98774 Include sqlca.h automatically. 2002-01-10 10:42:54 +00:00
Tom Lane 92a2598f97 The result of getopt() should be compared to -1, not EOF, per
pgsql-hackers discussion of this date.
2002-01-10 01:11:45 +00:00
Tom Lane d079c419d2 Fix include paths for case of VPATH build. 2002-01-09 00:06:42 +00:00
Tom Lane a34f313223 Fix copy-and-paste mistake exposed by gcc warning. 2002-01-08 23:34:47 +00:00
Peter Eisentraut 154ccb6040 Revert last change (CFLAGS+=-g). Probably was a mistake... 2002-01-08 20:41:28 +00:00
Tom Lane 61dd8b6dc4 Remove shift/reduce conflicts introduced by last change. 2002-01-08 19:02:51 +00:00
Michael Meskes 1e15f9e119 Fixed array pointers, no longer using void * in arithmetics. 2002-01-08 14:25:06 +00:00
Michael Meskes 54452833ef Fixed parser to accept initializing expressions starting with "(". 2002-01-07 16:25:45 +00:00
Peter Eisentraut 731204e090 Editorial review 2002-01-07 02:29:15 +00:00
Michael Meskes 988fdce5d1 - Removed space_or_nl and line_end from pgc.l.
- Fixed several bugs concerning arrays of structs including a memory
  allocation bug.
2001-12-23 12:17:41 +00:00
Michael Meskes 0a7a8256b8 committed the missing files 2001-12-10 14:55:47 +00:00
Michael Meskes a4420c4970 Fixed several bugs concerning indicators and added error messages instead of segfaults. 2001-12-09 15:27:49 +00:00
Michael Meskes d6fbb10556 Fix ecpg to allow pointer to structs. 2001-12-08 20:43:35 +00:00
Michael Meskes 9992f2b104 - Removed debug message from preproc.y.
- Fixed some bugs in exec sql var and exec sql type command.
2001-12-06 14:46:20 +00:00
Michael Meskes ee14711ce8 - Fixed variable handling in AT statement.
- Fixed bug that caused segfault when given incorrect DB name.
        - Fixed bug in ecpglib causing indicator to list the size of the
          variable instead of the size of the data.
2001-12-05 15:32:07 +00:00
Michael Meskes 388008cdd7 Fixed dumping of structs without indicators. 2001-12-04 12:33:15 +00:00
Tom Lane 6c134eb6f1 Spell 'precedes', 'preceding' correctly in various places. 2001-11-21 22:57:01 +00:00
Bruce Momjian 16cb347eee // -> /* */, per Tatsuo. 2001-11-21 05:03:16 +00:00
Tom Lane 100e7f0c9d Once again, Michael has overwritten someone else's patch ... 2001-11-16 17:01:48 +00:00
Peter Eisentraut aff53b27f0 Make the yacc rules safe for parallel make. See discussion on pgsql-patches
and comment in src/backend/parser/Makefile for the technical details.
2001-11-16 16:32:33 +00:00
Michael Meskes 7845954e49 Committed again to add the missing files/patches. 2001-11-16 08:36:37 +00:00
Tom Lane 2a4660f5aa Update keyword lists per suggestions by Peter. There are now four
mutually exclusive keyword lists spanning all known keywords ---
including AS.  Moved COALESCE and a few other ColLabels into the
can-be-ColId list.
2001-11-16 04:08:33 +00:00
Michael Meskes 32a4c3008f Added Christof's patches. 2001-11-14 11:11:49 +00:00
Tom Lane ec438886e1 Allow TIMESTAMP, VARCHAR, et al to be used as unquoted column names,
though alas not as unquoted function names.  De-reserve a bunch of
keywords that could have been in ColId rather than ColLabel all along.
Per recent proposal in pgsql-patches.
2001-11-10 22:31:49 +00:00
Bruce Momjian 77e4fd889c Fix indenting for 'extern "C"' cases. 2001-11-08 20:37:52 +00:00
Bruce Momjian ea08e6cd55 New pgindent run with fixes suggested by Tom. Patch manually reviewed,
initdb/regression tests pass.
2001-11-05 17:46:40 +00:00
Michael Meskes 5d4b94085e Sync parser yet again. 2001-11-02 15:04:03 +00:00
Bruce Momjian 4911c85e86 Add ALTER TABLE ADD UNIQUE regression tests from Christopher Kings-Lynne.
Add space between slash for ALTER TABLE / ADD ....

Regression and *.po updates to follow.
2001-10-31 04:49:44 +00:00
Bruce Momjian c41b6b1b9c Fix small problem Tom Lane found with pgindent run. 2001-10-30 05:38:56 +00:00
Bruce Momjian 6783b2372e Another pgindent run. Fixes enum indenting, and improves #endif
spacing.  Also adds space for one-line comments.
2001-10-28 06:26:15 +00:00
Tom Lane 40ce3a93f1 Remove 294 reduce/reduce conflicts. 2001-10-25 20:56:53 +00:00
Bruce Momjian b81844b173 pgindent run on all C files. Java run to follow. initdb/regression
tests pass.
2001-10-25 05:50:21 +00:00
Michael Meskes e97fe98c36 synced preproc.y with gram.y 2001-10-22 17:05:56 +00:00
Michael Meskes a535cd1f8b removed "not fully implemented" warning for nullif 2001-10-19 14:31:44 +00:00
Bruce Momjian 278669e038 Document all the ecpg error codes. 2001-10-18 20:32:58 +00:00
Michael Meskes 5045004958 Added Lee Kindness' patches. 2001-10-18 11:01:35 +00:00
Tom Lane e158670c1f Doesn't anyone test stuff before they commit it? 2001-10-15 20:15:09 +00:00
Bruce Momjian 394925b60d > Uh, isn't the correct fix
> ! $$ = cat_str(8, make_str("grant"), $2, make_str("on"), $4, $5,
 > make_str("to"), $7, $8);
 > ISTM your patch loses the opt_with_grant clause.  (Of course the
 > backend doesn't currently accept that clause anyway, but that's no
 > reason for ecpg to drop it.)

My patch doesn't loose the option, it's never been passed on anyway:

 opt_with_grant:  WITH GRANT OPTION
                                {
                                        mmerror(ET_ERROR, "WITH GRANT OPTION is not supported.  Only relation owners can
 set privileges");
                                 }
                | /*EMPTY*/
                ;

The existing code in ecpg/preproc/preproc.y to handle the WITH option
simply throws an error and aborts the processing... The patch below
prevents the segfault and also passes on the WITH option to the
backend, probably a better fix.

Lee Kindness
2001-10-15 18:16:31 +00:00
Tom Lane e3b3eb20a4 Synchronize with main parser's keyword list (someone didn't check his
last commit very carefully...)
2001-10-15 00:06:04 +00:00
Michael Meskes 1ebc028cbc - Fixed GRANT statement.
- Synced preproc.y with gram.y.
2001-10-14 12:07:57 +00:00
Michael Meskes 6d5be886bc Fix include file so library is binary compatible again. 2001-10-08 08:08:42 +00:00
Michael Meskes b78efb6d82 Make sure each call to ECPGraise is logged. 2001-10-05 17:37:07 +00:00
Michael Meskes c83137a025 Fixed typo in proproc.y 2001-10-05 06:39:23 +00:00
Tom Lane 2e5fda7b7e DROP AGGREGATE and COMMENT ON AGGREGATE now accept the expected syntax
'aggname (aggtype)'.  The old syntax 'aggname aggtype' is still accepted
for backwards compatibility.  Fix pg_dump, which was actually broken for
most cases of user-defined aggregates.  Clean up error messages associated
with these commands.
2001-10-03 20:54:22 +00:00
Tom Lane f2c657375d Add CREATE OR REPLACE FUNCTION syntax to allow replacing a function
definition without changing the function's OID, thereby not breaking
rules, views, triggers, etc that depend on it.  From Gavin Sherry.
2001-10-02 21:39:36 +00:00
Michael Meskes fecbeedc7e Re-added Tom's patch fixing my setlocale patch. I accidently
deleted it.
2001-10-02 14:08:28 +00:00
Michael Meskes 9f09e8362b - Fixed truncate bug.
- Added patch by Christof Petig <christof.petig@wtal.de> to
clean up
ecpglib.
2001-10-01 12:02:28 +00:00
Tom Lane dc05a996c5 Fix the setlocale problem in a way that actually works. setlocale
returns a string corresponding to the new setting, not the old,
therefore the previous patch was quite wrong.
2001-09-29 20:12:07 +00:00
Michael Meskes 16b9b75876 - Synced preproc.y with gram.y.
- Changed locale handling.
2001-09-25 18:37:17 +00:00
Michael Meskes f0212ced68 - Synced preproc.y with gram.y.
- Synced pgc.l with scan.l.
- Synced keyword.c.
- Include the remaining patches by Christof Petig <christof.petig@wtal.de>.
2001-09-19 14:09:32 +00:00
Tom Lane 09e99a1082 Change addlit() to not assume its input is null-terminated, so that we
don't have more bugs like the quote-quote-quote-quote one.  Propagate
fix into ecpg lexer, too.
2001-09-07 23:17:14 +00:00
Tom Lane 9d4a45e25c Avoid #ifdef inside printf() ... that loses on platforms where printf()
is a macro.
2001-08-28 02:47:18 +00:00
Peter Eisentraut 7e20c35e1c Add ecpg --help and --version. Renumber the exit status codes, which were
documented wrong.
2001-08-24 22:37:36 +00:00
Peter Eisentraut 968d7733a1 Rename config.h to pg_config.h and os.h to pg_config_os.h, fix a number of
places that were including the wrong files.
2001-08-24 14:07:50 +00:00
Bruce Momjian f00caec541 Add ECPGd_cardinality to end of enum list so ecpg compiles. 2001-08-21 15:24:07 +00:00
Michael Meskes db07a3f47f - Synced preproc.y with gram.y.
- Include some patches by Christof Petig <christof.petig@wtal.de>.
2001-08-19 09:21:45 +00:00
Tom Lane d4f4b971a4 Sequences are now based on int8, not int4, arithmetic. SERIAL pseudo-type
has an alias SERIAL4 and a sister SERIAL8.  SERIAL8 is just the same
except the created column is type int8 not int4.
initdb forced.  Note this also breaks any chance of pg_upgrade from 7.1,
unless we hack up pg_upgrade to drop and recreate sequences.  (Which is
not out of the question, but I don't wanna do it.)
2001-08-16 20:38:56 +00:00
Peter Eisentraut f419de8a7f Clean up some warnings and bugs and make things build easier. 2001-08-11 10:52:09 +00:00
Tom Lane 135dea6322 Since PQoidStatus is deprecated, we should probably stop using it in
our own code ...
2001-08-10 22:50:10 +00:00
Tom Lane bf56f0759b Make OIDs optional, per discussions in pghackers. WITH OIDS is still the
default, but OIDS are removed from many system catalogs that don't need them.
Some interesting side effects: TOAST pointers are 20 bytes not 32 now;
pg_description has a three-column key instead of one.

Bugs fixed in passing: BINARY cursors work again; pg_class.relhaspkey
has some usefulness; pg_dump dumps comments on indexes, rules, and
triggers in a valid order.

initdb forced.
2001-08-10 18:57:42 +00:00
Bruce Momjian 77a69a2ed1 Patch to LOCK multiple tables in one LOCK command.
Neil Padgett
2001-08-10 14:30:15 +00:00
Bruce Momjian d1c9633060 Back out LOCK A,B,C patch at Tom's suggestion. 2001-08-04 22:01:39 +00:00
Bruce Momjian 16365ac75b Add LOCK A,B,C functionality as LOCK A;LOCK B;LOCK C; as agreed.
Neil Padgett
2001-08-04 19:39:00 +00:00
Tom Lane f31dc0ada7 Partial indexes work again, courtesy of Martijn van Oosterhout.
Note: I didn't force an initdb, figuring that one today was enough.
However, there is a new function in pg_proc.h, and pg_dump won't be
able to dump partial indexes until you add that function.
2001-07-16 05:07:00 +00:00
Tom Lane 3284758a17 Remove grammar restrictions on order of optional clauses in CREATE GROUP.
From Vince Vielhaber.
2001-07-12 18:03:00 +00:00
Bruce Momjian c4bde42522 The SQL preprocessor ecpg generates "initially deferrable" from
INITIALLY DEFERRED in source code. cf. preproc.y:1455.

Unknown.
2001-07-11 17:31:30 +00:00
Tom Lane 320b6db090 Changes from Vince Vielhaber to allow the optional clauses of CREATE
USER and ALTER USER to appear in any order, not only the fixed order
they used to be required to appear in.
Also, some changes from Tom Lane to create a FULL option for VACUUM;
it doesn't do anything yet, but I needed to change many of the same
files to make that happen, so now seemed like a good time.
2001-07-10 22:09:29 +00:00
Tom Lane 4fe42dfbc3 Add SHARE UPDATE EXCLUSIVE lock mode, coming soon to a VACUUM near you.
Name chosen per pghackers discussion around 6/22/01.
2001-07-09 22:18:34 +00:00
Bruce Momjian a0c12d5e90 Add TEMPORARY sequences and have SERIAL on a temp table have a temporary
sequence.
2001-06-23 00:07:34 +00:00
Michael Meskes a8261182d2 fixed bug in connect.c 2001-06-15 09:55:51 +00:00
Michael Meskes cee82fab71 - Synced preproc.y with gram.y.
- Applied bug fix by John Summerfield.
2001-06-13 12:38:58 +00:00
Michael Meskes cfd184371e - Synced preproc.y with gram.y.
- Synced pgc.l with scan.l.
        - Synced keyword.c.
        - Set ecpg version to 2.9.0.
        - Set library version to 3.3.0.
2001-06-01 06:23:19 +00:00
Peter Eisentraut d9f55edc2c Add provisions for using strdup replacement in the places that still
needed it.

from our fearless Ultrix porter, Alexander Klimov <ask@wisdom.weizmann.ac.il>
2001-05-12 19:49:48 +00:00
Bruce Momjian 54d9099596 Stamp CVS as 7.2. Update all interface version numbers. This is the
time to do it, not during beta because people are using this stuff in
production sometimes.
2001-05-11 01:46:33 +00:00
Tom Lane f905d65ee3 Rewrite of planner statistics-gathering code. ANALYZE is now available as
a separate statement (though it can still be invoked as part of VACUUM, too).
pg_statistic redesigned to be more flexible about what statistics are
stored.  ANALYZE now collects a list of several of the most common values,
not just one, plus a histogram (not just the min and max values).  Random
sampling is used to make the process reasonably fast even on very large
tables.  The number of values and histogram bins collected is now
user-settable via an ALTER TABLE command.

There is more still to do; the new stats are not being used everywhere
they could be in the planner.  But the remaining changes for this project
should be localized, and the behavior is already better than before.

A not-very-related change is that sorting now makes use of btree comparison
routines if it can find one, rather than invoking '<' twice.
2001-05-07 00:43:27 +00:00
Tom Lane f13cb7e524 Fixes to make ecpg work on Cygwin, from Jason Tishler <Jason.Tishler@dothill.com>. 2001-05-03 16:07:52 +00:00
Tom Lane ac2b9aee1c Synced gram.y and preproc.y. 2001-05-01 02:33:55 +00:00
Michael Meskes 495fe1214c Hopefully fixed the long long problem. 2001-04-05 08:21:14 +00:00
Michael Meskes e6851f056a Synced pgc.l with scan.l. 2001-04-02 08:17:24 +00:00
Michael Meskes 827edf2076 Applied bug fix by Adriaan Joubert <a.joubert@albourne.com> 2001-03-29 09:59:00 +00:00
Bruce Momjian 7cf952e7b4 Fix comments that were mis-wrapped, for Tom Lane. 2001-03-23 04:49:58 +00:00
Bruce Momjian 0686d49da0 Remove dashes in comments that don't need them, rewrap with pgindent. 2001-03-22 06:16:21 +00:00
Bruce Momjian 9e1552607a pgindent run. Make it all clean. 2001-03-22 04:01:46 +00:00
Michael Meskes 90c1e2cc43 Fixed bug in handling of pointers to structs. 2001-03-16 13:05:57 +00:00
Tatsuo Ishii fa2e3cffd3 Remove HAVE_OPTARG per discussion in hackers list. 2001-03-01 05:05:29 +00:00
Tatsuo Ishii df247b821d Massive commits for SunOS4 port. 2001-02-27 08:13:31 +00:00
Michael Meskes 06e3d84d88 Fixed variable handling in preproc.y. 2001-02-26 14:42:54 +00:00
Tom Lane be92ad49e0 Change case-folding of keywords to conform to SQL99 and fix misbehavior
in Turkish locale.  Keywords are now checked under pure ASCII case-folding
rules ('A'-'Z'->'a'-'z' and nothing else).  However, once a word is
determined not to be a keyword, it will be case-folded under the current
locale, same as before.  See pghackers discussion 20-Feb-01.
2001-02-21 18:53:47 +00:00
Peter Eisentraut cb6edf9d56 Make sure -L and -I's for our source tree are always before system include
or library directories on the command line.
2001-02-20 19:20:30 +00:00
Michael Meskes 826dc14d8f Synced gram.y and preproc.y. 2001-02-19 07:30:20 +00:00
Bruce Momjian 09029d66c4 Remove // and make /* */ 2001-02-12 13:56:37 +00:00
Peter Eisentraut 2660803697 Only look for bison as YACC; other yaccs need to be selected explicitly.
When no suitable YACC is configured, supply useful informational messages
to users.  (Same way flex has been handled for a while.)
2001-02-10 22:31:42 +00:00
Tom Lane d08741eab5 Restructure the key include files per recent pghackers discussion: there
are now separate files "postgres.h" and "postgres_fe.h", which are meant
to be the primary include files for backend .c files and frontend .c files
respectively.  By default, only include files meant for frontend use are
installed into the installation include directory.  There is a new make
target 'make install-all-headers' that adds the whole content of the
src/include tree to the installed fileset, for use by people who want to
develop server-side code without keeping the complete source tree on hand.
Cleaned up a whole lot of crufty and inconsistent header inclusions.
2001-02-10 02:31:31 +00:00
Bruce Momjian cf516c3bb1 I have deleted the include of termios.h in include/port/qnx4.h.
Then I recompiled pgsql and I have compiled a program with ecpg.

I have removed the termios.h, and the ECHO hack.

Thanks
Maurizio
2001-02-09 15:13:49 +00:00
Bruce Momjian b60c57da2d Apply patches for QNX from Maurizio 2001-02-02 18:21:59 +00:00
Michael Meskes c9ecf3d1f1 Applied two bug fixes by Christof Petig. 2001-01-31 16:12:34 +00:00
Michael Meskes 19c4197bd2 Synced gram.y and preproc.y. 2001-01-25 20:35:19 +00:00
Bruce Momjian 623bf843d2 Change Copyright from PostgreSQL, Inc to PostgreSQL Global Development Group. 2001-01-24 19:43:33 +00:00
Michael Meskes d09fc12044 Moved database name handling to libecpg. 2001-01-23 08:15:50 +00:00
Michael Meskes 88ce6a2ba0 Synced preproc.y with gram.y and added missing include file to pgc.l. 2001-01-22 17:05:50 +00:00
Tom Lane 36839c1927 Restructure backend SIGINT/SIGTERM handling so that 'die' interrupts
are treated more like 'cancel' interrupts: the signal handler sets a
flag that is examined at well-defined spots, rather than trying to cope
with an interrupt that might happen anywhere.  See pghackers discussion
of 1/12/01.
2001-01-14 05:08:17 +00:00
Michael Meskes 353f71a331 Synced preproc.y with gram.y. 2001-01-09 19:46:05 +00:00
Tom Lane 2fb6cc9045 Remove not-really-standard implementation of CREATE TABLE's UNDER clause,
and revert documentation to describe the existing INHERITS clause
instead, per recent discussion in pghackers.  Also fix implementation
of SQL_inheritance SET variable: it is not cool to look at this var
during the initial parsing phase, only during parse_analyze().  See
recent bug report concerning misinterpretation of date constants just
after a SET TIMEZONE command.  gram.y really has to be an invariant
transformation of the query string to a raw parsetree; anything that
can vary with time must be done during parse analysis.
2001-01-05 06:34:23 +00:00
Bruce Momjian 6b75942c72 I've found a memory leak in libecpg of PostgreSQL 7.0.3.
The leak is caused by the memory allocation in
src/interfaces/ecpg/lib/execute.c in line 669 which is never freed.
Adding a "free(array_query);" after PQexec in line 671 seems to fix the
leak.

Thorsten Knabe
2001-01-02 22:03:02 +00:00
Michael Meskes 13b78a2400 - Fixed bug in a connect statement using varchars.
- Synced parser.
2000-12-22 12:43:14 +00:00
Michael Meskes 77145ac824 - Synced gram.y and preproc.y.
- Synced keyword.c.
        - Added several small patches from Christof.
2000-12-18 11:33:55 +00:00
Bruce Momjian 85934d1bdb Remove current->old mapping. 2000-12-15 23:36:20 +00:00
Bruce Momjian 23bd779176 Change ET_WARN to ET_NOTICE to match internal codes, leave message as
WARNING.  Fix German FAQ mention about warning.
2000-12-15 20:01:55 +00:00
Tom Lane 5cf81b3c06 Silence compiler warning. 2000-12-07 02:52:27 +00:00
Tom Lane a27b691e29 Ensure that all uses of <ctype.h> functions are applied to unsigned-char
values, whether the local char type is signed or not.  This is necessary
for portability.  Per discussion on pghackers around 9/16/00.
2000-12-03 20:45:40 +00:00
Peter Eisentraut e5ba2fc5b5 Make all commands that link a program look like
$(CC) $(CFLAGS) $(LDFLAGS) <object files> <extra-libraries> $(LIBS) -o $@

This form seemed to be the most portable, readable, and logical, but in any
case it's better than having a dozen different ones in the tree.
2000-11-30 20:36:13 +00:00
Bruce Momjian 0a829cb865 current cvs tree does build because of a small problem in ECPG. Here is a
little patch which correct that.

    thanks

                cyril
2000-11-26 20:45:19 +00:00
Tom Lane 712af72c77 Fix yacc failures in preproc.y. 2000-11-20 22:03:06 +00:00
Peter Eisentraut 9394d391b8 Add configure checks for strtoll, strtoull (or strto[u]q). Disable
'long long int' portions of ecpg if the type or these functions don't
exist.
2000-11-20 15:56:14 +00:00
Michael Meskes 2d248d6585 Parser synced. 2000-11-20 10:50:42 +00:00
Tom Lane f084a18af5 Eliminate unused-variable warning. 2000-11-20 03:51:33 +00:00
Michael Meskes 5cbbdd2ecb Applied yet another patch by Christof. Thanks Cristof!
Synced parser.
2000-11-09 14:06:57 +00:00
Peter Eisentraut 5e00df3568 Add dependencies required for parallel make 2000-11-08 18:56:25 +00:00
Michael Meskes f27da05c00 Undo incorrectly committed Makefile. 2000-11-07 08:52:22 +00:00
Michael Meskes df8789bb15 Third try. Sorry, I had a wrong path in my copy statement. 2000-11-07 08:46:27 +00:00
Michael Meskes c823b1eedc Added more patches by Cristif Petig. 2000-11-07 08:41:15 +00:00
Michael Meskes b703c127ed Parser sync. 2000-11-03 10:47:54 +00:00
Michael Meskes fae180f477 Added patch by Christof Petig <christof.petig@wtal.de> that fixes some bugs in preproc.y. 2000-10-31 15:11:38 +00:00
Michael Meskes c7a3e0dfcb Sync preproc.y with gram.y. 2000-10-30 14:43:40 +00:00
Michael Meskes dfb12a9850 Removed multibyte stuff since client does not know about encoding in the backendFixed quoting bug reported by Sascha Demetrio (sd@b-comp.de). 2000-10-29 09:44:58 +00:00
Michael Meskes b111331d4b Synced preproc.y with gram.y. 2000-10-25 19:28:09 +00:00
Michael Meskes 03f9e5a5fc Added some more C constructs to the parser. 2000-10-25 07:00:33 +00:00
Michael Meskes 7e02371e0f Fixed mixing of two enum datatypes. 2000-10-22 13:36:19 +00:00
Peter Eisentraut 805e431a38 Add support for VPATH builds, that is, building somewhere else than in the
source directory.  This involves mostly makefiles using $(srcdir) when they
might have used ".".  (Regression tests don't work with this, yet.)

Sort out usage of CPPFLAGS, CFLAGS (and CXXFLAGS).  Add "override" keyword
in most places, to preserve necessary flags even when the user overrode the
flags.
2000-10-20 21:04:27 +00:00
Michael Meskes adeedf9047 Fixed some bugs in C language parsing. 2000-10-17 15:38:26 +00:00
Michael Meskes 0a97c4a047 Simplified parsing of connect rule. 2000-10-17 06:15:29 +00:00
Michael Meskes 3615a6a84d Fixed handling of variables in connect rule. 2000-10-16 19:53:04 +00:00
Michael Meskes 965a0a40e1 Replace constants by C variables wherever possible. 2000-10-12 18:25:36 +00:00
Michael Meskes 8e72a8782c Synced preproc.y with gram.y 2000-10-11 14:56:37 +00:00
Michael Meskes 2d5ff2f9a0 Added patch by Cristof for catching yet another NOTICE. 2000-10-04 12:39:45 +00:00
Michael Meskes 136a4aebb6 removed binary file
CV: ----------------------------------------------------------------------
2000-10-04 10:11:33 +00:00
Bruce Momjian 89f6443ca3 In the meaning of bug-fix, the patch is not needed. Because you
have already modified "next_insert()" in 7.0-ecpglib.  However
in the meaning of speed-up, the patch will be needed.
--
Regards,
SAKAIDA Masaaki  -- Osaka, Japan
2000-10-02 16:15:53 +00:00
Michael Meskes 76f286b2ce - Synced preproc.y with gram.y.
- Synced keyword.c.
- Added patch by Christof Petig <christof.petig@wtal.de> to fix NOT
  FOUND problem on update/insert/delete.
2000-09-26 11:41:45 +00:00