Commit Graph

4503 Commits

Author SHA1 Message Date
Thomas G. Lockhart bcb5aac81d Add keywords to implement Vadim's transaction isolation
and lock syntax as fully parsed tokens.
Two keywords for isolation are non-reserved SQL92
 (COMMITTED, SERIALIZABLE).
All other new keywords are non-reserved Postgres (not SQL92)
 (ACCESS, EXCLUSIVE, MODE, SHARE).
Add syntax to allow CREATE [GLOBAL|LOCAL] TEMPORARY TABLE, throwing an
 error if GLOBAL is specified.
1999-05-12 07:22:52 +00:00
Thomas G. Lockhart 3ce054b57d Fix problem with multiple indices defined if using column- and table-
constraints. Reported by Tom Lane.
Now, check for duplicate indices and retain the one which is a primary-key.
Adjust elog NOTICE messages to surround table and column names with single
 quotes.
1999-05-12 07:17:18 +00:00
Thomas G. Lockhart 575c40a61f Handle conversion of floating point constants to internal strings. 1999-05-12 07:14:24 +00:00
Thomas G. Lockhart 8d21a6ef51 Keep long non-quoted numeric strings *as* untyped strings if they fail
the obvious conversion.
Define a new pattern "decimal" which is non-exponential floating point
 for use with numeric() and decimal() types.
1999-05-12 07:12:51 +00:00
Tom Lane a36a7a16eb Fix bogus assumption that MAXALIGN is at least sizeof(pointer). 1999-05-12 04:38:24 +00:00
Tom Lane 5085132c6d Fix configure to generate correct expansion of library directory
in pl/plpgsql/src/mklang.sql.
1999-05-11 22:57:50 +00:00
Bruce Momjian a9bd936066 Just a couple more files to untar in src/test/regress
(int2,int4,geometry).

Cheers,

Patrick Welche
1999-05-11 16:29:45 +00:00
Jan Wieck 5057010944 Changed debug options:
-d4 now prints compressed trees from nodeToString()
-d5 prints pretty trees via nodeDisplay()

new pg_options: pretty_plan, pretty_parse, pretty_rewritten

Jan
1999-05-11 09:06:35 +00:00
Bruce Momjian 1ba362f567 put back mklang.sql.in file. 1999-05-11 03:30:41 +00:00
Bruce Momjian 12f9de3fd4 clean up comments 1999-05-11 03:28:43 +00:00
Jan Wieck bb885dd1a1 Check for NUMERIC overflow a second time after rounding
Jan
1999-05-10 18:17:44 +00:00
Bruce Momjian 0d5c832363 Allow perl install as non-root, from Geoff Keating 1999-05-10 17:01:25 +00:00
Bruce Momjian 94bd4e3da7 Update to PyGreSQL 2.3. 1999-05-10 16:10:51 +00:00
Bruce Momjian 86dacdb74c libpq++ uses fe_setauthsvc which is deprecated and results in an error
on connection. This patch changes it to use PQconnectdb rather than
{fe_setauthsvc,PQsetdb}. This still isn't the complete solution, as
there
is no provision for user,password in class PgEnv, but it does get rid of
the error message. Tested with gcc version egcs-2.91.60 19981201
(egcs-1.1.1 release) under NetBSD-1.3K/i386.

Cheers,

Patrick Welche
1999-05-10 15:27:19 +00:00
Bruce Momjian d6e33c8b07 Rename MAP_FILE to USERMAP_FILE for Digital Unix. 1999-05-10 15:17:17 +00:00
Bruce Momjian f4213e6b23 Fix initdb problem introduced by recent patch. 1999-05-10 04:02:07 +00:00
Bruce Momjian 4853495e03 Change error messages to oids come out as %u and not %d. Change has no
real affect now.
1999-05-10 00:46:32 +00:00
Tom Lane b7332c9243 Correct type_sanity test so it doesn't spit up on new
definition of numeric_in.
1999-05-09 23:43:25 +00:00
Tom Lane 0b69d8a27c Rearrange top-level rewrite operations so that EXPLAIN works
on queries involving UNION, EXCEPT, INTERSECT.
1999-05-09 23:31:47 +00:00
Tatsuo Ishii 6458daa180 Running lo_read/lo_write under different memory context
cause troubles. See
Message-Id: <199905090312.MAA00466@ext16.sra.co.jp>
for more details.
1999-05-09 15:00:18 +00:00
Vadim B. Mikheev 202e523d10 Mistyping by me.
Fixed by Hiroshi.
1999-05-09 14:00:29 +00:00
Tom Lane 3c6491ff96 Repair incorrect pg_proc entry for numeric_in. 1999-05-09 02:22:16 +00:00
Tom Lane b5bcef683b Fix some miscellaneous places that were using raw open() or
fopen(), instead of going through fd.c ... naughty naughty.
1999-05-09 00:54:30 +00:00
Tom Lane 71d5d95376 Update hash and join routines to use fd.c's new temp-file
code, instead of not-very-bulletproof stuff they had before.
1999-05-09 00:53:22 +00:00
Tom Lane c1167a08ca Add 'temporary file' facility to fd.c, and arrange for temp
files to be closed automatically at transaction abort or commit, should
they still be open.  Also close any still-open stdio files allocated with
AllocateFile at abort/commit.  This should eliminate problems with leakage
of file descriptors after an error.  Also, put in some primitive buffered-IO
support so that psort.c can use virtual files without severe performance
penalties.
1999-05-09 00:52:08 +00:00
Bruce Momjian b0f1880a8e Add new netbsd file. 1999-05-08 19:28:20 +00:00
Michael Meskes e18c912acf *** empty log message *** 1999-05-07 18:03:37 +00:00
Bruce Momjian ef26ad2ebd Remove unused Netbsd files. 1999-05-07 02:46:24 +00:00
Bruce Momjian c22d35be4e Please apply the following patch for regress.sh to do something useful with
"SYSTEM", and unpack the files in the uuencoded .tar.gz file at the end in
src/test/regress so that the int2, int4 and geometry tests pass on NetBSD/i386.
They just fail on different wording of error messages and eg printing "0"
rather than "-0". At a guess the same will be true for the other NetBSD ports,
but I can't test them.

Cheers,

Patrick
1999-05-07 02:37:08 +00:00
Bruce Momjian 5a0b77aa44 Please apply the following patch for regress.sh to do something useful
with
"SYSTEM", Patrick Welche
1999-05-07 02:31:43 +00:00
Vadim B. Mikheev 122abf3af3 Fix LMGR for MVCC.
Get rid of Extend lock mode.
1999-05-07 01:23:11 +00:00
Tom Lane 86bc1da262 Update regress test for CASE to enable tests involving joins. 1999-05-06 23:09:30 +00:00
Tom Lane ec1f5f78b9 Fix oversights in flatten_tlistentry and replace_clause_joinvar_refs
that led to CASE expressions not working very well in joined queries.
1999-05-06 23:07:33 +00:00
Tom Lane 5729c3503d fix_indxqual_references didn't cope with ArrayRef nodes,
meaning that this failed:
select proname,typname,prosrc from pg_proc,pg_type
where proname = 'float8' and pg_proc.proargtypes[0] = pg_type.oid;
1999-05-06 01:30:58 +00:00
Tom Lane 9f82f9e459 Fix some nasty coredump bugs in hashjoin. This code was just
about certain to fail anytime it decided the relation to be hashed was
too big to fit in memory --- the code for 'batching' a series of hashjoins
had multiple errors.  I've fixed the easier problems.  A remaining big
problem is that you can get 'hashtable out of memory' if the code's
guesstimate about how much overflow space it will need turns out wrong.
That will require much more extensive revisions to fix, so I'm committing
these fixes now before I start on that problem.
1999-05-06 00:30:47 +00:00
Bruce Momjian 5d5cf912bc I have two patches for 6.5.0:
arrayfuncs.patch        fixes a small bug in my previous patches for
arrays

array-regress.patch     adds _bpchar and _varchar to regression tests

--
Massimo Dal Zotto
1999-05-05 21:38:40 +00:00
Bruce Momjian 81ff51615d small error message improvement from Dmitry Samersoff 1999-05-05 13:51:38 +00:00
Tom Lane 1afe0b3146 Repair incorrectly-figured snprintf length restriction. 1999-05-04 23:39:20 +00:00
Thomas G. Lockhart 84e832a802 Use sprintf() to convert float8 to a string during conversion to numeric.
Original code used float8out(), but the resulting exponential notation
 was not handled (e.g. '3E9' was decoded as '3').
1999-05-04 15:50:24 +00:00
Thomas G. Lockhart 54067db642 Allow -t tablename to preserve case if specified as "tablename". 1999-05-04 15:47:35 +00:00
Tom Lane 5da466c597 Make sure targetlist generated for subplan does not share
nodes with HAVING qualifier of upper plan.  Have not seen any failures,
just being a little bit paranoid...
1999-05-04 00:00:20 +00:00
Tom Lane b6c732e63c Correct declaration of array_map() so that it doesn't make
gcc quite so unhappy.
1999-05-03 23:48:26 +00:00
Bruce Momjian 210055ad61 here are some patches for 6.5.0 which I already submitted but have never
been applied. The patches are in the .tar.gz attachment at the end:

varchar-array.patch     this patch adds support for arrays of bpchar() and
                        varchar(), which where always missing from postgres.

                        These datatypes can be used to replace the _char4,
                        _char8, etc., which were dropped some time ago.

block-size.patch        this patch fixes many errors in the parser and other
                        program which happen with very large query statements
                        (> 8K) when using a page size larger than 8192.

                        This patch is needed if you want to submit queries
                        larger than 8K. Postgres supports tuples up to 32K
                        but you can't insert them because you can't submit
                        queries larger than 8K. My patch fixes this problem.

                        The patch also replaces all the occurrences of `8192'
                        and `1<<13' in the sources with the proper constants
                        defined in include files. You should now never find
                        8192 hardwired in C code, just to make code clearer.


--
Massimo Dal Zotto
1999-05-03 19:10:48 +00:00
Tom Lane da5f1dd722 Revise union_planner and associated routines to clean up breakage
from EXCEPT/HAVING patch.  Cases involving nontrivial GROUP BY expressions
now work again.  Also, the code is at least somewhat better documented...
1999-05-03 00:38:44 +00:00
Tom Lane 605d84941d Clean up cost_sort some more: most callers were double-counting
the cost of reading the source data.
1999-05-01 19:47:42 +00:00
Tom Lane 87d95ca04d Arrange for VACUUM to delete the init file that relcache.c uses
to save a little bit of backend startup time.  This way, the first
backend started after a VACUUM will rebuild the init file with up-to-date
statistics for the critical system indexes.
1999-05-01 19:09:46 +00:00
Tom Lane f7d25d2ab6 -T was omitted from getopt() call. 1999-05-01 17:16:25 +00:00
Tom Lane c422e1a93d Fix compile failures in dt.c --- line broken in middle of
an identifier :-(.  Sloppy transmission of a patch, likely.
1999-05-01 17:14:56 +00:00
Vadim B. Mikheev b4c7a5655d Patch from "Hiroshi Inoue" <Inoue@tpf.co.jp> for
FATAL 1:btree: BTP_CHAIN flag was expected
1999-05-01 16:09:45 +00:00
Vadim B. Mikheev 34a84addc7 Use page-level ExtendLock lock instead of table-level -
should be faster.
1999-05-01 15:04:46 +00:00
Bruce Momjian 099164039d cleanup 1999-04-30 17:03:04 +00:00
Bruce Momjian f4dcafc825 Clean up typo causing compile failure. 1999-04-30 16:22:46 +00:00
Tom Lane 17dbeebb5f Fill in reasonable-looking cost estimates in inserted nodes.
This makes no difference to the optimizer, which has already decided what
it's gonna do, but it makes the output of EXPLAIN much more plausible.
1999-04-30 04:04:27 +00:00
Tom Lane 7a7ba33536 Clean up some bogosities in path cost estimation, like
sometimes estimating an index scan of a table to be cheaper than a
sequential scan of the same tuples...
1999-04-30 04:01:44 +00:00
Tom Lane 11a0027e28 Fix nasty little typo that prevented get_cheapest_path_for_joinkeys
from ever returning a path.  This put a bit of a crimp in the system's
ability to generate intelligent merge-join plans...
1999-04-30 03:59:06 +00:00
Bruce Momjian 52f1b2f3b6 Prevent priority inversion in locking by checking for existing locks
before going into queue behind person with higher piority.
1999-04-30 02:04:51 +00:00
Jan Wieck 7d62e9c719 Bugfix (bug by me in 1.4) in backparsing INSERT ... SELECT
Jan
1999-04-29 15:52:01 +00:00
Tom Lane 99f61dac7e Defend against 'update oid'. Someday we might want to support
that, but it'd be a New Feature, wouldn't it ... in the meantime,
avoiding a backend crash seems worthwhile.
1999-04-29 03:01:50 +00:00
Tom Lane fd31563777 Aggregate functions didn't work on subscripted array references.
Things are better now.
1999-04-29 01:13:13 +00:00
Tom Lane 970583ab4f Several routines in setrefs.c would crash on array refs
due to lack of check for recursing into a null subexpression.
1999-04-29 00:20:27 +00:00
Tom Lane 89cf9303fd Fix stupid typo that broke empty-query response... odd that
this is not revealed by any of our regression tests...
1999-04-28 22:17:58 +00:00
Jan Wieck 26909a0797 Fixed DECIMAL data type to handle specified precision in atttypmod
Jan
1999-04-27 13:33:43 +00:00
Tatsuo Ishii 6e702210c2 Fix for _copyUnique() suggested by Hiroshi Inoue 1999-04-27 09:49:36 +00:00
Marc G. Fournier 1c1cafe72f These are no longer used ... 1999-04-26 13:37:14 +00:00
Marc G. Fournier a4041bce99 provides string to be used for expected/* files for system specific output... 1999-04-26 13:33:19 +00:00
Michael Meskes dd6b1aaa25 *** empty log message *** 1999-04-26 05:28:48 +00:00
Tatsuo Ishii 89c7369d0e Fix from Yutaka Tanida <yutaka@marin.or.jp> for Cygwin32 support. 1999-04-26 04:42:49 +00:00
Tatsuo Ishii c84ea433d7 Fix from Yutaka Tanida <yutaka@marin.or.jp> 1999-04-26 04:40:17 +00:00
Tom Lane eb00bdf237 Insert a test for missing targetlist entry in replace_agg_clause. 1999-04-26 00:37:46 +00:00
Tom Lane 26db818710 It looks like the multibyte regress tests only work if both
the database encoding and the client encoding match the encoding expected
by the test.  So, force both of them to be set from the MULTIBYTE
environment var.  This allows regress tests to be run successfully in
multibyte environments other than the compiled-in default.
1999-04-25 23:30:31 +00:00
Tom Lane d69344c520 More multibyte tests with obsolete spelling of error message... 1999-04-25 23:16:23 +00:00
Tom Lane 22fe451c9d psql's recognition of comments didn't work right in MULTIBYTE
environments; it was being careless about character lengths.
1999-04-25 23:10:36 +00:00
Tom Lane 109cbc7217 Explicitly set PGCLIENTENCODING during regression tests,
since multibyte tests fail if it's different from database...
1999-04-25 21:56:19 +00:00
Tom Lane 122923c97f Still had a few MULTIBYTE problems when client encoding was
different from database's ...
1999-04-25 21:50:58 +00:00
Tom Lane 0d99c95388 Correct potential infinite loop in pg_utf2wchar_with_len;
it failed to cover the case where high bits of char are 100 or 101.
Not sure if fix is right, but it agrees with pg_utf_mblen ... and it
doesn't lock up ...
1999-04-25 20:35:51 +00:00
Tom Lane 2acfc4f6b4 Multibyte tests were all 'failing' because of change of
wording of 'relation does not exist' error message.  Update expected files
accordingly.
1999-04-25 19:34:44 +00:00
Tom Lane 40cad8b66f My first cut at libpq revision didn't handle MULTIBYTE correctly,
but I think it's OK now...
1999-04-25 19:27:47 +00:00
Tom Lane fad6f2925c Clean up gcc warning in MULTIBYTE code. 1999-04-25 18:16:47 +00:00
Tom Lane 6f668ee108 ifdef out some unused routines to suppress gcc warnings. 1999-04-25 18:09:54 +00:00
Tom Lane 187c58f275 Ooops, missed committing this one... 1999-04-25 03:27:15 +00:00
Tom Lane 95cc41b81d Revise backend libpq interfaces so that messages to the frontend
can be generated in a buffer and then sent to the frontend in a single
libpq call.  This solves problems with NOTICE and ERROR messages generated
in the middle of a data message or COPY OUT operation.
1999-04-25 03:19:27 +00:00
Bruce Momjian fc08814e00 Rename explain's "size" to "rows". 1999-04-23 21:23:49 +00:00
Bruce Momjian 35b168656b Add disk space message to "can not extend" message. 1999-04-23 19:37:42 +00:00
Thomas G. Lockhart c3a32d7595 Remove "Non-functional update" notices since that message has been
disabled (commented-out) in the code.
1999-04-23 15:55:32 +00:00
Tom Lane c42926f10b Repair missing heap_endscan() in OperatorUpd(). 1999-04-23 00:50:57 +00:00
Vadim B. Mikheev 3888b53a58 Fix duplicating ROOT page in concurrent updates. 1999-04-22 08:19:59 +00:00
Tom Lane 00fbb64bed Un-break CREATE TYPE. Fix some other inconsistencies in the
pg_proc entries for array I/O routines besides the one detected by the
original patcher.  Tighten type_sanity regress test accordingly.
1999-04-20 03:51:19 +00:00
Tom Lane 09c5e84072 Change elog(ERROR) to get back to main loop via a plain sigsetjmp,
instead of doing a kill(self, SIGQUIT) and expecting the signal handler
to do it.  Also, clean up inconsistent definitions of the sigjmp buffer
in the several files that already referenced it.
1999-04-20 02:19:59 +00:00
Tom Lane d30e2ac306 Portability patches for HPUX 11 and Unixware in configure
and related files.  Also remove float.c's gratuitous redeclaration of
isinf() ... looks like there are more decls in there that ought to be
in config.h, but I'll leave well enough alone for now ...
1999-04-20 00:26:32 +00:00
Bruce Momjian 6eccfbc727 Add temporary for temp. 1999-04-19 16:00:18 +00:00
Tatsuo Ishii f3a7addb03 Fix typo in multi-byte encodings (EHC_CN --> EUC_CN) 1999-04-19 08:46:34 +00:00
Tom Lane a58843b49a Fix problems seen when result of a subselect was used in an
expression context (ie, not at the top level of a WHERE clause).  Examples
like this one work now:
SELECT name, value FROM t1 as touter WHERE
(value/(SELECT AVG(value) FROM t1 WHERE name = touter.name)) > 0.75;
1999-04-19 04:17:11 +00:00
Tom Lane 4438b70b94 Repair some problems in planner's handling of HAVING clauses.
This fixes a few of the problems Hiroshi Inoue complained of, but
I have not touched the rewrite-related issues.
1999-04-19 01:43:12 +00:00
Tom Lane 2deef968f4 After transforming a CASE expr with a default argument,
delete the default argument from the node.  This prevents the executor
from spitting up on the untransformed argument expression.  Typical
failure was:
select (case f1 when 'val' then 'subst' else f1 end) from t1;
ERROR:  copyObject: don't know how to copy 704
1999-04-18 17:35:51 +00:00
Tom Lane 38405e1894 Update CREATE FUNCTION's on-line help in psql. 1999-04-18 03:01:49 +00:00
Tom Lane 4b82c6d940 Allow CREATE FUNCTION xyz AS '' LANGUAGE 'internal' to
work the way it used to (ie, assume xyz is the name of the builtin
function to call).  Complain if an unknown builtin function name is
referenced.
1999-04-18 02:57:22 +00:00
Bruce Momjian 00a4196139 Add res checking to libpq examples, from Dan Merillat. 1999-04-17 17:18:41 +00:00
Tom Lane 1b9f24c878 Add missing function prototypes to stifle gcc warnings. 1999-04-16 21:27:23 +00:00
Michael Meskes ad5a54d170 *** empty log message *** 1999-04-16 12:26:49 +00:00
Tatsuo Ishii 075dc252c7 Fix kill() call in elog() so that it gets its own pid by calling getpid().
MyProcPid global variable is set to 0 when postgres starts as a command
(not as a backend daemon). This leads issuing SIGQUIT to the process group,
not the process itself. As a result, parent sh gets core dumped in the
Wisconsin benchmark test.
1999-04-16 06:38:17 +00:00