Commit Graph

60 Commits

Author SHA1 Message Date
Hiroshi Inoue
05d13cad28 The 1st step to implement new type of scan,TidScan.
Now WHERE restriction on ctid is allowed though it is
sequentially scanned.
1999-10-11 06:28:29 +00:00
Tom Lane
d2f7d1f346 Mark bpchareq not hashjoinable, since it strips trailing blanks
before comparison; if fields being joined are different widths then hashing
will yield wrong answer.  Also, remove hashjoinable mark from all uses of
array_eq, because array structures may have padding bytes between elements
and the pad bytes are of uncertain content.  This could be revisited if
array code is cleaned up.
Modify opr_sanity regress test to complain if array_eq operator is marked
hashjoinable.
1999-09-06 21:16:20 +00:00
Tom Lane
9e7e29e6c9 First cut at doing LIKE/regex indexing optimization in
optimizer rather than parser.  This has many advantages, such as not
getting fooled by chance uses of operator names ~ and ~~ (the operators
are identified by OID now), and not creating useless comparison operations
in contexts where the comparisons will not actually be used as indexquals.
The new code also recognizes exact-match LIKE and regex patterns, and
produces an = indexqual instead of >= and <=.

This change does NOT fix the problem with non-ASCII locales: the code
still doesn't know how to generate an upper bound indexqual for non-ASCII
collation order.  But it's no worse than before, just the same deficiency
in a different place...

Also, dike out loc_restrictinfo fields in Plan nodes.  These were doing
nothing useful in the absence of 'expensive functions' optimization,
and they took a considerable amount of processing to fill in.
1999-07-27 03:51:11 +00:00
Bruce Momjian
07842084fe pgindent run over code. 1999-05-25 16:15:34 +00:00
Tom Lane
194326d6ff Fix another batch of bogosities in pg_operator table.
These were bogus selectivity-estimator links, like a '>' operator
pointing to intltsel when it should use intgtsel.
1999-04-10 23:53:00 +00:00
Tom Lane
af87148065 Fix some more hashjoin-related bugs in pg_operator. Fix
hashjoin's hashFunc() so that it does the right thing with pass-by-value
data types (the old code would always return 0 for int2 or char values,
which would work but would slow things down a lot).  Extend opr_sanity
regress test to catch more kinds of errors.
1999-04-07 23:33:33 +00:00
Tom Lane
4e21023fd4 Unmark 'hashable' operators that can't really be used for
hashjoins.  Extend opr_sanity regress test to help detect similar mistakes.
1999-04-07 04:21:11 +00:00
Tom Lane
8a3ef74b7c Clean up various minor irregularities detected by type_sanity
and newly expanded opr_sanity tests.
1999-03-28 02:01:39 +00:00
Tom Lane
f95538269f Remove a bunch of dead entries exposed by findoidjoins crosschecks.
Apparently, whatever these things used to link to got recycled into
something else ... but the dependent entries didn't.
1999-03-26 07:32:42 +00:00
Tom Lane
3bca9c6c4b Fix some typos in argument and result types in pg_proc
and pg_operator.  The lone error in pg_operator was reported as a bug
by Michael Reifenberger; the multiple errors in pg_proc would only have
been noticed if one invoked the functions by name rather than using
operator syntax.  I guess few people do that.
1999-03-10 05:02:34 +00:00
Tom Lane
51f0f6ddc8 Fix pg_operator entries for mergejoinable operators with different left and
right side data types.  Correct the opr_sanity regress test to check these
entries properly.  NOTE that opr_sanity will now fail until you do an initdb!
1999-02-28 00:56:42 +00:00
Bruce Momjian
6724a50787 Change my-function-name-- to my_function_name, and optimizer renames. 1999-02-13 23:22:53 +00:00
Jan Wieck
0e9d75c6ac Added NUMERIC data type with many builtin funcitons, operators
and aggregates.

Jan
1998-12-30 19:56:35 +00:00
Thomas G. Lockhart
9b24e7fa40 Fix discrepency in "@" operator for point and path. 1998-10-29 18:10:23 +00:00
Tom Lane
4038dc0ee2 Fix a veritable boatload of errors in oprcom, oprnegate,
oprlsortop and oprrsortop links.  There's still a bug involving
conflicting definitions for point @ path, but I'm not taking
responsibility for deciding which one is right...
1998-10-29 04:22:52 +00:00
Bruce Momjian
cec42339fc Remove bad pg_operator entry, found by Tom Lane. 1998-10-29 04:04:17 +00:00
Bruce Momjian
1adacc7d1e This looks like a wrong entry in one of the system tables. Any ideas
which one it is, and how to correct this ?

lseg_eq -> lseq_neq

Guido Weber
1998-10-28 16:00:08 +00:00
Bruce Momjian
33c4072dbc INET/CIDR cleanup from D'Arcy. 1998-10-22 20:40:50 +00:00
Bruce Momjian
ca2995be7b Remove duplicate CIDR funcs by using coerce entries. 1998-10-22 13:51:07 +00:00
Bruce Momjian
858a3b570a New CIDR type and fixed INET type, from D'Arcy. 1998-10-21 16:06:50 +00:00
Bruce Momjian
8849655d24 I agree. I think, though, that the best argument presented in the
debate was from Paul Vixie, who wanted INET to be the name covering
both IPV4 and IPV6.  The following kit makes the needed changes:

Tom Ivar Helbekkmo
1998-10-08 00:19:47 +00:00
Bruce Momjian
2d69fd90b9 Integrate new IP type from Tom Ivar Helbekkmo. 1998-10-03 05:41:01 +00:00
Bruce Momjian
3700981108 Add new make_oidjoin_check utility and template1_check.sql. Fix some
pg_operator problems.
1998-09-14 01:14:49 +00:00
Thomas G. Lockhart
f1bcb171e8 Remove remnant from obsolete char16 data type. 1998-09-13 14:29:06 +00:00
Bruce Momjian
fa1a8d6a97 OK, folks, here is the pgindent output. 1998-09-01 04:40:42 +00:00
Bruce Momjian
af74855a60 Renaming cleanup, no pgindent yet. 1998-09-01 03:29:17 +00:00
Bruce Momjian
7971539020 heap_fetch requires buffer pointer, must be released; heap_getnext
no longer returns buffer pointer, can be gotten from scan;
	descriptor; bootstrap can create multi-key indexes;
pg_procname index now is multi-key index; oidint2, oidint4, oidname
are gone (must be removed from regression tests); use System Cache
rather than sequential scan in many places; heap_modifytuple no
longer takes buffer parameter; remove unused buffer parameter in
a few other functions; oid8 is not index-able; remove some use of
single-character variable names; cleanup Buffer variables usage
and scan descriptor looping; cleaned up allocation and freeing of
tuples; 18k lines of diff;
1998-08-19 02:04:17 +00:00
Bruce Momjian
79c8d2e3a0 Change owner from oid to int4 type. 1998-08-11 18:28:49 +00:00
Thomas G. Lockhart
0f0d51b858 Add int8 type for 8-byte integers.
Fix OID conflict between "line()" and "version()" by changing version OID.
1998-07-08 14:09:00 +00:00
Thomas G. Lockhart
dc9a9cdfb9 Make lines and support routines/operators more visible.
Add #define's for remaining "builtin" types.
1998-05-09 22:48:37 +00:00
Bruce Momjian
0d203b745d Re-apply Darren's char2-16 removal code. 1998-04-26 04:12:15 +00:00
Bruce Momjian
db21523314 Back out char2-char16 removal. Add later. 1998-04-07 18:14:38 +00:00
Bruce Momjian
57b5966405 The following uuencoded, gzip'd file will ...
1. Remove the char2, char4, char8 and char16 types from postgresql
2. Change references of char16 to name in the regression tests.
3. Rename the char16.sql regression test to name.sql.  4. Modify
the regression test scripts and outputs to match up.

Might require new regression.{SYSTEM} files...

Darren King
1998-03-30 17:28:21 +00:00
Marc G. Fournier
9bc57c6665 From: Darren King <darrenk@insightdist.com>
Patch1:

Postgres thinks dist_pl (dist of a point to a line) is expecting a box (603)
for the right arg, but it really should be a line (628).

Otherwise the left & right args match those of dist_pb (dist of a point to a
box) two lines further down.


Patch2:

Anyways, these two functions take a path (602) whereas in pg_proc.h they are
listed as taking a lseg (601).
1998-03-02 06:12:15 +00:00
Thomas G. Lockhart
9ed7a21ba6 Fix boolean operator declarations for path to return boolean, not float8. 1998-03-01 08:10:34 +00:00
Bruce Momjian
a32450a585 pgindent run before 6.3 release, with Thomas' requested changes. 1998-02-26 04:46:47 +00:00
Thomas G. Lockhart
93d80d3359 Define boolean functions and operators for lseg <, <=, <>, >=, >.
Define functions and operators for closest point to lseg on box,
 to line on lseg, to lseg on lseg.
Define function and operator for length of lseg.
Change length operator from '??' to '@-@'
 (currently defined for path and lseg).
1998-02-03 16:01:59 +00:00
Bruce Momjian
7229513943 Fix prototypes so they don't look like function definitions. 1998-01-24 22:50:57 +00:00
Thomas G. Lockhart
abedcddbd1 Change hash field for a few equality operators so all have it set.
Don't know why these few were not already this way, and don't know if
  there is some hidden problem with this, but assume it was done
  accidentally as entries were copied from other operators.
 Regression tests are OK, but...
Move one block of declaration source to keep OIDs in increasing order.
 Did not change OID values, just moved source code.
1997-11-30 22:49:22 +00:00
Bruce Momjian
a986b7ba4d Move descriptions to pg_proc, add descriptions. 1997-11-24 13:43:29 +00:00
Bruce Momjian
20858bdd96 Make \d commands not wrap over 80 cols. 1997-11-18 06:46:31 +00:00
Bruce Momjian
79daac6bad Add descriptions for types and operators. 1997-11-18 05:22:51 +00:00
Bruce Momjian
5071ae2972 Add pg_description table for info on tables, columns, operators, types, and aggregates. Modify psql with new \dd operator to access description 1997-11-13 03:23:18 +00:00
Thomas G. Lockhart
d8e260646e Reassign cash/float4 arithmetic operator oids to avoid duplicate oids. 1997-10-25 05:31:55 +00:00
Thomas G. Lockhart
354a18fcb2 Add tinterval comparison operators.
Add integer/money arithmetic.
1997-09-20 16:29:38 +00:00
Bruce Momjian
319dbfa736 Another PGINDENT run that changes variable indenting and case label indenting. Also static variable indenting. 1997-09-08 02:41:22 +00:00
Bruce Momjian
1ccd423235 Massive commit to run PGINDENT on all *.c and *.h files. 1997-09-07 05:04:48 +00:00
Bruce Momjian
0ab2921290 Change time function names to be more consistent, and check for zero divides, from Michael Reifenberg. 1997-08-21 23:57:00 +00:00
Thomas G. Lockhart
3c2d74d2af Add new operators and functions for geometric types.
Add text concatenation operator and function.
Add text trim function for SQL92 support.
1997-07-29 16:17:52 +00:00
Thomas G. Lockhart
57f55032ff Add type conversion functions between floats and integers.
Include some additional path functions which were coded but omitted here.
Add translation and rotation/scaling operators for some geometric types.
Fix bugs in some geometry comparison operator declarations.
1997-05-11 15:19:33 +00:00