Commit graph

8132 commits

Author SHA1 Message Date
Peter Eisentraut
73874a06f0 Change the parser to convert SQL "position" and "substring" syntax to
position() and substring() functions, so that it works transparently for
bit types as well.  Alias the text functions appropriately.

Add position() for bit types.

Add new constant node T_BitString that represents literals of the form
B'1001 and pass those to zpbit type.
2000-10-31 10:22:13 +00:00
Peter Eisentraut
d397c1c8a2 Disallow zero-length delimited identifier (per SQL). 2000-10-30 17:54:16 +00:00
Michael Meskes
c7a3e0dfcb Sync preproc.y with gram.y. 2000-10-30 14:43:40 +00:00
Tatsuo Ishii
c5873820ca Add -enable-uniconv 2000-10-30 13:27:13 +00:00
Tatsuo Ishii
1acf6f9c8e Add support for code conversion between Unicode and other encodings.
Supported encodings are: EUC_JP, EUC_CN, EUC_KR, EUC_TW, Shift JIS,
Big5, ISO8859-[1-5].
TODO: testings! and documentations...
2000-10-30 10:41:05 +00:00
Tatsuo Ishii
0b10d35e2b Avoid dependency on backend's multibyte module as possible.
Now frontend/libpq has its own version of pg_encoding_to_char
and pg_char_to_encoding.
2000-10-30 10:31:46 +00:00
Tatsuo Ishii
e5b6b0ebb9 Add new configure option "--enable-uniconv" that enables automatic
code conversion between Unicode and other encodings. Note that
this option requires --enable-multibyte also.
The reason why this is optional is that the feature requires huge
mapping tables and I don't think every user need the feature.
2000-10-30 07:17:31 +00:00
Tatsuo Ishii
dd9dcd59cf include pg_wchar.h to import a fucntion prototype of pg_mbcliplen 2000-10-30 06:48:36 +00:00
Vadim B. Mikheev
e3ba543525 WAL fixes. 2000-10-29 18:33:41 +00:00
Bruce Momjian
433cd770bc update flags. 2000-10-29 18:13:47 +00:00
Peter Eisentraut
30402ce74a Automatic dependency tracking for C++ (GCC only) 2000-10-29 16:13:28 +00:00
Peter Eisentraut
86f0812520 Remove special treatment of '|' operator, in the spirit of "sane" binary
operators.
2000-10-29 16:11:33 +00:00
Peter Eisentraut
525e1c4436 USE_POSIX_TIME replaced by HAVE_TM_ZONE || HAVE_INT_TIMEZONE, which are
equivalent.

In linux.h there were some #undef HAVE_INT_TIMEZONE, which are useless
because HAVE_TM_ZONE overrides it anyway, and messing with configure
results isn't cool.
2000-10-29 13:17:34 +00:00
Peter Eisentraut
8b04311293 Omit perl and python interfaces when making temporary installation. 2000-10-29 12:49:49 +00:00
Peter Eisentraut
2044bdcca0 Should be "test =", not "test ==". 2000-10-29 11:36:44 +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
Peter Eisentraut
4f82ab4c97 #define JMP_BUF has been unnecessary since the arrival of the sigsetjmp
test.
2000-10-28 23:53:01 +00:00
Peter Eisentraut
0c0a176370 As we don't use struct dirent, the #define SYSV_DIRENT is useless. If we
every do need it we'd better use AC_HEADER_DIRENT from Autoconf.

#define NO_EMPTY_STMTS is completely unused.
2000-10-28 22:53:17 +00:00
Peter Eisentraut
3280cba2ac Make initdb safe against using
a) mismatching backend program, by checking --version output
b) mismatching bki files, by putting a version-identifying comment atop
   those files.
2000-10-28 22:14:14 +00:00
Bruce Momjian
c44323176e Back out change to gram.y for parens. 2000-10-28 19:41:00 +00:00
Bruce Momjian
88094f2e2b beos fixes from Cyril VELTER 2000-10-28 18:27:57 +00:00
Vadim B. Mikheev
5b0740d3fc WAL 2000-10-28 16:21:00 +00:00
Bruce Momjian
2f4c9d39fe Okay, here's my attempt at fixing the problems with parentheses in
subqueries.  It passes the normal 'runcheck' tests, and I've tried
a few simple things like
  select 1 as foo union (((((select 2))))) order by foo;

There are a few things that it doesn't do that have been talked
about here at least a little:

1) It doesn't allow things like "IN(((select 1)))" -- the select
here has to be at the top level.  This is not new.
2) It does NOT preserve the odd syntax I found when I started looking
at this, where a SELECT statement could begin with parentheses.  Thus,
  (SELECT a from foo) order by a;
fails.

I have preserved the ability, used in the regression tests, to
have a single select statement in what appears to be a RuleActionMulti
(but wasn't -- the parens were part of select_clause syntax).
In my version, this is a special form.

This may cause some discussion: I have differentiated the two kinds
of RuleActionMulti.  Perhaps nobody knew there were two kinds, because
I don't think the second form appears in the regression tests. This
one uses square brackets instead of parentheses, but originally was
otherwise the same as the one in parentheses.  In this version of
gram.y, the square bracket form treats SELECT statements the same
as the other allowed statements.  As discussed before on this list,
psql cannot make sense out of the results of such a thing, but an
application might.  And I have designs on just such an application.

++ kevin o'gorman
2000-10-28 15:44:04 +00:00
Peter Eisentraut
3eb9b73718 Remove compiler warnings (add missing include files). Only link against
-lm if it's actually there.
2000-10-28 15:10:36 +00:00
Peter Eisentraut
8df6b2b53f Add --version and --help options to "postgres". 2000-10-28 01:07:00 +00:00
Peter Eisentraut
6707ede813 Make use of system-specific linker option to embed shared library search
path into executables and shared libraries (-rpath or -R for most).  Can be
disabled with --disable-rpath, since some binary packaging standards do not
like this option.
2000-10-27 23:59:39 +00:00
Bruce Momjian
81024e7d80 Fix java driver example. 2000-10-27 22:28:23 +00:00
Peter Eisentraut
26d008c62f Use compiler driver, not linker, to link shared libraries on Unixware. 2000-10-27 20:09:48 +00:00
Peter Eisentraut
7e77668e7a Make regression tests work with VPATH builds. 2000-10-27 20:00:22 +00:00
Tatsuo Ishii
29f6c8dff8 Fix for drop db message format changes 2000-10-27 02:25:34 +00:00
Tatsuo Ishii
2969c01d55 Remove gcc-only macro definition 2000-10-27 02:23:51 +00:00
Tom Lane
063c0f6bea Disallow bits beyond the mask length for CIDR values, per discussion
on pghackers.  Arrange for the sort ordering of general INET values
to be network part as major sort key, host part as minor sort key.
I did not force an initdb for this change, but anyone who's running
indexes on general INET values may need to recreate those indexes.
2000-10-27 01:55:23 +00:00
Tom Lane
2f35b4efdb Re-implement LIMIT/OFFSET as a plan node type, instead of a hack in
ExecutorRun.  This allows LIMIT to work in a view.  Also, LIMIT in a
cursor declaration will behave in a reasonable fashion, whereas before
it was overridden by the FETCH count.
2000-10-26 21:38:24 +00:00
Bruce Momjian
c9476bafdb Update TODO list. 2000-10-26 19:55:10 +00:00
Tom Lane
8cbda7cbd0 Fix breakage I introduced yesterday in MULTIBYTE compilations.
Sorry 'bout that, chief...
2000-10-26 17:31:35 +00:00
Tom Lane
62cc75c8fd Clean up gcc warnings in MULTIBYTE mode. 2000-10-26 17:04:12 +00:00
Peter Eisentraut
07ac8e94c7 In flex --version test, redirect stdin to /dev/null, because some lex' hang
waiting for input.  From Pete Forman <gsez020@kryten.bedford.waii.com>.
2000-10-26 16:28:01 +00:00
Bruce Momjian
a9adde36ea Update TODO list. 2000-10-26 11:41:55 +00:00
Tom Lane
6afa2ae4d2 Clean up broken test for whether to wait for input in SSL case.
Per discussion with Magnus Hagander.
2000-10-25 22:27:25 +00:00
Bruce Momjian
87968e30c6 autoconf 2000-10-25 21:55:13 +00:00
Tom Lane
09a8912f73 Ensure clause_selectivity() behaves sanely when examining an uplevel Var
or a Var that references a subquery output.
2000-10-25 21:48:12 +00:00
Tom Lane
4ad9fe4ce5 Teach psql about new relkind for views. 2000-10-25 20:36:52 +00:00
Tom Lane
0a63b6d066 Support SET/SHOW/RESET client_encoding and server_encoding even when
MULTIBYTE support is not compiled (you just can't set them to anything
but SQL_ASCII).  This should reduce interoperability problems between
MB-enabled clients and non-MB-enabled servers.
2000-10-25 19:44:44 +00:00
Tom Lane
995ccad699 Minor cleanup. 2000-10-25 19:36:03 +00:00
Michael Meskes
b111331d4b Synced preproc.y with gram.y. 2000-10-25 19:28:09 +00:00
Tom Lane
f9453f468d Accept CREATE DATABASE WITH ENCODING 'SQL_ASCII' even when MULTIBYTE
support is not present.  This allows a non-MB server to load a pg_dumpall
script produced by an MB-enabled server, so long as only ASCII encoding
was used.
2000-10-25 18:56:16 +00:00
Peter Eisentraut
53f300d49e Rearrange handling of -L linker options so that they are always before all
the -l options.  (This was not the case when using the  OpenSSL or Kerberos
options.)  Also make sure that shared library links get to see all the -L
options.  Get Kerberos 5 support to compile on Redhat 7.0.  Add OpenSSL and
-lsocket (if used/found) to libpq link.
2000-10-25 16:13:52 +00:00
Thomas G. Lockhart
c404d91c0b From Zoltan Kovacs back in April (sorry for the delay Zoltan!):
I modified the current ODBC driver for

* referential integrity error reporting,
* SELECT in transactions and
* disabling autocommit.

I tested these changes with Borland C++ Builder -> ODBCExpress ->
WinODBC driver (DLL) -> Postgres 7.0beta1 and Borland C++ Builder -> BDE ->
WinODBC driver (DLL) -> Postgres 7.0beta1. The patch is based on snapshot of
22th April (I don't think that someone has modified it since that: Byron
hasn't gave any sign of living for about a month and I didn't find any
comments about the ODBC driver on the list).
2000-10-25 14:15:49 +00:00
Philip Warner
48f0490809 Final (?) fix for tar (null block at end)
Dump template db in dumpall
2000-10-25 10:21:38 +00:00
Michael Meskes
03f9e5a5fc Added some more C constructs to the parser. 2000-10-25 07:00:33 +00:00