1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-11 05:41:32 +03:00

86 Commits

Author SHA1 Message Date
Michael Meskes
2ae7811db8 Small code cleanup.
Declare static variable as static and external as extern.
2014-10-22 16:46:55 +02:00
Bruce Momjian
0a78320057 pgindent run for 9.4
This includes removing tabs after periods in C comments, which was
applied to back branches, so this change should not effect backpatching.
2014-05-06 12:12:18 -04:00
Peter Eisentraut
b21de4e7b3 ecpg: Split off mmfatal() from mmerror()
This allows decorating mmfatal() with noreturn compiler hints, leading
to better diagnostics.
2013-11-19 21:56:54 -05:00
Andrew Dunstan
c02d5b7c27 Use a macro variable PG_PRINTF_ATTRIBUTE for the style used for checking printf type functions.
The style is set to "printf" for backwards compatibility everywhere except
on Windows, where it is set to "gnu_printf", which eliminates hundreds of
false error messages from modern versions of gcc arising from  %m and %ll{d,u}
formats.
2011-04-28 10:56:14 -04:00
Bruce Momjian
bf50caf105 pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
Michael Meskes
1066dbfb85 There is no need to have to identical functions in ecpg thus removing one of them. 2011-01-09 12:47:43 +01:00
Michael Meskes
35d5d962e1 Some cleanup in ecpg code:
Use bool as type for booleans instead of int.
Do not implicitely cast size_t to int.
Make the compiler stop complaining about unused variables by adding an empty statement.
2010-11-02 18:12:01 +01:00
Magnus Hagander
9f2e211386 Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
Michael Meskes
aa6ac35221 Applied patch by Boszormenyi Zoltan <zb@cybertec.at> to add out-of-scope cursor support to native mode. 2010-01-26 09:07:32 +00:00
Michael Meskes
6d4a351fcb Applied patch by Boszormenyi Zoltan <zb@cybertec.at> to add sqlda support to
ecpg in both native and compatiblity mode.
2010-01-05 16:38:23 +00:00
Michael Meskes
a160c421a5 Added dynamic cursor names to ecpg. Almost the whole patch was done by
Boszormenyi Zoltan, with only a minor tweak or two from me.
2009-11-26 15:06:47 +00:00
Tom Lane
4d3456e85d Remove outside-the-scanner references to "yyleng".
It seems the flex developers have decided to change yyleng from int to size_t.
This has already happened in the latest release of OS X, and will start
happening elsewhere once the next release of flex appears.  Rather than trying
to divine how it's declared in any particular build, let's just remove the one
existing not-very-necessary external usage.

Back-patch to all supported branches; not so much because users in the field
are likely to care about building old branches with cutting-edge flex, as
to keep OSX-based buildfarm members from having problems with old branches.
2009-09-08 04:25:00 +00:00
Tom Lane
1aa58d3a83 Tweak the core scanner so that it can be used by plpgsql too.
Changes:

Pass in the keyword lookup array instead of having it be hardwired.
(This incidentally allows elimination of some duplicate coding in ecpg.)

Re-order the token declarations in gram.y so that non-keyword tokens have
numbers that won't change when keywords are added or removed.

Add ".." and ":=" to the set of tokens recognized by scan.l.  (Since these
combinations are nowhere legal in core SQL, this does not change anything
except the precise wording of the error you get when you write this.)
2009-07-14 20:24:10 +00:00
Bruce Momjian
d747140279 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list
provided by Andrew.
2009-06-11 14:49:15 +00:00
Tom Lane
b5c838e170 Clean up ecpg's use of mmerror(): const-ify the format argument, add an
__attribute__() marker so that gcc can validate the format string against
the actual arguments, get rid of overcomplicated and unsafe usage in
base_yyerror().
2009-06-03 20:24:51 +00:00
Michael Meskes
f7563e9710 Synced parser.
Made ecpg parser use backend provided keyword list.
Changed whenever test so exit value is 0.
2008-05-20 23:17:32 +00:00
Bruce Momjian
fdf5a5efb7 pgindent run for 8.3. 2007-11-15 21:14:46 +00:00
Michael Meskes
fefe7034e2 More cleaning up and removed some duplicates. 2007-08-22 08:20:58 +00:00
Michael Meskes
cbe74fafe5 Hopefully fixed missing CHAR_BIT symbol 2007-08-14 10:54:57 +00:00
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
91411b6105 Fixed one memory leak in descriptor code.
Made sure ecpg deletes output file in case of an error.
2007-06-11 11:52:08 +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
5b88b85cad Applied Joachim's patch for a --regression option.
Made this option mark the .c files, so the environment variable is no longer needed.
Created a special MinGW file with the special error message.
Do not print port into log file when running regression tests.
2007-01-11 15:47:34 +00:00
Bruce Momjian
f3d99d160d Add CVS tag lines to files that were lacking them. 2006-03-11 04:38:42 +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
03ad5da8f8 - Only use typedefs inside their scope.
- Variables that are out of scope, were not removed all the time.
- Make a varchar NULL set everything to 0 when not using indicators.
- Synced parser.
2004-06-27 12:28:42 +00:00
Michael Meskes
2b55612645 - Added additional test case.
- Fixed bug that reversed string length in typedefs.
- Added portability file to pgtypeslib.
2004-05-07 13:42:49 +00:00
Michael Meskes
95eea2d89c - Added just another patch by Dave that fixes a reversed order in
variable listing for output variables in cursor definitions
- Fixed incorrect if call in long=>numeric conversion.
2003-12-17 15:23:45 +00:00
Bruce Momjian
089003fb46 pgindent run. 2003-08-04 00:43:34 +00:00
Michael Meskes
4505653e54 Added just another compatibility level for Informix. 2003-06-26 11:37:05 +00:00
Michael Meskes
fd3ca524eb Implemented Informix special way to treat NULLs, removed warnings, synced. 2003-06-25 10:44:21 +00:00
Michael Meskes
26188e8c17 - Enable FETCH without INTO.
- Compatibility functions for INFORMIX handling of DECLARE statement.
2003-06-13 10:50:58 +00:00
Michael Meskes
196d0dd10b Changed variable parsing so struct[n].attr works. 2003-05-29 13:59:26 +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
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
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
Michael Meskes
1a9b0613c1 - Applied error reporting patch by Matthew Vanecek
- Started with an Informix compatibility option.
2003-02-13 13:11:52 +00:00
Peter Eisentraut
b91f9042b0 Add guards against double inclusion. 2002-10-21 18:53:20 +00:00
Bruce Momjian
e50f52a074 pgindent run. 2002-09-04 20:31:48 +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
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
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
a4420c4970 Fixed several bugs concerning indicators and added error messages instead of segfaults. 2001-12-09 15:27:49 +00:00
Michael Meskes
7845954e49 Committed again to add the missing files/patches. 2001-11-16 08:36:37 +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
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
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