Commit Graph

2332 Commits

Author SHA1 Message Date
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
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
Tom Lane 26139bb4a0 Improve error messages when a connection is rejected. 1999-04-16 04:59:03 +00:00
Thomas G. Lockhart 1d1cf38c0d Fix max(int8) result by making sure int8larger() copies its result
rather than reusing the input storage.
Also made the same fix to int8smaller(), though there wasn't a symptom,
 and went through and verified that other pass-by-reference data types
 do the same thing. Not an issue for the by-value types.
1999-04-15 13:34:45 +00:00
Tom Lane 0c0151a3ec Initialize reltuples = 1000, relpages = 10 in a newly created
relation, rather than zeroes.  This prevents the optimizer from making
foolish choices (ie, using nested-loop plans) on never-yet-vacuumed tables.
This is a hack, of course.  Keeping accurate track of these statistics
would be a cleaner solution, but it's far from clear that it'd be worth
the cost of doing so.  In any case we're not going to do that for 6.5.
In the meantime, this quick hack provides a useful performance improvement
in the regression tests and in many real-world scenarios.
1999-04-15 04:08:07 +00:00
Thomas G. Lockhart b2b3d5d184 Fix code to check legal dates *before* calling localtime() to get the
time zone.
Previously, localtime() rotated a date with a day of month field which
 exceeded the actual range into the next months, masking the fact that
 a bad date had been specified.
Regression tests pass.
1999-04-15 02:22:39 +00:00
Thomas G. Lockhart 64e74e30b5 Fix boolean assignment of return values to use "FALSE" rather than the
mis-copied "NULL", which happens to have the same binary value.
Previously, gcc gave non-fatal warnings.
1999-04-15 02:20:50 +00:00
Bruce Momjian c672559c9c Fix adding columns to a temp table. 1999-04-13 19:04:33 +00:00
Bruce Momjian 174b552e71 There are some bugs about backward scanning using
indexes.

1. Index Scan using plural indexids never scan backward
   as to the order of indexids.
2. The cursor using Index scan is not usable after moving
   past the end.

This patch solves above bugs.
Moreover the change of _bt_first() would be useful to extend
ORDER BY patch by Jan Wieck for all descending order cases.

Hiroshi Inoue
1999-04-13 17:18:29 +00:00
Vadim B. Mikheev c3b09c2237 Fix HEAP_MOVED_IN handling in HeapTupleSatisfiesDirty(). 1999-04-12 16:57:27 +00:00
Vadim B. Mikheev 12a5aa4f1a Some comments... 1999-04-12 16:56:36 +00:00
Vadim B. Mikheev 401293fcff Unique btree-s:
/*
 * Have to check is inserted heap tuple deleted one
 * (i.e. just moved to another place by vacuum)!
 */
1999-04-12 16:56:08 +00:00
Tom Lane 50eb8b7d7f Repair problems seen when CREATE OPERATOR mentions a
not-yet-defined operator in commutator, negator, etc links.  This is
necessary in order to ensure that a pg_dump dump of user-defined operators
can be reloaded.  There may still be a bug lurking here, because it's
provoking a 'Buffer Leak' notice message in one case.  See my mail to
pgsql-hackers.
1999-04-11 02:30:59 +00:00
Tom Lane 098e043849 Fix CREATE OPERATOR ... LANGUAGE 'internal', which I broke while
making prosrc instead of proname be the link to the actual internal function.
1999-04-09 22:35:43 +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
Thomas G. Lockhart d1c1301039 Version string was truncating the last character.
Use memcpy() rather than StrNCpy() which had forced a string termination
 character at the end.
1999-04-06 15:35:36 +00:00
Tom Lane 5ce851dcda Reduce default file size limit to 1Gb, and move the
configuration constant to config.h.
1999-04-05 22:25:11 +00:00
Vadim B. Mikheev 9cae93d309 Fix HEAP_MOVED_OFF handling in HeapTupleSatisfiesDirty
(may be used while vacuuming unique btree-s).
1999-04-05 10:55:49 +00:00
Tom Lane e91f43a122 Fix potential overflow problems when relation size exceeds
2gig.  Fix failure to reliably put the smaller relation on the inside of
a hashjoin.
1999-04-05 02:07:07 +00:00
Tom Lane a253dcdb23 Give a better error message if an SQL-language function is
called through fmgr.  Someday we should try to actually execute the function,
but that looks like it might be a major feature addition.
Not something to try during beta phase.
1999-04-03 22:57:29 +00:00
Tom Lane ff38837fe9 Fix nasty bug in optimization of multiway joins: optimizer
would sometimes generate a plan that omitted a sort step before merge.
1999-04-03 00:18:28 +00:00
Tom Lane 97c52abcc5 Repair problems with omitted password and VALID UNTIL
parameters in CREATE USER.
1999-04-02 06:16:36 +00:00
Tom Lane 0b874f01dd Clean up compile errors and warnings, cf Billy Allie's
complaints (and some of my own).
1999-04-02 04:51:05 +00:00
Bruce Momjian 0000a0c004 Small cleanups. 1999-03-30 01:37:28 +00:00
Tom Lane c537d4295a Modify fmgr so that internal name (compiler name) of a built-in
function is found in prosrc field of pg_proc, not proname.  This allows
multiple aliases of a built-in to all be implemented as direct builtins,
without needing a level of indirection through an SQL function.  Replace
existing SQL alias functions with builtin entries accordingly.
Save a few K by not storing string names of builtin functions in fmgr's
internal table (if you really want 'em, get 'em from pg_proc...).
Update opr_sanity with a few more cross-checks.
1999-03-29 01:30:45 +00:00
Vadim B. Mikheev fdf6be80f9 1. Vacuum is updated for MVCC.
2. Much faster btree tuples deletion in the case when first on page
   index tuple is deleted (no movement to the left page(s)).
3. Remember blkno of new root page in BTPageOpaque of
   left/right siblings when root page is splitted.
1999-03-28 20:32:42 +00:00
Tom Lane 23ef47f89d Fix bogus function signature for areajoinsel.
It still doesn't do anything, but at least now it does nothing correctly.
1999-03-28 01:56:12 +00:00
Tom Lane 763a7ab6b0 Delete unused system table pg_parg. 1999-03-27 17:26:26 +00:00
Tatsuo Ishii 235a569aaa Fix multi-byte+locale problem 1999-03-25 04:46:53 +00:00
Tom Lane 6febecc569 Clean up att_align calculations so that XXXALIGN macros
need not be bogus.
1999-03-25 03:49:34 +00:00
Tatsuo Ishii 5ae9d85f77 Add KOI8/WIN/ALT support 1999-03-24 07:02:17 +00:00
Tatsuo Ishii eb42c1c762 These small utilities are for generating internal tables from
rcode encoding tables.
1999-03-24 07:01:37 +00:00
Bruce Momjian 344dfc0b0f Remove Tee code, move to _deadcode. 1999-03-23 16:51:04 +00:00
Bruce Momjian 92781fc18a cleanups 1999-03-23 05:41:00 +00:00
Bruce Momjian 48ea8b76db Hi,
I have solved some problems with dynamic loading on NT. It is possible
to
run succesfully both trigger and plpgsql regression tests. The patch is
in
the included file "diff".

                        Dan
1999-03-22 16:45:30 +00:00
Bruce Momjian 9aa535a2b9 Add % to b_expr. 1999-03-22 05:07:32 +00:00
Bruce Momjian 53d52a685a Cleanup of NULL in inet types. 1999-03-22 05:00:57 +00:00
Tom Lane 419b91c058 Correct some comments, fix a small memory wastage when datatype
is pass-by-value.
1999-03-21 19:59:13 +00:00
Bruce Momjian beb1851dd9 This patch fixes the bug that made it impossible to grant permissions to
a user such as "www-data".

Oliver
1999-03-21 06:31:59 +00:00
Tom Lane b01a272755 Add .cvsignore file so cvs doesn't complain if you have lex/yacc
output files laying about.
1999-03-21 02:43:58 +00:00
Bruce Momjian f8263c52b0 cleanup 1999-03-21 02:30:22 +00:00
Bruce Momjian 7ed3b89d48 Fix for %4 and 4%. 1999-03-21 02:26:56 +00:00
Tom Lane a4ce6f00f8 Remove yacc/lex output files from CVS repository. 1999-03-20 18:45:27 +00:00
Bruce Momjian 0aa2aed5f8 Reverse out pfree agg part of patch from Erik Riedel. 1999-03-20 13:18:20 +00:00
Bruce Momjian 3ea6c806eb cleanup 1999-03-20 02:31:45 +00:00
Bruce Momjian afac6363a6 cleanup 1999-03-20 02:07:31 +00:00
Bruce Momjian 7d0ab659ac Fix for aggregate memory leaks from Erik Riedel. 1999-03-20 01:13:22 +00:00
Bruce Momjian 5bfac23006 Fix shift/reduce for NULL = Var. 1999-03-19 23:48:50 +00:00
Bruce Momjian 0dfc358427 Fix for memory leak in executor with fjIsNull. 1999-03-19 22:31:39 +00:00
Bruce Momjian bd6f98af31 I suggest the following portability patch, which does not
change functionality, but makes the code more ANSI C'ish.
My AIX xlc compiler barfs on all of these. Can someone please
review and apply to current.

 <<port.patch>>
Thanks
Andreas
1999-03-19 18:56:43 +00:00
Bruce Momjian 58cc2b6ead cleanup parser 1999-03-18 22:11:47 +00:00
Bruce Momjian 5dd9b58a86 grammar cleanup' 1999-03-18 22:03:59 +00:00
Bruce Momjian ddd50c440a cleanup of grammer. 1999-03-18 22:01:56 +00:00
Bruce Momjian 30ad427388 Fix optimizer indexing not working for negative numbers. 1999-03-18 21:39:56 +00:00
Bruce Momjian dc02fd709f cleanups 1999-03-18 19:59:55 +00:00
Bruce Momjian 58118db39d Add new postgres -O option to allow system table structure changes. 1999-03-17 22:53:31 +00:00
Bruce Momjian 4989feaf3d Left associates all operators, instead of non-associating them. 1999-03-17 21:02:57 +00:00
Bruce Momjian 3b43accb0f Have % operator have precedence like /. 1999-03-17 20:17:13 +00:00
Bruce Momjian bfcf90600b Update nextval() code. 1999-03-16 20:15:06 +00:00
Bruce Momjian 89b762e509 Fix snprintf with strings, and nextval('"Aa"'); 1999-03-16 04:26:01 +00:00
Bruce Momjian 434762b559 Here is a patch.
I have changed to call pg_exec_query_dest() instead of pg_exec_query().

Thanks.

Hiroshi Inoue
1999-03-16 03:24:18 +00:00
Bruce Momjian 3a03e3cd30 cleanup 1999-03-15 22:20:20 +00:00
Bruce Momjian 4b583a8a56 Allow sequence nextval actions to be case-sensitive. 1999-03-15 16:48:34 +00:00
Bruce Momjian 1a305b7ad5 Drop buffers before destroying database files. 1999-03-15 14:07:44 +00:00
Bruce Momjian 25541a5cd3 LIKE cleanup. 1999-03-15 13:45:09 +00:00
Tom Lane 4a9c239063 Fix brain death in !!= operator ... it's still pretty bogus
but at least now it does what it's supposed to do ...
1999-03-15 03:24:32 +00:00
Bruce Momjian 265c283e1b > > > This patches src/bin/psql/psql.c.
> > >
> > > This patch is in responce to the following TODO list item:
> > >  * have psql \d on a view show the query
> > > -Ryan
1999-03-15 02:18:37 +00:00
Bruce Momjian db42533eae cleanup 1999-03-14 20:17:20 +00:00
Bruce Momjian 5d34abc6f1 Cleanup 1999-03-14 20:01:14 +00:00
Bruce Momjian 8930699cd6 src/backend/utils/adt/numeric.c fails to compile due to a string having
an
embedded new-line character.


Billy G. Allie
1999-03-14 16:49:32 +00:00
Bruce Momjian c10e6bcbed Attempting to insert a value of 'now' into a datetime type
results in a bogus datetime value under AlphaLinux.  (Note that
the link to submit a port-specific bug on your website is broken)

-Test Case:
----------
testdb=> create table dttest (dt datetime);
testdb=> insert into dttest values ('now');

--------------------------------------------------------------------------


Solution:
---------
The basic problem is the typedefs of AbsoluteTime and RelativeTime,
which are both 'int32'.  These types appear to be used synonymously
with the 'time_t' type, which on AlphaLinux is typedef'd as a 'long
int', which is 64-bits (not 32).  The solution included here fixes
the datetime type (it now passes the regression test), but does not
pass the absolute and relative time regression tests.  Presumably, a
more thorough investigation of how these types are used is warranted.
The included patch is from the v6.3.2 source, but can be applied to
the v6.4.2 source.  Please note that there is also a RedHat-specific
patch distributed with the PostgreSQL source package from RedHat
that was applied first.

Rich Edwards
1999-03-14 16:44:02 +00:00
Bruce Momjian 80db587e7b Here is a little syntax error found in a .y file... A dropped semi.
DwD
--
Daryl W. Dunbar
1999-03-14 16:40:18 +00:00
Bruce Momjian 042ec823cf Cleanup of hash functions in pg_proc. 1999-03-14 16:32:46 +00:00
Bruce Momjian 1d3166d3fa compile cleanup 1999-03-14 16:27:59 +00:00
Bruce Momjian f1cdcffb05 Compile cleanup 1999-03-14 16:25:07 +00:00
Bruce Momjian 4c9392230a Done.
o overwriting an existing lobj now works
o 8KB garbage block always inserted problem is fixed

Tatsuo Ishii
1999-03-14 16:08:17 +00:00
Bruce Momjian 9cab13c42e I've been having also sorts of fun trying to get kerberos 4
authentifica
tion
working with postgresql-6.4.2 and  KTH-KRB Ebones
(http://www.pdc.kth.se/kth-kr
b) on a dec alpha running DU 4.0D using the native compiler. The
following
patch does the trick.

The rationale behind this is as follows. The KTH-KRB code header files
defines
lots of lengths like INST_SZ,REALM_SZ and KRB_SENDAUTH_VLEN. It also has
a
habit of doing things like

        chararray[LENGTH] = '\0'

to ensure null terminated strings. In my instance this just happens to
blat
the kerberos principal instance string leading to error like

        pg_krb4_recvauth: kerberos error: Can't decode authenticator
(krb_rd_req
)

The application code that comes with KTH-KRB uses "KRB_SENDAUTH_VLEN +
1" and
sometimes uses "INST_SZ + 1" so it seems safest to put that 1 char
buffer in
the appropriate place.


Rodney McDuff
1999-03-14 16:06:43 +00:00
Bruce Momjian aba8c12f67 We have tested the patches on three platforms:
NetBSD/macppc
LinuxPPC
FreeBSD 2.2.6-RELEASE

All of them seem happy with the regression test. Note that, however,
compiling with optimization enabled on NetBSD/macppc causes an initdb
failure (other two platforms are ok). After checking the asm code, we
are suspecting that might be a compiler(egcs) bug.

Tatsuo Ishii
1999-03-14 16:03:33 +00:00
Bruce Momjian f6a9ed0445 Hello,
I've been working on the following TODO list item:
  * psql \d on index with char()/varchar() fields shows improper length

I've attached a simple patch to fix this.

-Ryan
1999-03-14 05:23:12 +00:00
Bruce Momjian d13fe29000 I have a problem with Access97 not working properly when entering new
records using a sub form, i.e. entering a new order/orderlines or master
and
detail tables.  The problem is caused by a SQL statement that Access97
makes
involving NULL.  The syntax that fails is "column_name" = NULL.  The
following attachment was provided by -Jose'-.  It contains a very small
enhancement to gram.y that will allow Access97 to work properly with sub
forms.  Can this enhancement be added to release 6.5?

 <<gram.patch>>
Thanks, Michael
1999-03-14 05:15:08 +00:00
Bruce Momjian 817a3e6d39 Enclosed below I have a patch to allow a btree index on the int8 type.
I would like some feedback on what the hash function for the int8 hash
function
in the ./backend/access/hash/hashfunc.c should return.

Also, could someone (maybe Tomas Lockhart?) look-over the patch and make
sure
the system table entries are correct?  I've tried to research them as
much as I
could, but some of them are still not clear to me.

Thanks,
-Ryan
1999-03-14 05:09:05 +00:00
Vadim B. Mikheev 2a76aa23e0 We have to return dummy tuple for empty targetlist!
Try select t1.x from t1, t2 where t1.y = 1 and t2.y = 1
- t2 scan target list will be empty and so no one tuple
will be returned...
1999-03-10 12:16:09 +00:00
Marc G. Fournier f34240de06 Changes to fix/improve the dynamic loading on NT
From: Horak Daniel <horak@mmp.plzen-city.cz>
1999-03-09 13:39:15 +00:00
Bruce Momjian f7430af934 Fix OR index selectivity problem. 1999-03-08 14:01:57 +00:00
Bruce Momjian c831d08fac Fix for Alpha OR selectivity bug. 1999-03-08 13:35:50 +00:00
Tom Lane a431aaec44 Export include/utils/mcxt.h so that external stuff can include
palloc.h again.  Move exporting of backend header files out of libpq's
Makefile (whatever was it doing there in the first place?) and into
backend/Makefile.
1999-03-07 23:05:57 +00:00
Tom Lane 86c2eadb18 Modify mcxt.h so that it doesn't pull in half of creation. 1999-03-07 23:03:32 +00:00
Bruce Momjian 60bb92af33 Really remove Recipe. 1999-03-07 03:34:11 +00:00
Tom Lane 731603a92b A few further tweaks to shared memory space estimation.
This change brings the default size of the main shmem block back under 1MB,
which is a fairly popular value for the kernel's SHMMAX parameter.
1999-03-06 21:17:56 +00:00
Tom Lane e0345e09bf Partial fix for copied-plan bugs reported by Hiroshi Inoue:
_copyResult didn't copy subPlan structure completely.  _copyAgg is still
busted, apparently because of changes from EXCEPT/INTERSECT patch
(get_agg_tlist_references is no longer sufficient to find all aggregates).
No time to look at that tonight, however.
1999-03-03 00:02:42 +00:00
Tom Lane b204d10c79 Executor no longer cares about mergejoinop, mergerightorder, mergeleftorder,
so remove them from MergeJoin node.  Hack together a partial
solution for commuted mergejoin operators --- yesterday
a mergejoin int4 = int8 would crash if the planner decided to
commute it, today it works.  The planner's representation of
mergejoins really needs a rewrite though.
Also, further testing of mergejoin ops in opr_sanity regress test.
1999-03-01 00:10:44 +00:00
Tom Lane dc77be0432 Fix executor to work correctly with mergejoins where left and
right sides have different data types.
1999-02-28 00:36:05 +00:00
Tom Lane 98f739454c Remove recipe.o from Makefile ... dead code not quite dead enough,
it seems.
1999-02-27 21:42:33 +00:00
Tom Lane b775655e8a Someone forgot to commit gram.c and parse.h after his latest
set of updates to gram.y.
1999-02-27 21:33:53 +00:00
Bruce Momjian c438520b91 Remove reference to recipe.h. 1999-02-25 17:25:47 +00:00
Bruce Momjian 6df955fd3b Fix problem with selectivity error in added columns with ALTER TABLE.
Move files to deadcode.
1999-02-24 17:29:06 +00:00
Bruce Momjian f3f7c2acde update comments 1999-02-24 10:20:07 +00:00
Bruce Momjian 02fa3e4394 Thank you for the advice. I concluded that current inet code has a
portability problem. Included patches should be applied to both
current and 6.4 tree. I have tested on LinuxPPC, FreeBSD and Solaris
2.6. Now the inet regression tests on these platforms are all happy.
---
Tatsuo Ishii
1999-02-24 03:17:05 +00:00
Thomas G. Lockhart 9fd28029eb Add a few other parser-only nodes for debugging help.
Define the JoinExpr node.
1999-02-23 08:01:47 +00:00
Thomas G. Lockhart 70600bd6f1 Clean up error messages. 1999-02-23 07:54:03 +00:00
Thomas G. Lockhart 681c587d22 Do a better job of selecting candidates among functions
when no exact match.
Clean up elog error messages.
1999-02-23 07:51:53 +00:00
Thomas G. Lockhart b4def32439 Include some new code for outer joins. Disabled by default, but enable by
including the following in your Makefile.custom:
 CFLAGS+= -DENABLE_OUTER_JOINS -DEXEC_MERGEJOINDEBUG
1999-02-23 07:46:42 +00:00
Thomas G. Lockhart 449020f782 Put in explicit checks for implicit index name lengths.
Put in hooks for outer joins by passing a few parameters back and forth
 in function calls. May not be close to working yet.
1999-02-23 07:44:44 +00:00
Thomas G. Lockhart 03d5c070f0 Modify the outer join placeholder code with something closer to working
code. Works here, but not completely implemented past this point.
1999-02-23 07:42:41 +00:00
Thomas G. Lockhart 25cccc05aa Fix typos in comments. 1999-02-23 07:36:31 +00:00
Thomas G. Lockhart 6d73a8c0cb Add first code to help with outer joins.
Enable by defining
 CFLAGS+= -DENABLE_OUTER_JOINS -DEXEC_MERGEJOINDEBUG
in your Makefile.custom
1999-02-23 07:35:09 +00:00
Thomas G. Lockhart 97287e1d13 Fix typo in comment. 1999-02-23 07:33:09 +00:00
Thomas G. Lockhart 348ab94822 Rearrange order of subdirectory creation to help generate parse.h
file early enough to use in nodes/.
Try to be more complete for rules on generating parse.h,
 but it still does not work any better than before. Should be able to
 make correctly if parser/gram.y is updated even without a "make clean"
 but so far not there yet.
1999-02-23 07:24:08 +00:00
Bruce Momjian 1e70c1fe5d comments cleanup. 1999-02-22 19:55:44 +00:00
Bruce Momjian 7fe29ecefc comment cleanup. 1999-02-22 19:40:10 +00:00
Bruce Momjian 01ec673cba ifdef out append(). 1999-02-22 17:29:57 +00:00
Bruce Momjian 9aa7e899dc Ok. I found an align problem in lobj that might not appear other than
Solaris/sparc. Please apply included patches to
src/backend/storage/large_object/inv_api.c and try again. (These are

Tatsuo Ishii
1999-02-22 16:46:43 +00:00
Tom Lane bcfdc9df04 Repair some pretty serious problems in dynahash.c and
shared memory space allocation.  It's a wonder we have not seen bug
reports traceable to this area ... it's quite clear that the routine
dir_realloc() has never worked correctly, for example.
1999-02-22 06:16:57 +00:00
Bruce Momjian ceb233ed11 more cleanup 1999-02-22 06:08:48 +00:00
Bruce Momjian 1ed5cbbfd8 Final optimizer cleanups. 1999-02-22 05:26:58 +00:00
Bruce Momjian e73d417105 fix compile problem. 1999-02-22 01:57:50 +00:00
Marc G. Fournier 8c3e8a8a0e From: Tatsuo Ishii <t-ishii@sra.co.jp>
Ok. I made patches replacing all of "#if FALSE" or "#if 0" to "#ifdef
NOT_USED" for current. I have tested these patches in that the
postgres binaries are identical.
1999-02-21 03:49:55 +00:00
Bruce Momjian 23c30246d7 pathkeys.c cleanup. 1999-02-21 01:55:03 +00:00
Tom Lane 9d197856dd Rearrange handling of MAXBACKENDS a little bit. The default setting
of MAXBACKENDS is now 1024, since all it's costing is about 32 bytes of memory
per array slot.  configure's --with-maxbackends switch now controls DEF_MAXBACKENDS
which is simply the default value of the postmaster's -N switch.  Thus,
the out-of-the-box configuration will still limit you to 64 backends,
but you can go up to 1024 backends simply by restarting the postmaster with
a different -N switch --- no rebuild required.
1999-02-21 01:41:55 +00:00
Bruce Momjian 75cccd0ad3 pathkeys fixes 1999-02-20 19:02:43 +00:00
Bruce Momjian 0ff2733355 Update pathkeys comparison function. 1999-02-20 18:01:02 +00:00
Bruce Momjian 148ec3b1d8 update pathkey description. 1999-02-20 16:32:35 +00:00
Bruce Momjian 9188aab758 add pathkeys description. 1999-02-20 16:28:20 +00:00
Bruce Momjian 67fd67f53a another rename of optimizer 1999-02-20 15:27:42 +00:00
Tom Lane 4c31393135 Reorder startup ops so that if preallocation of semas fails,
postmaster will release whatever it did get before dying.
1999-02-19 07:10:48 +00:00
Tom Lane e77b630cf0 Allow maximum number of backends to be set at configure time
(--with-maxbackends).  Add a postmaster switch (-N backends) that allows
the limit to be reduced at postmaster start time.  (You can't increase it,
sorry to say, because there are still some fixed-size arrays.)
Grab the number of semaphores indicated by min(MAXBACKENDS, -N) at
postmaster startup, so that this particular form of bogus configuration
is exposed immediately rather than under heavy load.
1999-02-19 06:06:39 +00:00
Bruce Momjian 612b8434e4 optimizer cleanup 1999-02-19 05:18:06 +00:00
Bruce Momjian 8ab72a38df optimizer cleanup 1999-02-19 02:05:20 +00:00
Bruce Momjian cd38f08598 rename optimizer file name 1999-02-18 19:58:53 +00:00
Bruce Momjian b4e7510e09 Enable bushy and right-hand queries by default. 1999-02-18 06:01:11 +00:00
Bruce Momjian 65ccd1039a Enable bushy plans by default. 1999-02-18 05:26:34 +00:00
Bruce Momjian e78662d879 optimizer cleanup 1999-02-18 04:55:54 +00:00
Bruce Momjian d977ff7b52 more optimizer cleanups 1999-02-18 04:45:36 +00:00
Tom Lane 63393bdf90 Produce a more specific error message when backend sees EOF on
client connection.
1999-02-18 01:13:26 +00:00
Bruce Momjian 31cce21fb0 Fix bushy plans. Cleanup. 1999-02-18 00:49:48 +00:00
Bruce Momjian c82ca4c158 Re-enable bushy plans. Vadim want them. 1999-02-16 00:41:03 +00:00
Bruce Momjian cd550c7672 Update optimizer readme. 1999-02-15 22:19:01 +00:00
Tom Lane 390d5e9f14 regprocin should accept '-' signifying InvalidOid, for
symmetry with regprocout.
1999-02-15 16:29:32 +00:00
Bruce Momjian e6bf7b4d93 rename 1999-02-15 05:56:07 +00:00
Bruce Momjian 56bb23a8fe optimizer rename 1999-02-15 05:50:02 +00:00
Bruce Momjian 50034a852d optimizer rename 1999-02-15 05:28:10 +00:00
Bruce Momjian c5449d5354 otherrels is now unjoined_rels 1999-02-15 05:21:12 +00:00
Bruce Momjian 82682ff31f optimizer rename 1999-02-15 03:59:28 +00:00
Bruce Momjian ba2883b264 Remove duplicate geqo functions, and more optimizer cleanup 1999-02-15 03:22:37 +00:00
Tom Lane 944d3c395e Replace non-idiomatic nconc(x, lcons(y, NIL)) with lappend(x, y). 1999-02-15 02:04:58 +00:00
Tom Lane dec354ca97 Fix a number of places that made faulty assumptions about
what is_opclause will accept.
1999-02-15 01:06:59 +00:00
Tom Lane 5500039843 Fix optimizer coredump with unary-operator WHERE clauses.
A test case is:
create table linetab (x line);
select * from linetab where ?| x;
which coredumps in 6.4.2 and current sources.
1999-02-14 22:24:25 +00:00
Bruce Momjian d8b482be7c optimizer cleanup. 1999-02-14 05:27:12 +00:00
Bruce Momjian 808a6df065 optimizer rename. 1999-02-14 05:14:15 +00:00
Bruce Momjian 61aa825876 Optimizer rename. 1999-02-14 04:57:02 +00:00
Bruce Momjian 6724a50787 Change my-function-name-- to my_function_name, and optimizer renames. 1999-02-13 23:22:53 +00:00
Thomas G. Lockhart 8c3fff7337 Fix offset of one for date_part(timespan) when given arguments of
decade, century, or millenium.
1999-02-13 05:34:24 +00:00
Thomas G. Lockhart a97683bc6c Change #if FALSE to #if NOT_USED to avoid port problems.
Fix problem with date_part() for timespan (had an offset of one)
 when given decade, century, and millenium as arguments.
 Reported by Ricardo J.C.Coelho.
1999-02-13 04:25:01 +00:00
Thomas G. Lockhart 910fe5891e Add routines to convert between int8 and text/varchar types.
Change #if FALSE to #if NOT_USED to avoid port problems.
Fix up pg_indent weirdness with function argument declarations.
1999-02-13 04:22:34 +00:00
Bruce Momjian ad4b27ac3f Optimizer cleanup. 1999-02-12 17:25:05 +00:00
Bruce Momjian c0d17c7aee JoinPath -> NestPath for nested loop. 1999-02-12 06:43:53 +00:00
Bruce Momjian 3fdb9bb9c7 Fix optimizer and make faster. 1999-02-12 05:57:08 +00:00
Bruce Momjian 55d0465009 optimizer update 1999-02-12 02:37:52 +00:00
Bruce Momjian 34ecb9d850 Optimizer cleanups. 1999-02-11 21:05:28 +00:00
Bruce Momjian c873fcdaf4 Optimizer cleanup. 1999-02-11 17:21:51 +00:00
Bruce Momjian 8dc2209f71 optimizer cleanup 1999-02-11 17:03:17 +00:00
Bruce Momjian 6de25f09b1 Optimizer cleanup. 1999-02-11 17:00:49 +00:00
Bruce Momjian 4ea3f728e9 More optimization. 1999-02-11 16:09:41 +00:00
Bruce Momjian d244df95db More optimizer speedups. 1999-02-11 14:59:09 +00:00
Bruce Momjian 129543e22d optimizer cleanup 1999-02-11 05:29:08 +00:00
Bruce Momjian dbd80c97f4 Optimizer fix for samekeys() and cost fixes for longer optimizer keys. 1999-02-11 04:08:44 +00:00
Bruce Momjian 9dbb0efb0b Optmizer cleanup 1999-02-10 21:02:50 +00:00
Bruce Momjian d5a785cd5a Update find_typedefs for bsdi 4.0. 1999-02-10 17:14:32 +00:00
Bruce Momjian f859c81c18 Rename Path.keys to Path.pathkeys. Too many 'keys' used for other things. 1999-02-10 03:52:54 +00:00
Bruce Momjian 318e593f03 Rename Temp to Noname for noname tables. 1999-02-09 17:03:14 +00:00
Bruce Momjian 78511d8fe9 Optimizer fix for samekeys. 1999-02-09 06:30:45 +00:00
Bruce Momjian fe35ffe7e0 Major optimizer improvement for joining a large number of tables. 1999-02-09 03:51:42 +00:00
Jan Wieck be948af2e8 Added LIMIT/OFFSET functionality including new regression test for it.
Removed CURRENT keyword for rule queries and changed rules regression
accordingly. CURRENT has beed announced to disappear in v6.5.

Jan
1999-02-08 14:14:32 +00:00
Bruce Momjian 54e5d25666 Optimizer cleanup. 1999-02-08 04:29:25 +00:00
Jan Wieck 566c712c58 Revert some changes from the INTERSECT/EXPECT patch that broke
rule system semantics by having Var nodes referenced across multiple
parsetrees when rules split them.

Added more tests to the rules regression test.

The code in question resulted from v6.3 based development and was
a little careless applied to the v6.5 source tree.

Jan
1999-02-08 01:39:46 +00:00
Tom Lane bd422fbce2 Simplify scanstr(), fix broken octal-escape code. 1999-02-07 23:59:59 +00:00
Tom Lane f7c6a88c33 Simplify lexer's rules for string constants, eliminate potential buffer overrun. 1999-02-07 23:58:52 +00:00
Tom Lane f280266985 Clean up some minor compile warnings. 1999-02-07 22:07:02 +00:00
Jan Wieck 04075a0c60 New gram.c after modification of gram.y
Jan
1999-02-07 19:04:59 +00:00
Jan Wieck 28fc5d7b83 Reenabled parentheses for grouping multiple rule actions and
added this syntax to rules regression test so it will show up
if someone breaks it again.

Jan
1999-02-07 19:02:20 +00:00
Jan Wieck ef590e101e Changed ExecConstraints() and ExecRelCheck() to cache the constraints
qualification expression trees in the execution state. Prevents from
memory exhaustion on INSERT, UPDATE or COPY to tables that have CHECK
constraints. Speedup against the variant using freeObject() is more than
factor 2.

Jan
1999-02-07 16:17:14 +00:00
Jan Wieck dd4a357dc9 Missing semicolon in last fix :-}
Jan
1999-02-07 14:20:11 +00:00
Jan Wieck 6fa3d0a7ab One more fix to QuerySnapshot usage in ExecutorStart(). Maybe
current QuerySnapshot could be NULL.

Jan
1999-02-07 13:54:58 +00:00
Jan Wieck a5f3abacb5 Fixed problem with multiple portals shown up in portals_p2 regression
test after new AllocSet code.

Activated optimal AllocSet blocksize and chunk limit.

Jan
1999-02-07 13:37:56 +00:00
Tom Lane 65d320e7e4 Fix bracketing error in CaseExpr code 1999-02-07 03:02:21 +00:00
Tom Lane 48fd9a2cc2 Add equality checking for T_Query so that we don't get
complaints in UNION regress test.  Probably still need some more node
types to be handled here, but I'm done for the day...
1999-02-07 00:52:12 +00:00
Tom Lane 3fd3d028fb Add floating-point support to our emulation of snprintf
so that EXPLAIN works again.
1999-02-06 21:51:03 +00:00
Tom Lane fd1afb7453 Fix silly typo causing SELECT INTO TABLE to sometimes be
treated as SELECT INTO TEMP TABLE.
1999-02-06 20:28:11 +00:00
Bruce Momjian a553760845 Optimizer cleanup. 1999-02-06 17:29:30 +00:00
Jan Wieck ead64f317b New alloc set code using a memory block pool for small allocations.
Jan
1999-02-06 16:50:34 +00:00
Bruce Momjian 7d2b3874aa optimizer cleanup 1999-02-05 20:34:11 +00:00
Bruce Momjian 6e2edaf4b8 Optimizer cleanup. 1999-02-05 19:59:31 +00:00
Bruce Momjian d5db88142c Fix for returning stack pointer from selectivity, from Bernard Frankpitt. 1999-02-05 17:47:29 +00:00
Tom Lane d3a85108c2 Fix silly typo in prune_joinrel 1999-02-05 03:43:05 +00:00
Bruce Momjian c45e4925ab Optimizer cleanups. 1999-02-04 23:19:53 +00:00
Bruce Momjian ae12e25263 Update optimizer comments. 1999-02-04 19:20:12 +00:00
Bruce Momjian 19cc38b28d Large object write-into-middle fix from Tatsuo Ishii. 1999-02-04 14:52:00 +00:00
Bruce Momjian ce3afccf7f More optimizer cleanups. 1999-02-04 03:19:11 +00:00
Bruce Momjian 18fbe4142f More optimizer renaming HInfo -> HashInfo. 1999-02-04 01:47:02 +00:00
Bruce Momjian 9322950aa4 Cleanup of source files where 'return' or 'var =' is alone on a line. 1999-02-03 21:18:02 +00:00