Commit Graph

708 Commits

Author SHA1 Message Date
Michael Meskes
45eebaf822 Fixed segfault in forward definition parsing. 2003-06-02 15:38:02 +00:00
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