Commit Graph

3583 Commits

Author SHA1 Message Date
Thomas G. Lockhart 6912beea70 Allow binary-compatible indices to be considered when checking for valid
indices for restriction clauses containing a constant.
Note that if an index does not match directly (usually because the types
 on both side of the clause don't match), and if a binary-compatible index
 is identified, then the operator function will be replaced by a new
 one. Should not be a problem, but be sure that if types are listed as
 being binary compatible (in parse_coerce.h) then the comparison functions
 are also binary-compatible, giving equivalent results.
1998-08-14 16:13:07 +00:00
Thomas G. Lockhart 94f42ed389 Include OID as a built-in type. 1998-08-14 16:07:00 +00:00
Thomas G. Lockhart 58e9267026 Check for bad result from pg_id. A bad result can come from shared library
trouble, and the name of the shared library has been changed recently.
 Had to rerun ldconfig on my machine to get it working again.
Give an error message with a helpful hint if so...
1998-08-14 16:05:51 +00:00
Bruce Momjian c7fe2543b8 fix typo. 1998-08-11 22:39:33 +00:00
Bruce Momjian a968e4f60e Strategy cleanups. 1998-08-11 20:55:52 +00:00
Bruce Momjian 024d5f74ba index strategy cleanup 1998-08-11 19:32:39 +00:00
Bruce Momjian f22c6f9237 the following patch fixes a bug in the oracle compatibility
functions btrim() ltrim() and rtrim().

    The error was that the character after the set  was  included
    in the tests (ptr2 pointed to the character after the vardata
    part of set if no match found,  so  comparing  *ptr  or  *end
    against *ptr2 MAY match -> strip).


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being
right. # # Let's break this rule - forgive me.
# #======================================== jwieck@debis.com (Jan
Wieck) #
1998-08-11 18:38:07 +00:00
Bruce Momjian c6dd1e63a9 This one cleans the cursor problems ecpg had so far. It is now able
to understand cursors with variables.

Michael
1998-08-11 18:33:37 +00:00
Bruce Momjian 79c8d2e3a0 Change owner from oid to int4 type. 1998-08-11 18:28:49 +00:00
Bruce Momjian 8ed36c3dba More op_class cleanup. 1998-08-11 14:32:03 +00:00
Bruce Momjian 22cc0e1645 Remove NOBTREE defines, and make findoidlinks handle regproc. 1998-08-11 05:32:46 +00:00
Bruce Momjian 22b370e6ce cleanup. 1998-08-11 05:09:30 +00:00
Bruce Momjian 85c165cd4c New findoidjoins examines oid columns to find join relationships. 1998-08-11 02:32:00 +00:00
Bruce Momjian ffb120ecc6 Add new \w write command to psql. 1998-08-10 20:31:42 +00:00
Bruce Momjian 5e490118f8 Update flowchart. 1998-08-10 14:39:45 +00:00
Bruce Momjian 2d13c5f1e2 Update flowchart. 1998-08-10 14:32:46 +00:00
Bruce Momjian 956b91a944 Cleanups of optimizer. 1998-08-10 04:49:39 +00:00
Bruce Momjian 2d32d909b5 Cleanup optimizer function names and clarify code. 1998-08-10 02:26:40 +00:00
Bruce Momjian addddea313 Update pgindent. 1998-08-09 17:57:31 +00:00
Bruce Momjian a08dc16c47 New pgindent. 1998-08-09 04:59:10 +00:00
Bruce Momjian 111b80ce00 cleanups. 1998-08-09 04:17:38 +00:00
Bruce Momjian e6311b4ad0 The attached patch implements some changes that were discussed a
couple weeks ago on the hackers and interfaces lists:

1. When the backend sends a NOTICE message and closes the connection
   (typically, because it was told to by the postmaster after
   another backend coredumped), libpq will now print the notice
   and close the connection cleanly.  Formerly, the frontend app
   would usually terminate ungracefully due to a SIGPIPE.  (I am
   not sure if 6.3.2 behaved that way, but the current cvs sources
   do...)

2. libpq's various printouts to stderr are now fed through a single
   "notice processor" routine, which can be overridden by the
   application to direct notices someplace else.  This should ease
   porting libpq to Windows.

I also noticed and fixed a problem in PQprint: when sending output
to a pager subprocess, it would disable SIGPIPE in case the pager
terminates early (this is good) --- but afterwards it reset SIGPIPE
to SIG_DFL, rather than restoring the application's prior setting
(bad).

			regards, tom lane
1998-08-09 02:59:33 +00:00
Bruce Momjian e46df2ff6e OPTIMIZER_DEBUG additions. 1998-08-07 05:02:32 +00:00
Bruce Momjian af5fde7491 Make large objects their own relkind type. Fix dups in pg_class_mb
files.  Fix sequence creation hack for relkind type.
1998-08-06 05:13:14 +00:00
Bruce Momjian 8962ec4bc4 flowchart update 1998-08-05 19:14:23 +00:00
Bruce Momjian 4f4953152d flowchart update 1998-08-05 19:01:58 +00:00
Bruce Momjian 7260ad7fd9 Fix for \d index display. 1998-08-05 16:23:40 +00:00
Marc G. Fournier a1627a1d64 From: David Hartwig <daybee@bellatlantic.net>
I have attached a patch to allow GROUP BY and/or ORDER BY function or
expressions.  Note worthy items:

1. The expression or function need not be in the target list.
Example:
            SELECT  name FROM foo GROUP BY lower(name);

2.   Simplified the grammar to use expressions only.

3.  Cleaned up earlier patch in this area to make use of existing
utility functions.

3.  Reduced some of the members in the SortGroupBy parse node.   The
original data members were redundant with the new expression node.
(MUST do a "make clean" now)

4.  Added a new parse node "JoinUsing".   The JOIN USING clause was
overloading this SortGroupBy structure.   With the afore mentioned
reduction of members, the two clauses lost all their commonality.

5.  A bug still exist where, if a function or expression is GROUPed BY,
and an aggregate function does not include a attribute from the
expression or function, the backend crashes.   (or something like
that)   The bug pre-dates this patch.    Example:

    SELECT lower(a) AS lowcase, count(b) FROM foo GROUP BY lowcase;
                 *** BOOM  ***

    --Also when not in target list
    SELECT  count(b) FROM foo GROUP BY lower(a);
                *** BOOM  AGAIN ***
1998-08-05 04:49:19 +00:00
Marc G. Fournier 186aeb1d67 From: Dr. Michael Meskes <meskes@online-club.de>
So this should finally get cursors working. There was an ugly bug in it.
1998-08-05 04:47:54 +00:00
Bruce Momjian 1c9a125096 OR processing cleanup. 1998-08-04 18:42:39 +00:00
Bruce Momjian f26e1d39be Add Indices display to \d command. 1998-08-04 18:29:41 +00:00
Bruce Momjian 0b44238841 Fix encoding grammer problem. 1998-08-04 17:37:48 +00:00
Bruce Momjian d9be0ff432 MergeSort was sometimes called mergejoin and was confusing. Now
it is now only mergejoin.
1998-08-04 16:44:31 +00:00
Bruce Momjian 7db9ea5c1e EXPLAIN VERBOSE prints the plan, and now pretty-prints the plan to
the postmaster log file.
1998-08-04 15:00:28 +00:00
Bruce Momjian f71b671bd5 Make EXPLAIN show output more clearly. 1998-08-04 04:50:15 +00:00
Bruce Momjian c8b42a6151 Update flow chart. 1998-08-04 00:42:14 +00:00
Bruce Momjian 439a2af0bc Update mark/reset index code for multiple indexes, (OR code).
Thanks for Vadim for fixes.
1998-08-03 19:41:35 +00:00
Bruce Momjian 21ad8695ca Fix typo in man pages. 1998-08-03 05:54:30 +00:00
Bruce Momjian b88e9784b6 Cleanup of OR processing. 1998-08-03 05:49:24 +00:00
Thomas G. Lockhart 7665e7b0a8 Allows the following query to succeed: "SELECT NULL ORDER BY 1;"
There are three or four cases in transformSortClause() and I had fixed
only one case for UNION. A second case is now fixed, in the same way; I
assigned INT4OID to the column type for the "won't actually happen"
sort. Didn't want to skip the code entirely, since the backend needs to
_try_ a sort to get the NULLs right. I'm not certain under what
circumstances the other cases are invoked and these are not yet
fixed up, though perhaps they don't need to be...
1998-08-02 13:34:26 +00:00
Bruce Momjian 39844ac2c3 Fix for OR handling with multiple indexes. 1998-08-02 07:10:38 +00:00
Bruce Momjian 34aecb3557 run autoconf 1998-08-02 00:34:05 +00:00
Bruce Momjian b942928bd1 Fix MULTIBYTE typo. 1998-08-02 00:21:39 +00:00
Bruce Momjian 77cce4e278 Fix duplicate inside initdb.sh 1998-08-01 22:57:41 +00:00
Bruce Momjian 2c6b370e64 Cleanup of OR fix. 1998-08-01 22:44:55 +00:00
Bruce Momjian 0a2e5cdfc9 Allow index use with OR clauses. 1998-08-01 22:12:13 +00:00
Marc G. Fournier 0668aa8817 Adrian Hall reported a problem to me that snprintf() doesn't exist in, at
least, Solaris 2.5.1.  We use it in backend/utils/adt/int8.c.

Add a check to configure so that we see if it exists or not, and, if not,
compile in snprintf.c from backend/port, which was taken from, and falls under
the same Berkeley license as us, the FreeBSD libc/stdio ...
1998-08-01 19:30:29 +00:00
Vadim B. Mikheev 0d78e8c112 Lmgr cleanup, new locking modes for LLL. 1998-08-01 15:26:38 +00:00
Vadim B. Mikheev 83d3626b1f Matching clauses to functional indices was broken, now fixed. 1998-07-31 15:10:40 +00:00
Vadim B. Mikheev f73fc6eb29 Fix scan adjustment. 1998-07-30 05:05:05 +00:00