Commit Graph

123 Commits

Author SHA1 Message Date
Michael Meskes
635a0b9a86 - Finished major rewrite to use new protocol version
- Really prepare statements
- Added more regression tests
- Added auto-prepare mode
- Use '$n' for positional variables, '?' is still possible via ecpg option
- Cleaned up the sources a little bit
2007-08-14 10:01:54 +00:00
Michael Meskes
d3e131e062 - Changed some whitespacing in connect statement.
- Made some chars const as proposed by Stefan Huehner <stefan@huehner.org>.
- Synced parser and keyword lists.
- Copied two token parsing from backend parser to ecpg parser.
- Also added a test case for this.
2007-03-17 19:25:24 +00:00
Michael Meskes
ab6aa40b64 Applied patch for VPATH builds by Alvaro Herrera <alvherre@commandprompt.com>
Merged dyntest.pgc and dyntest2.pgc.
Hopefully fixed the last Coverity reports (finally)
2006-08-13 10:18:31 +00:00
Michael Meskes
e6e61afe16 Fixed some memory bugs that somehow reappeared.
Also fixed a new Coverity report.
2006-08-09 09:08:32 +00:00
Michael Meskes
0bee536ad8 Replaced $Header$ by $§PosgreSQL$ 2006-07-30 16:28:58 +00:00
Michael Meskes
cdf131abac Added missing $Header$ entries. 2006-07-30 10:24:10 +00:00
Bruce Momjian
1dc3498251 Standard pgindent run for 8.1. 2005-10-15 02:49:52 +00:00
Michael Meskes
ec7806db2c Fixed bug in parsing of typedef'ed array sizes.
Synced parser.
2004-12-06 20:35:35 +00:00
Neil Conway
0e72b9d440 Cosmetic improvements/code cleanup:
- replace some function signatures of the form "some_type foo()" with
"some_type foo(void)"
- replace a few instances of a literal 0 being used as a NULL pointer;
there are more instances of this in the code, but I just fixed a few
- in src/backend/utils/mb/wstrncmp.c, replace K&R style function
declarations with ANSI style, remove use of 'register' keyword
- remove an "extern" modifier that was applied to a function definition
(rather than a declaration)
2004-10-10 23:37:45 +00:00
Bruce Momjian
b6b71b85bc Pgindent run for 8.0. 2004-08-29 05:07:03 +00:00
Michael Meskes
90326c01c9 Added SET DESCRIPTOR command.
Note that this still has some bugs. The functionality is there though, it's just a matter of fixing the bugs now.
Cleaned up error handling in preprocessor.
2004-06-30 15:01:58 +00:00
Michael Meskes
047a2cecff Fixed possible segfault in type.c (by Juergen Cappel) 2004-03-29 15:11:58 +00:00
Michael Meskes
b4c8dcb294 Fixed incorrect output of indicator structs using the name of the data struct. 2004-02-23 18:14:18 +00:00
Michael Meskes
6ccfc4f430 - Issue a warning if a cursor is declared but not opened.
- Fixed prototype for ECPGprepared_statement to not moan about "const char"
- Fixed parsing of nested structures.
- Added option to parse header files.
2004-01-28 09:52:14 +00:00
Michael Meskes
fcdf0e22fc - Added Dave patch for Informix handling of numeric/int conversion.
- Changed all new datatypes to lowercase.
- Fixed rounding bug in numerical types.
2003-09-09 10:46:42 +00:00
Bruce Momjian
089003fb46 pgindent run. 2003-08-04 00:43:34 +00:00
Michael Meskes
f207718b0c More informix fixes. 2003-07-08 12:11:35 +00:00
Michael Meskes
2bdd2e5dcf Use ISO dates in pgtypeslib by default.
Applied patch by Philip Yarra to fix some thread issues.
Added a new data type "decimal" which is mostly the same as our
	"numeric" but uses a fixed length array to store the digits. This is
	for compatibility with Informix and maybe others.
2003-07-01 12:40:52 +00:00
Tom Lane
b3c0551eda Create real array comparison functions (that use the element datatype's
comparison functions), replacing the highly bogus bitwise array_eq.  Create
a btree index opclass for ANYARRAY --- it is now possible to create indexes
on array columns.
Arrange to cache the results of catalog lookups across multiple array
operations, instead of repeating the lookups on every call.
Add string_to_array and array_to_string functions.
Remove singleton_array, array_accum, array_assign, and array_subscript
functions, since these were for proof-of-concept and not intended to become
supported functions.
Minor adjustments to behavior in some corner cases with empty or
zero-dimensional arrays.

Joe Conway (with some editorializing by Tom Lane).
2003-06-27 00:33:26 +00:00
Bruce Momjian
111d8e522b Back out array mega-patch.
Joe Conway
2003-06-25 21:30:34 +00:00
Bruce Momjian
46bf651480 Array mega-patch.
Joe Conway
2003-06-24 23:14:49 +00:00
Michael Meskes
abd310a3b1 Allow constants in using clauses. 2003-06-20 12:00:59 +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
d258fb91cf ecpg now accepts array elements as arguments. 2003-05-23 15:19:36 +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
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
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
89508a8492 More changes to pgtypeslib and set optimization to -O1. 2003-03-27 14:29:17 +00:00
Michael Meskes
2e6f97560a Started adding date and timestamp. 2003-03-20 15:56:50 +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
Bruce Momjian
e50f52a074 pgindent run. 2002-09-04 20:31:48 +00:00
Michael Meskes
1e15f9e119 Fixed array pointers, no longer using void * in arithmetics. 2002-01-08 14:25:06 +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
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
388008cdd7 Fixed dumping of structs without indicators. 2001-12-04 12:33:15 +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
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
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
Bruce Momjian
9e1552607a pgindent run. Make it all clean. 2001-03-22 04:01:46 +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
Michael Meskes
3615a6a84d Fixed handling of variables in connect rule. 2000-10-16 19:53:04 +00:00
Michael Meskes
e9c3f0255f *** empty log message *** 2000-09-19 11:47:16 +00:00
Michael Meskes
ce2a9f372d *** empty log message *** 2000-05-15 09:36:06 +00:00
Bruce Momjian
52f77df613 Ye-old pgindent run. Same 4-space tabs. 2000-04-12 17:17:23 +00:00
Michael Meskes
9fb20f105f *** empty log message *** 2000-04-05 09:05:40 +00:00
Michael Meskes
991b9740ac *** empty log message *** 2000-02-22 19:57:12 +00:00
Michael Meskes
b3b35e98b6 *** empty log message *** 2000-02-17 19:48:58 +00:00
Michael Meskes
c80ba6a1b5 *** empty log message *** 2000-01-18 13:03:49 +00:00
Bruce Momjian
07842084fe pgindent run over code. 1999-05-25 16:15:34 +00:00
Michael Meskes
d471f8073a *** empty log message *** 1999-03-24 20:05:15 +00:00
Marc G. Fournier
d077c61492 From: Michael Meskes <Michael_Meskes@topmail.de>
+
+ Tue Feb 23 17:32:25 CET 1999
+
+       - Other than a struct a union itself cannot be specified as variable.
+
+ Fri Feb 26 07:18:25 CET 1999
+
+       - Synced preproc.y with gram.y.
+
+ Sat Feb 27 20:30:03 CET 1999
+
+       - Added automatic allocating for NULL pointers.
1999-02-28 07:25:34 +00:00
Marc G. Fournier
fa9db42a6e From: Michael Meskes <Michael_Meskes@topmail.de>
+
+ Son Feb 21 14:10:47 CET 1999
+
+       - Fixed variable detection in libecpg.
+
+ Mon Feb 22 19:47:45 CET 1999
+
+       - Added 'at <db_connection>' option to all commands it is apllicable
+         to. Due to changing the API of some libecpg functions this
+         requires me to increase the major version number.
+       - Synced pgc.l with scan.l.
+       - Added support for unions.
+       - Set library version to 3.0.0
+       - Set ecpg version to 3.0.0
1999-02-23 12:57:03 +00:00
Marc G. Fournier
bf6636baa6 From: Michael Meskes <Michael_Meskes@topmail.de>
See Changes file...
1999-02-20 07:01:08 +00:00
Bruce Momjian
9322950aa4 Cleanup of source files where 'return' or 'var =' is alone on a line. 1999-02-03 21:18:02 +00:00
Thomas G. Lockhart
607cd930d5 Changes from Michael Meskes:
Check strdup calls for out of memory.
Set library version to 2.6.2
Synced preproc.y and keywords.c with gram.y and keywords.c yet again.
Set version to 2.4.3
1998-10-03 02:33:51 +00:00
Bruce Momjian
fa1a8d6a97 OK, folks, here is the pgindent output. 1998-09-01 04:40:42 +00:00
Bruce Momjian
af74855a60 Renaming cleanup, no pgindent yet. 1998-09-01 03:29:17 +00:00
Marc G. Fournier
db921be319 From: "Dr. Michael Meskes" <meskes@online-club.de>
+ Thu Jul  2 20:30:14 CEST 1998
+
+       - Changed new style db name to allow connection types "tcp" and
+         "unix" only
+
+ Tue Jul  7 15:14:14 CEST 1998
+
+       - Fixed some bugs in preproc.y
+       - Set version to 2.3.4
1998-07-07 17:59:32 +00:00
Bruce Momjian
6bd323c6b3 Remove un-needed braces around single statements. 1998-06-15 19:30:31 +00:00
Marc G. Fournier
c31a80faf0 From: Michael Meskes <meskes@topsystem.de>
+Wed May 20 10:46:48 CEST 1998
+
+       - Fixed handling of preprocessor directives and variable
+         initialization.
+       - Added enum datatype.
        - Set version to 2.3.2
1998-05-26 13:43:55 +00:00
Marc G. Fournier
ef567413d2 From: Michael Meskes <meskes@topsystem.de>
+
+ Wed May  6 16:09:45 CEST 1998
+
+       - Some more cleanups in the library.
+
+ Thu May  7 12:34:28 CEST 1998
+
+       - Made CONNECT and DISCONNECT statement more SQL3 compliant.
+       - Changed the API for the ECPGconnect function to be able to handle
+         hostnames and ports
+
+ Fri May  8 13:54:45 CEST 1998
+       - More changes to the parser. The connect statement now allows
+         ORACLE style logins.
+       - db-name is accepted in two ways:
+               - <dbname>[@<server>][:<port>]
+               - esql:postgresql://<server>[:<port>][/<dbname>]
+
+ Mon May 11 10:28:37 CEST 1998
+
+       - Added '? options' to connect call.
+       - Also allow USING as keyword for the password
+
+ Thu May 14 15:09:58 CEST 1998
+
+       - Changed preproc.y and pgc.l according to the parser changes in the
+         backend.
+
+ Fri May 15 09:55:21 CEST 1998
+
+       - Added connection_name handling
+
+
+ Mon May 18 10:33:58 CEST 1998
+
+       - Fixed some more bugs
+       - Set version to 2.3.1
+       - Set library version to 2.2
1998-05-18 16:05:05 +00:00
Marc G. Fournier
6bccf64d7b From: Michael Meskes <meskes@topsystem.de>
Tue Apr 28 14:48:41 CEST 1998

      - Put operator "->" back into parser. Note that :foo->bar means the
        C term, but :foo ->bar means the operator "->".

Tue Apr 28 15:49:07 CEST 1998

      - Added exec sql disconnect command.
      - Allow varchar in C to be written in uppercase too.
      - Added whenever option "do break;"

Wed Apr 29 09:17:53 CEST 1998

      - Corrected parsing of C comments.
      - Also allow C++ style comments.
      - Make sure not found is only checked after commands that could
          return it.
      - Added error codes, see ecpgerror.h for details.
      - Added "exec sql <TransactionStmt> release" as disconnect statement
        for compatibility issues.

Thu Apr 30 10:42:10 CEST 1998

      - Added a -t option to disable automatic transaction start.
      - Added sqlerrd[] to sqlca struct.
      - Give back number of tuples affect in sqlca.sqlerrd[2].

Thu Apr 30 13:36:02 CEST 1998

      - Make the return code different in case of different errors.

Wed May  6 11:42:48 CEST 1998

      - Free memory if possible
      - Some bugfixes for bugs I found while changing the memory
          allocation code
      - Now able to fill complete array with one call (see test1.pgc for
          an example)
      - Set version to 2.3.0
      - Set library version to 2.1
1998-05-06 13:03:47 +00:00
Marc G. Fournier
718430ea40 From: Michael Meskes <meskes@topsystem.de>
And the next update. Now you can use only parts of a struct like this:

exec sql select a into :struct.string from foo;
1998-04-27 14:35:58 +00:00
Marc G. Fournier
7500a961f1 From: Michael Meskes <meskes@topsystem.de>
+ Thu Apr 23 09:27:16 CEST 1998
+
+       - Also allow call in whenever statement with the same functionality
+         as do.
+
+ Thu Apr 23 12:29:28 CEST 1998
+
+       - Also rewrote variable declaration part. It is now possible to
+         declare more than one variable per line.
+       - Set version to 2.1.0
+
+ Fri Apr 24 13:50:15 CEST 1998
+
+       - Fixed some bugs.
+       - Set version to 2.1.1
1998-04-24 12:10:20 +00:00
Marc G. Fournier
64e35e1468 Upgrade ECPG to 2.0
Michael Meskes <meskes@topsystem.de>
1998-04-21 13:23:24 +00:00
Marc G. Fournier
96ac738269 From: Michael Meskes <meskes@topsystem.de>
No more shift/reduce conflicts. Also all other bugs I know about are fixed.
1998-02-27 12:59:33 +00:00
Bruce Momjian
a32450a585 pgindent run before 6.3 release, with Thomas' requested changes. 1998-02-26 04:46:47 +00:00
Marc G. Fournier
80e12829cf + Sat Feb 21 19:10:55 CET 1998
+
+       - use char[] as string not as array of bytes that is integers
+
+ Sun Feb 22 16:37:36 CET 1998
+
+       - use long for all size variables
+       - added execute immediate statement
+
+ Sun Feb 22 20:41:32 CET 1998
+
+       - use varcharsize = 1 for all simple types, 0 means pointer, > 1
+         means array if type is char resp. unsigned char
+
+ Thu Feb 24 12:26:12 CET 1998
+
+       - allow 'go to' in whenever statement as well as 'goto'
+       - new argument 'stop' for whenever statement

From: Michael Meskes <meskes@topsystem.de>
1998-02-24 15:52:13 +00:00
Marc G. Fournier
1d6424b1fb From: Michael Meskes <meskes@topsystem.de>
Here's my next patch. this one should fix some more bugs. ecpg now fully
understands the whenever statement.
1998-02-19 13:52:17 +00:00
Marc G. Fournier
25ad1439e1 Major update of ecpg preprocessor
From: Michael Meskes <meskes@topsystem.de>
1998-02-17 01:48:12 +00:00
Marc G. Fournier
38201e21d0 Erk, the whole directory structure changed on us here... 1998-02-10 16:44:17 +00:00