Commit Graph

15497 Commits

Author SHA1 Message Date
Tom Lane
835bb975d8 Restructure building of join relation targetlists so that a join plan
node emits only those vars that are actually needed above it in the
plan tree.  (There were comments in the code suggesting that this was
done at some point in the dim past, but for a long time we have just
made join nodes emit everything that either input emitted.)  Aside from
being marginally more efficient, this fixes the problem noted by Peter
Eisentraut where a join above an IN-implemented-as-join might fail,
because the subplan targetlist constructed in the latter case didn't
meet the expectation of including everything.
Along the way, fix some places that were O(N^2) in the targetlist
length.  This is not all the trouble spots for wide queries by any
means, but it's a step forward.
2003-06-29 23:05:05 +00:00
Michael Meskes
cf883ea95c - Made sure Informix style decimal vars are initialized. They use a
fixed amount of digits and not an allocated one. So we have to work
  around. PostgreSQL numeric type remains the same.
- In INFORMIX_SE mode with autcommit set, make all cursors be "with
  hold". Is this really they way SE behaves?
2003-06-29 16:52:58 +00:00
Peter Eisentraut
4355d4fb21 Information schema views for group privileges, some corrections on column
privileges.
2003-06-29 15:14:41 +00:00
Peter Eisentraut
ae20518c7e It was comparing the wrong pair of columns, which triggered the previously
mentioned bug.
2003-06-29 10:18:26 +00:00
Peter Eisentraut
823bd7d129 Add missing PO files from last commit. 2003-06-29 10:13:13 +00:00
Michael Meskes
9aeb1eff24 Just another sync. 2003-06-29 09:25:19 +00:00
Tom Lane
bee217924d Support expressions of the form 'scalar op ANY (array)' and
'scalar op ALL (array)', where the operator is applied between the
lefthand scalar and each element of the array.  The operator must
yield boolean; the result of the construct is the OR or AND of the
per-element results, respectively.

Original coding by Joe Conway, after an idea of Peter's.  Rewritten
by Tom to keep the implementation strictly separate from subqueries.
2003-06-29 00:33:44 +00:00
Peter Eisentraut
df7618020b Merge PO file updates from 7.3 branch. 2003-06-28 22:31:01 +00:00
Peter Eisentraut
2f80f81e5e Make information schema aware of arrays.
The view element_types is currently not functional, awaiting some fixes in
the planner (reported on -hackers).
2003-06-28 20:50:08 +00:00
Bruce Momjian
c1fad341b4 Add:
> * Automatically place fixed-width, NOT NULL columns first in a table
2003-06-28 18:05:12 +00:00
Bruce Momjian
e8902f00cc Group ISBN/ISSN definitions. 2003-06-28 00:36:40 +00:00
Tom Lane
f9ebf36970 Update psql for some features of new FE/BE protocol. There is a
client-side AUTOCOMMIT mode now: '\set AUTOCOMMIT off' supports
SQL-spec commit behavior.  Get rid of LO_TRANSACTION hack --- the
LO operations just work now, using libpq's ability to track the
transaction status.  Add a VERBOSE variable to control verboseness
of error message display, and add a %T prompt-string code to show
current transaction-block status.  Superuser state display in the
prompt string correctly follows SET SESSION AUTHORIZATION commands.
Control-C works to get out of COPY IN state.
2003-06-28 00:12:40 +00:00
Tom Lane
ea20397b79 When using new protocol, PQexec can get out of a COPY IN or COPY OUT
state by itself, so do so.
2003-06-28 00:06:01 +00:00
Bruce Momjian
bf75f1a063 Adjust pgtest grep. 2003-06-27 22:04:50 +00:00
Bruce Momjian
757b718476 Update pgtest to use 'gmake check'. 2003-06-27 21:46:20 +00:00
Tom Lane
ea886339b8 Add is_superuser parameter reporting, soon to be used by psql. 2003-06-27 19:08:38 +00:00
Bruce Momjian
3e0bdfadc3 Document kernel changes needed for BSD/OS 4.3. 2003-06-27 18:20:50 +00:00
Tom Lane
7f1249a8d2 Fix compile warnings. 2003-06-27 17:07:03 +00:00
Tom Lane
7dc5472d48 Missing calls to PQclear in large_obj.c and describe.c.
Greg Sabino Mullane
2003-06-27 16:55:23 +00:00
Peter Eisentraut
b256f24264 First batch of object rename commands. 2003-06-27 14:45:32 +00:00
Bruce Momjian
5bac7d11dd Remove as duplicate:
< * Improve performance for queries with many columns
2003-06-27 04:35:41 +00:00
Bruce Momjian
7e741ba39c Add:
> * Improve performance for queries with many columns
2003-06-27 02:48:44 +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
Tom Lane
0c985ab5a8 Add comment pointing out that XLByteToPrevSeg macro is not broken. 2003-06-26 18:23:07 +00:00
Michael Meskes
4505653e54 Added just another compatibility level for Informix. 2003-06-26 11:37:05 +00:00
Bruce Momjian
b143210639 Wrap LONG_LONG_MIN redfinition around HAVE_LONG_LONG_INT_64. 2003-06-26 01:45:04 +00:00
Bruce Momjian
095a0c83d5 Fix compile problem for missing LONG_LONG_MIN on BSD/OS. 2003-06-26 01:33:23 +00:00
Bruce Momjian
9279a802c4 Add:
> * Create improved PostgreSQL introductory documentation for the PHP
>   manuals (Rory)
2003-06-25 21:56:55 +00:00
Bruce Momjian
ae81bb3cdc sync 2003-06-25 21:55:44 +00:00
Bruce Momjian
1f97063901 sync 2003-06-25 21:47:53 +00:00
Bruce Momjian
bcb716854c sync 2003-06-25 21:47:24 +00:00
Bruce Momjian
7b65bdc1e4 sync 2003-06-25 21:46:10 +00:00
Bruce Momjian
7370eefd20 sync 2003-06-25 21:45:40 +00:00
Bruce Momjian
a83fe08bcb sync 2003-06-25 21:45:06 +00:00
Bruce Momjian
c1026d0460 Add:
> * Allow the identifier length to be increased via a configure option
2003-06-25 21:42:07 +00:00
Bruce Momjian
a130d624b4 Add:
> * Promote debug_query_string into a server-side function current_query()
2003-06-25 21:40:48 +00:00
Bruce Momjian
ec67d2a3fe Back out rserv changes that would allow limit of replicated tables ---
not ready yet.
2003-06-25 21:37:53 +00:00
Bruce Momjian
111d8e522b Back out array mega-patch.
Joe Conway
2003-06-25 21:30:34 +00:00
Tom Lane
621691d816 In ISO datestyle, never emit just HH:MM, always emit HH:MM:SS or
HH:MM:SS.SSS... when there is a nonzero part-of-a-day field in an
interval value.  The seconds part used to be suppressed if zero,
but there's no equivalent behavior for timestamp, and since we're
modeling this format on timestamp it's probably wrong.  Per complaint
and patch from Larry Rosenman.
2003-06-25 21:14:15 +00:00
Bruce Momjian
d2ba12b4ef sync 2003-06-25 21:08:06 +00:00
Bruce Momjian
944ad408c5 sync 2003-06-25 21:07:28 +00:00
Bruce Momjian
a26839ab9a sync 2003-06-25 21:06:29 +00:00
Tom Lane
5cf18b1ae3 Don't generate 'zero' typeids in the output from gen_cross_product.
This is no longer necessary or appropriate since we don't use zero typeid
as a wildcard anymore, and it fixes a nasty performance problem with
functions with many parameters.  Per recent example from Reuven Lerner.
2003-06-25 20:07:39 +00:00
Tom Lane
91e6f51afb 'third' -> 'fourth' where needed, per Joe Conway. 2003-06-25 18:13:50 +00:00
Michael Meskes
6f30d5665c The remaining files ... 2003-06-25 17:55:50 +00:00
Michael Meskes
8d8b9401b8 remove including of postgres_fe.h 2003-06-25 16:12:27 +00:00
Bruce Momjian
60050936ff sync. 2003-06-25 15:01:14 +00:00
Michael Meskes
54fae9c20a Some systems need another header file included. 2003-06-25 11:51:18 +00:00
Michael Meskes
fd3ca524eb Implemented Informix special way to treat NULLs, removed warnings, synced. 2003-06-25 10:44:21 +00:00
Bruce Momjian
ff4c69e021 Fix up JOIN .. USING with domains
The attached fixes select_common_type() to support the below case:

create table t1( c1 int);
create domain dom_c1 int;
create table t2(c1 dom_c1);
select * from t1 join t2 using( c1 );

I didn't see a need for maintaining the domain as the preferred type. A
simple getBaseType() call on all elements of the list seems to be
enough.

--
Rod Taylor <rbt@rbt.ca>
2003-06-25 04:32:03 +00:00