1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-19 13:42:17 +03:00
Commit Graph

4007 Commits

Author SHA1 Message Date
Michael Meskes
14cc1ed7ed Made function better readable. 2009-11-24 16:30:31 +00:00
Tom Lane
8d97c1dcfa Use diff's -w switch only on Windows, to avoid problems with inconsistent
newline representations.  Per buildfarm results and subsequent discussion.
Sync up a couple of other places that had their own policies.
2009-11-23 16:02:24 +00:00
Magnus Hagander
fe4b8c42ad Add missing library to standalone libpq build on Win32.
Hiroshi Saito
2009-11-23 12:54:37 +00:00
Tom Lane
e6c63bf660 Refactor ecpg grammar so that it uses the core grammar's unreserved_keyword
list, minus a few specific words that have to be treated specially.  This
replaces a hard-wired list of keywords that would have needed manual
maintenance, and was not getting it.  The 8.4 coding was already missing
these words, causing ecpg to incorrectly treat them as reserved words:
CALLED, CATALOG, DEFINER, ENUM, FOLLOWING, INVOKER, OPTIONS, PARTITION,
PRECEDING, RANGE, SECURITY, SERVER, UNBOUNDED, WRAPPER.  In HEAD we were
additionally missing COMMENTS, FUNCTIONS, SEQUENCES, TABLES.
Per gripe from Bosco Rama.
2009-11-21 05:44:05 +00:00
Alvaro Herrera
e9984c47e9 Change "name" nonterminal in cursor-related productions to cursor_name.
This is a preparatory patch for allowing a dynamic cursor name be used in the
ECPG grammar.

Author: Zoltan Boszormenyi
2009-11-11 20:31:26 +00:00
Alvaro Herrera
2ea179f361 Support optional FROM/IN in FETCH and MOVE
The main motivation for this is that it's required for Informix compatibility
in ECPG.

This patch makes the ECPG and core grammars a bit closer to one another for
these productions.

Author: Zoltan Boszormenyi
2009-11-11 19:25:42 +00:00
Tom Lane
593f4b854a Don't treat NEW and OLD as reserved words anymore. For the purposes of rules
it works just as well to have them be ordinary identifiers, and this gets rid
of a number of ugly special cases.  Plus we aren't interfering with non-rule
usage of these names.

catversion bump because the names change internally in stored rules.
2009-11-05 23:24:27 +00:00
Peter Eisentraut
f1c5247563 Simplify a few makefile rules since install-sh can now install multiple
files in one run.
2009-10-26 21:33:01 +00:00
Peter Eisentraut
ef8df75e67 Translations update for 8.5alpha2 2009-10-20 18:23:27 +00:00
Michael Meskes
d9623859e8 Made ECPG more robust against applications freeing strings, based on
patch send in by Boszormenyi Zoltan <zb@cybertec.at>.
2009-10-15 10:20:15 +00:00
Michael Meskes
fabf75cffc Applied patch by Boszormenyi Zoltan <zb@cybertec.at> to fix memory leak in decimal handling. 2009-10-01 18:03:54 +00:00
Michael Meskes
2ad57ee276 Added some explanation about how the parser is generated, taken from an email by
Zoltan Boszormenyi <zb@cybertec.at>.
2009-09-28 08:50:57 +00:00
Tom Lane
61be11ff08 Make libpq reject non-numeric and out-of-range port numbers with a suitable
error message, rather than blundering on and failing with something opaque.

Sam Mason
2009-09-27 03:43:10 +00:00
Tom Lane
9048b73184 Implement the DO statement to support execution of PL code without having
to create a function for it.

Procedural languages now have an additional entry point, namely a function
to execute an inline code block.  This seemed a better design than trying
to hide the transient-ness of the code from the PL.  As of this patch, only
plpgsql has an inline handler, but probably people will soon write handlers
for the other standard PLs.

In passing, remove the long-dead LANCOMPILER option of CREATE LANGUAGE.

Petr Jelinek
2009-09-22 23:43:43 +00:00
Michael Meskes
dacaeff5ae Added patch by Bernd Helmle <bernd.helmle@credativ.de> that adds a low level
function that returns the current transaction status.
2009-09-18 13:13:32 +00:00
Michael Meskes
f3ef948592 Applied patch by Boszormenyi Zoltan <zb@cybertec.at> to add missing ";" to rule in pgc.l. 2009-09-15 08:44:57 +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
Michael Meskes
fc19373993 Fixed incorrect memory management. 2009-09-03 10:24:48 +00:00
Michael Meskes
2720c57005 Removed some variables no longer needed. 2009-09-03 09:59:20 +00:00
Michael Meskes
fe35c8e145 Do not set connection values if no connection is open. 2009-09-03 09:09:01 +00:00
Magnus Hagander
5c709eecdc Revert Makefile modification that broke the MSVC build. 2009-09-02 19:14:14 +00:00
Peter Eisentraut
234c7ce9f2 Derived files that are shipped in the distribution used to be built in the
source directory even for out-of-tree builds.  They are now alsl built in
the build tree.  This should be more convenient for certain developers'
workflows, and shouldn't really break anything else.
2009-08-28 20:26:19 +00:00
Magnus Hagander
0e3f0cbddc exports.txt needs to use spaces as separators, not tabs, to work properly
with the sed rules.
2009-08-27 16:49:41 +00:00
Peter Eisentraut
9d182ef002 Update of install-sh, mkinstalldirs, and associated configury
Update install-sh to that from Autoconf 2.63, plus our Darwin-specific
changes (which I simplified a bit).  install-sh is now able to install
multiple files in one run, so we could simplify our makefiles sometime.

install-sh also now has a -d option to create directories, so we don't need
mkinstalldirs anymore.

Use AC_PROG_MKDIR_P in configure.in, so we can use mkdir -p when available
instead of install-sh -d.  For consistency with the rest of the world,
the corresponding make variable has been renamed from $(mkinstalldirs) to
$(MKDIR_P).
2009-08-26 22:24:44 +00:00
Michael Meskes
cf37d68467 Made sure sqlca is reset for declare cursor in Informix mode as pointed out by
Böszörményi Zoltán <zb@cybertec.at>.
2009-08-14 13:28:22 +00:00
Peter Eisentraut
7798147a76 Expand test coverage support to entire tree
Test coverage support now covers the entire source tree, including
contrib, instead of just src/backend.  In a related but independent
development, the commands make coverage and make coverage-html can be run
in any directory.

This turned out to be much easier than feared.  Besides a few ad hoc fixes
to pass the make target down the tree, change all affected makefiles to
list their directories in the SUBDIRS variable, changed from variants like
DIRS and WANTED_DIRS.  MSVC build fix was attempted as well.
2009-08-07 20:50:22 +00:00
Bruce Momjian
d2e7afe54a Remove unused ecpg variable. 2009-08-07 16:47:53 +00:00
Michael Meskes
5d34af421d Added STRING datatype for Informix compatibility mode. This work is
based on a patch send in by Böszörményi Zoltán <zb@cybertec.at>.
2009-08-07 10:51:21 +00:00
Michael Meskes
16f3cf8c0c Fixed copyright notice. 2009-08-05 11:42:20 +00:00
Tom Lane
466a4925f5 Fix an ecpg test, too. Are we there yet? 2009-08-04 21:09:39 +00:00
Tom Lane
5b8ee5c128 Teach PQescapeByteaConn() to use hex format when the target connection is
to a server >= 8.5.  Per my proposal in discussion of hex-format patch.
2009-08-04 18:05:42 +00:00
Tom Lane
a2a8c7a662 Support hex-string input and output for type BYTEA.
Both hex format and the traditional "escape" format are automatically
handled on input.  The output format is selected by the new GUC variable
bytea_output.

As committed, bytea_output defaults to HEX, which is an *incompatible
change*.  We will keep it this way for awhile for testing purposes, but
should consider whether to switch to the more backwards-compatible
default of ESCAPE before 8.5 is released.

Peter Eisentraut
2009-08-04 16:08:37 +00:00
Tom Lane
b680ae4bdb Improve unique-constraint-violation error messages to include the exact
values being complained of.

In passing, also remove the arbitrary length limitation in the similar
error detail message for foreign key violations.

Itagaki Takahiro
2009-08-01 19:59:41 +00:00
Tom Lane
cea80e726e Avoid extra system calls to block SIGPIPE if the platform provides either
sockopt(SO_NOSIGPIPE) or the MSG_NOSIGNAL flag to send().

We assume these features are available if (1) the symbol is defined at
compile time and (2) the kernel doesn't reject the call at runtime.
It might turn out that there are some platforms where (1) and (2) are
true and yet the signal isn't really blocked, in which case applications
would die on server crash.  If that sort of thing gets reported, then
we'll have to add additional defenses of some kind.

Jeremy Kerr
2009-07-24 17:58:31 +00:00
Magnus Hagander
ea382424ee Fix mismatch in const:ness of parameters. 2009-07-22 11:07:02 +00:00
Tom Lane
4baaaf7a81 Remove duplicate definition of TYPECAST token.
(Apparently, some but not all versions of Bison will warn about this.)
2009-07-14 20:34:48 +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
4bd556b193 Stamp minor library version numbers for 8.5; sorry for the delay. 2009-07-13 01:37:05 +00:00
Tom Lane
f4ab0b032b Stamp HEAD as 8.5devel. 2009-07-01 23:15:55 +00:00
Peter Eisentraut
a6667d96c5 Translation updates for 8.4 release.
File that are translated less than 80% have been removed, as per new
translation team policy.
2009-06-26 19:33:52 +00:00
Magnus Hagander
a93e7432cf Properly initialize SSL engines when used from libpq. This is required for
most external engines.

Per report and initial code from Lars Kanis
2009-06-23 18:13:23 +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
Peter Eisentraut
0b7b908882 Translation updates 2009-06-10 23:42:44 +00:00
Peter Eisentraut
0465c52b00 Arrange that the string "syntax error" generated by bison is translated. 2009-06-10 23:11:52 +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
e7f4923d3b Reverting patch just in case a compiler treats this enum as signed. 2009-05-27 14:16:51 +00:00
Tom Lane
8af641ac1f Remove unused declarations of EncodeTimeOnly and DecodeTimeOnly. 2009-05-26 01:39:49 +00:00
Michael Meskes
ab9981ccc6 Removed comparison of unsigned expression < 0. 2009-05-21 12:54:27 +00:00
Michael Meskes
14f29f640a Removed unsigned/signed mismatches. 2009-05-20 16:49:23 +00:00
Michael Meskes
11a497f99a More variables gcc moans about 2009-05-20 16:39:56 +00:00