Commit Graph

4161 Commits

Author SHA1 Message Date
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
ba71b81966 Remove equivalence between datetime and float8. Led to nothin' but trouble. 1999-02-13 05:25:54 +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
Thomas G. Lockhart
02e85e7e5f Add routines to convert between int8 and text/varchar types.
Fix output type for int8out, but I don't think it matters.
1999-02-13 04:19:54 +00:00
Thomas G. Lockhart
7a724a0231 Include some Julian date declarations to share between various date/time
modules. Used to be in dt.c I think.
1999-02-13 04:15:33 +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
Tom Lane
847da1a1ee Remove Perl module's unnecessary dependence on libpq-int.h. 1999-02-11 23:25:16 +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
Tom Lane
403b3eff79 Include <varargs.h> on SunOS. (Does any other platform need it??) 1999-02-11 01:36:55 +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
Tom Lane
07c33ba79e pg_dump -d or -D didn't quote special characters in INSERT data
correctly.  -D had problems with tables with inherited fields, also.
1999-02-08 01:46:28 +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
45ff93c460 Include -lcrypt when needed to link libpgtcl.so and plpgsql.so 1999-02-07 22:10:47 +00:00
Jan Wieck
afd57dbb3a Changed manpages for create_rule/drop_rule to the semantics
of the rule system of v6.4 and descendants.

Jan
1999-02-07 22:10:10 +00:00
Tom Lane
fa0f24165c Add PQresStatus() function to avoid direct access to pgresStatus[] array,
making life easier for Windoids...
1999-02-07 22:08:54 +00:00
Tom Lane
f280266985 Clean up some minor compile warnings. 1999-02-07 22:07:02 +00:00
Tom Lane
5212ef8e46 Correct definition of srandom() --- it takes unsigned int not int. 1999-02-07 22:04:57 +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
Bruce Momjian
65decc3402 Allow psql to do \p\g. Ingres does it, why not us? 1999-02-07 02:56:53 +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
Bruce Momjian
f962514403 Reverse out const to libpq interface from D'Arcy. 1999-02-05 04:25:55 +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
Marc G. Fournier
fc590b6f1a From: Michael Meskes <Michael.Meskes@usa.net>
+ Tue Feb  2 07:40:52 CET 1999
+
+       - Brought preproc.y in sync again with gram.y.
+       - Set ecpg version to 2.4.9
+
1999-02-04 04:58:05 +00:00
Bruce Momjian
a03b817373 Const fixes from D'Arcy. 1999-02-04 03:20:39 +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
Bruce Momjian
3982368a4e The libpq function PQfnumber does not handle case-insensitive
comparisons correctly. The psql monitor converts all table and field
names to lower case. If the PQfnumber function is called with a mixed
case name, it will always return -1.

Bahman Rafatjoo
1999-02-03 20:19:10 +00:00
Bruce Momjian
8d9237d485 Optimizer rename ClauseInfo -> RestrictInfo. Update optimizer README. 1999-02-03 20:15:53 +00:00
Jan Wieck
f3a6b38e32 Sort node for ORDER BY is suppressed if choosen index scan will
allways present tuples in the requested order.

Jan
1999-02-03 19:31:24 +00:00
Tom Lane
724119a979 Modify int8 to not depend on sscanf(), and fix configure's test
for int8 support.  configure now checks only snprintf() for int8 support,
not sprintf and sscanf as it used to.  The reason for doing this is that
if we are supplying our own snprintf code (which does handle long long int),
we now only need working long long support in the compiler not in the
platform's C library.  I have verified that int8 now passes regression test
on HPUX 9, and I think it should work on SunOS 4.1.* and other older
platforms if gcc is used.
1999-02-03 00:18:53 +00:00
Bruce Momjian
4090d17fee SET_ARGS cleanup 1999-02-02 23:53:26 +00:00
Bruce Momjian
f1b7823471 Make GEQO use dependent on table and index count. 1999-02-02 20:30:18 +00:00
Bruce Momjian
eb3415538e OK I found it,
I search in the planner for the '\xFF' appending.
Finally I found in MakeIndexable() in gram.y

Attach a patch which removes the "<=" test in USE_LOCALE,
might make some queries a bit slower for us "locale-heads",
BUT correct result is more important.

        regards,
--
-----------------
Göran Thyni
1999-02-02 19:20:54 +00:00
Bruce Momjian
2163d9e33e Add missing mb files. 1999-02-02 19:04:43 +00:00
Bruce Momjian
a7ad43cd18 Included patches make some enhancements to the multi-byte support.
o allow to use Big5 (a Chinese encoding used in Taiwan) as a client
  encoding. In this case the server side encoding should be EUC_TW

o add EUC_TW and Big5 test cases to the regression and the mb test
  (contributed by Jonah Kuo)

o fix mistake in include/mb/pg_wchar.h. An encoding id for EUC_TW was
  not correct (was 3 and now is 4)

o update documents (doc/README.mb and README.mb.jp)

o update psql helpfile (bin/psql/psqlHelp.h)

--
Tatsuo Ishii
t-ishii@sra.co.jp
1999-02-02 18:51:40 +00:00
Bruce Momjian
8358a8f6a0 psql help fix. 1999-02-02 18:41:17 +00:00
Bruce Momjian
1b907ab8f5 Fix for psql help create table. 1999-02-02 18:39:23 +00:00
Bruce Momjian
8e958b8a38 Fix create_rule is->as. 1999-02-02 17:46:17 +00:00
Jan Wieck
7ab88a16a1 Fixed failed assertion happening in multiple action rules
when parsestate in makeRangeTable() already contains an
opened p_target_relation.

Jan
1999-02-02 12:57:51 +00:00
Bruce Momjian
4390b0bfbe Add TEMP tables/indexes. Add COPY pfree(). Other cleanups. 1999-02-02 03:45:56 +00:00
Jan Wieck
7fc75517df Fixed growing of backend due to not pfree()'d data on COPY FROM
Fixed growing of backend if BEFORE DELETE trigger returns heap tuple
different from trigtuple.

Jan
1999-02-01 20:25:55 +00:00
Vadim B. Mikheev
072be47202 Initialize es_snapshot. 1999-02-01 13:33:27 +00:00
Tom Lane
757f403451 Tighten coding in samekeys(). Pretty braindead change,
but it saves almost 10% of the runtime in Charles Hornberger's optimizer
example, so what the heck ...
1999-02-01 04:20:50 +00:00
Marc G. Fournier
6ca2bf6534 freebsd4.0 needed to be added to configure... 1999-02-01 02:52:23 +00:00
Marc G. Fournier
91fed81c77 From: Michael Meskes <Michael.Meskes@usa.net>
+
+ Wed Jan 27 12:42:22 CET 1999
+
+       - Fixed bug that caused ecpg to lose 'goto' information.
+       - Set ecpg version to 2.4.7
+
+ Fri Jan 29 18:03:52 CET 1999
+
+       - Fixed bug that caused 'enum' to be rejected in pure C code.
+       - Fixed bug that caused function names to be translated to lower case.
+       - Set ecpg version to 2.4.8
+
1999-01-31 19:56:28 +00:00
Marc G. Fournier
f7c4ec5085 From: D'Arcy J.M. Cain <darcy@druid.net>
The following patch does two things.

 - Clarifies what the effect of allowing users to add new users (Thet
   become super-users.)
 - Makes the default database for the new user if they are not allowed
   to and the user agrees to create it.
1999-01-31 05:04:25 +00:00
Tom Lane
36c1895533 Fix postmaster to not try to start more than MaxBackendId children,
per patch from Tatsuo Ishii
1999-01-30 20:04:37 +00:00
Vadim B. Mikheev
bfa6d510b3 Small fix for READ COMMITTED isolevel. 1999-01-29 13:24:36 +00:00
Vadim B. Mikheev
aaef7beb79 Hope that execMain.c good merged.
Fix for BEFORE ROW UPDATE triggers: result tuple may be different
(due to concurrent update) from one initially produced by top level plan.
1999-01-29 11:56:01 +00:00
Vadim B. Mikheev
1d41e88568 Trying to fix bad merging... 1999-01-29 10:15:09 +00:00
Vadim B. Mikheev
e3a1ab764e READ COMMITTED isolevel is implemented and is default now. 1999-01-29 09:23:17 +00:00
Jan Wieck
3e2f87f3f3 Changed qualification of pg_views and pg_tables to directly
check if a rewrite rule on SELECT exists/not exists instead
of asking pg_get_viewdef() function.

Jan
1999-01-28 15:28:40 +00:00
Jan Wieck
51e8a1d390 New prebuilt versions of gram.c and scan.c for the mixed case
identifier support.

Jan
1999-01-28 11:50:42 +00:00
Jan Wieck
c42b959fb3 Partial support for mixed case in PL/pgSQL.
Left are identifiers that contain non-alnum/_ chars.
So e.g. whitespaces in identifiers are still not
supported.

Jan
1999-01-28 11:48:31 +00:00
Tom Lane
b946244c1c Quick fix for subplan-related crash. 1999-01-27 16:48:20 +00:00
Jan Wieck
28d8b42ca5 Speedup of PL/pgSQL by calling ExecEvalExpr() directly
instead of SPI_execp() for simple expressions.

Jan
1999-01-27 16:15:22 +00:00
Bruce Momjian
d611ccb874 fix for aggregates 1999-01-27 16:15:01 +00:00
Marc G. Fournier
2ae5d51668 From: Tatsuo Ishii <t-ishii@sra.co.jp>
Included patches fix a portability problem of unsetenv() used in
6.4.2 multi-byte support. unsetenv() is only avaliable on FreeBSD and
Linux so I decided to replace with putenv().
1999-01-27 01:18:23 +00:00
Tom Lane
e27f8791f9 Turns out it's easy to cache the fmgr function lookup
result, too ... another little bit of speed for SELECT.
1999-01-27 01:11:43 +00:00