Tom Lane [Sat, 22 Jul 2000 06:19:04 +0000 (06:19 +0000)]
Make update lists like 'UPDATE tab SET foo[1] = bar, foo[3] = baz'
work as expected. THe underlying implementation is essentially
'SET foo = array_set(foo, 1, bar)', so we have to turn the items
into nested invocations of array_set() to make it work correctly.
Side effect: we now complain about 'UPDATE tab SET foo = bar, foo = baz'
which is illegal per SQL92 but we didn't detect it before.
Bruce Momjian [Sat, 22 Jul 2000 04:45:10 +0000 (04:45 +0000)]
spell cleanups
Bruce Momjian [Sat, 22 Jul 2000 04:30:27 +0000 (04:30 +0000)]
spell cleanups
Tom Lane [Sat, 22 Jul 2000 04:22:47 +0000 (04:22 +0000)]
Remove 'Array' node type, which has evidently been dead code for
a very long time.
Tom Lane [Sat, 22 Jul 2000 04:16:13 +0000 (04:16 +0000)]
Missed some array updates ...
Tom Lane [Sat, 22 Jul 2000 03:34:43 +0000 (03:34 +0000)]
Arrays are toastable. (At least if you initdb, which I didn't force.)
Remove a bunch of crufty code for large-object-based arrays, which is
superseded by TOAST and likely hasn't worked in a long time anyway.
Clean up array code a little, and in particular eliminate its habit
of scribbling on the input array (ie, modifying the input tuple :-().
Bruce Momjian [Sat, 22 Jul 2000 02:39:10 +0000 (02:39 +0000)]
Cleanups
Peter Eisentraut [Sat, 22 Jul 2000 01:48:53 +0000 (01:48 +0000)]
maintainer-clean and distclean ought to remove dependency information as well.
Tom Lane [Fri, 21 Jul 2000 22:27:29 +0000 (22:27 +0000)]
Fix typo in version-mismatch error report.
Tom Lane [Fri, 21 Jul 2000 22:14:09 +0000 (22:14 +0000)]
Further cleanup of btbuild (CREATE INDEX). Avoid storing unneeded
left keys during bottom-up index build, and leave some free space
instead of packing the pages to the brim (so as to avoid vast numbers
of page splits during the first interactive insertions).
Tom Lane [Fri, 21 Jul 2000 19:21:00 +0000 (19:21 +0000)]
Fix sloppiness about alignment requirements in findsplitloc() space
calculation, also make it stop when it has a 'good enough' split instead
of exhaustively trying all split points.
Bruce Momjian [Fri, 21 Jul 2000 18:51:24 +0000 (18:51 +0000)]
More doc cleanups, from book.
Bruce Momjian [Fri, 21 Jul 2000 17:58:49 +0000 (17:58 +0000)]
More doc cleanups
Bruce Momjian [Fri, 21 Jul 2000 14:51:00 +0000 (14:51 +0000)]
Update for sh.
Philip Warner [Fri, 21 Jul 2000 11:43:26 +0000 (11:43 +0000)]
- Support for TAR output
- Support for BLOB output from pg_dump and input via pg_restore
- Support for direct DB connection in pg_restore
- Fixes in support for --insert flag
- pg_dump now outputs in modified OID order
Philip Warner [Fri, 21 Jul 2000 11:40:08 +0000 (11:40 +0000)]
- Support for BLOB output from pg_dump and input via pg_restore
- Support for direct DB connection in pg_restore
- Fixes in support for --insert flag
- pg_dump now outputs in modified OID order
- various other bug fixes
Jan Wieck [Fri, 21 Jul 2000 11:18:51 +0000 (11:18 +0000)]
Need to switch to tuples memory context when replacing the toasted
one with the plain one.
Jan
Jan Wieck [Fri, 21 Jul 2000 10:31:31 +0000 (10:31 +0000)]
Temporary fix to make TOAST vacuum-safe. All values are forced to be
in memory (plain or compressed) in the tuple returned from the heap-am.
So no index will ever contain an external reference.
Jan
Tom Lane [Fri, 21 Jul 2000 06:42:39 +0000 (06:42 +0000)]
Major overhaul of btree index code. Eliminate special BTP_CHAIN logic for
duplicate keys by letting search go to the left rather than right when an
equal key is seen at an upper tree level. Fix poor choice of page split
point (leading to insertion failures) that was forced by chaining logic.
Don't store leftmost key in non-leaf pages, since it's not necessary.
Don't create root page until something is first stored in the index, so an
unused index is now 8K not 16K. (Doesn't seem to be as easy to get rid of
the metadata page, unfortunately.) Massive cleanup of unreadable code,
fix poor, obsolete, and just plain wrong documentation and comments.
See src/backend/access/nbtree/README for the gory details.
Bruce Momjian [Fri, 21 Jul 2000 04:49:23 +0000 (04:49 +0000)]
cleanup
Bruce Momjian [Fri, 21 Jul 2000 04:48:33 +0000 (04:48 +0000)]
cleanup
Bruce Momjian [Fri, 21 Jul 2000 04:42:28 +0000 (04:42 +0000)]
Cleanup
Bruce Momjian [Fri, 21 Jul 2000 04:37:10 +0000 (04:37 +0000)]
Cleanujp
Bruce Momjian [Fri, 21 Jul 2000 04:25:05 +0000 (04:25 +0000)]
Cleanup
Bruce Momjian [Fri, 21 Jul 2000 03:38:22 +0000 (03:38 +0000)]
reference page cleanup
Bruce Momjian [Fri, 21 Jul 2000 03:14:33 +0000 (03:14 +0000)]
Clean up flags
Bruce Momjian [Fri, 21 Jul 2000 03:13:32 +0000 (03:13 +0000)]
Fix postgres -A options flags
Peter Eisentraut [Fri, 21 Jul 2000 00:44:13 +0000 (00:44 +0000)]
Update installation instructions to new realities. Combined into one file.
Improved automation of INSTALL file generation.
Bruce Momjian [Fri, 21 Jul 2000 00:42:34 +0000 (00:42 +0000)]
Change > prompt to $
Bruce Momjian [Fri, 21 Jul 2000 00:24:37 +0000 (00:24 +0000)]
Change prompt % to $.
Bruce Momjian [Thu, 20 Jul 2000 20:31:38 +0000 (20:31 +0000)]
Update FAQ.
Bruce Momjian [Thu, 20 Jul 2000 20:13:15 +0000 (20:13 +0000)]
Update FAQ.
Bruce Momjian [Thu, 20 Jul 2000 17:48:37 +0000 (17:48 +0000)]
Update FAQ.
Bruce Momjian [Thu, 20 Jul 2000 17:48:36 +0000 (17:48 +0000)]
Update FAQ.
Bruce Momjian [Thu, 20 Jul 2000 17:45:32 +0000 (17:45 +0000)]
Update FAQ.
Bruce Momjian [Thu, 20 Jul 2000 17:44:18 +0000 (17:44 +0000)]
Update FAQ.
Bruce Momjian [Thu, 20 Jul 2000 17:43:22 +0000 (17:43 +0000)]
Update FAQ.
Bruce Momjian [Thu, 20 Jul 2000 17:40:38 +0000 (17:40 +0000)]
Update FAQ.
Peter Mount [Thu, 20 Jul 2000 15:30:05 +0000 (15:30 +0000)]
Fixed DatabaseMetaData.getTableTypes()
Jan Wieck [Thu, 20 Jul 2000 14:23:28 +0000 (14:23 +0000)]
Fixed memory allocation problems when compressing multi-MB
items. Lookup history is now a double linked list, used in
a wrap-around style.
Jan
Peter Eisentraut [Wed, 19 Jul 2000 22:47:13 +0000 (22:47 +0000)]
Don't need this anymore. It's now handled in the Makefile.
Peter Eisentraut [Wed, 19 Jul 2000 16:30:27 +0000 (16:30 +0000)]
Add distprep target to take some of the job of the release_prep script.
The latter updated accordingly. Also add `dist' and `distcheck' targets
to play with, but caveat packager.
Updated backend/bootstrap and backend/parser makefile to make them
marginally builddir aware and fix the usual set of things.
Add rule to automatically remake config.h dependent on config.h.in and
config.status. (Adopted from Autoconf manual and about every other
package.) On a good day we should now have a complete and accurate set
of dependencies throughout everything.
Jan Wieck [Wed, 19 Jul 2000 11:53:02 +0000 (11:53 +0000)]
Added untrusted PL/TclU (pltclu) language. Executes all procedures
in a non-safe interpreter, so with full OS access! Language is
restricted to be used by DB superusers.
Added "argisnull n" and "return_null" commands to gain full control
over NULL values from new FMGR capabilities.
Jan
Jan Wieck [Tue, 18 Jul 2000 11:28:20 +0000 (11:28 +0000)]
Fixed an ordering problem in test queries and
formatting differences due to new psql.
Jan
Tom Lane [Tue, 18 Jul 2000 05:02:19 +0000 (05:02 +0000)]
Add an opr_sanity check for misdefined aggregates that have transition
type different from input type but are expecting ExecAgg to insert the
first non-null input as the starting transition value. This has always
been verboten, but wasn't checked for until now...
Tom Lane [Tue, 18 Jul 2000 04:45:59 +0000 (04:45 +0000)]
Update pltcl regress test's expected output for 7.0 psql output format.
NOTE: this implementation of tcl_avg() fails with 'divide by zero'
for zero input rows. It ought to return NULL, but pltcl does not
currently provide a way to do that, so I'm leaving the problem unsolved
for now.
Tom Lane [Tue, 18 Jul 2000 03:57:33 +0000 (03:57 +0000)]
'const' decorations are fine, but not when they're inserted without
bothering to clean up the resulting warnings ...
Peter Eisentraut [Mon, 17 Jul 2000 22:32:59 +0000 (22:32 +0000)]
forgot autoconf run...
Tom Lane [Mon, 17 Jul 2000 22:32:44 +0000 (22:32 +0000)]
Correct erroneous explanation of DEADLOCK_TIMEOUT configuration setting.
Peter Eisentraut [Mon, 17 Jul 2000 22:31:59 +0000 (22:31 +0000)]
End users shouldn't have to invoke a separate command to install the
documentation. Therefore it's now installed by default. If there is no
documentation to be found (i.e., you are not using the distribution)
then this step is skipped.
Add --docdir option to configure to control installation directory.
Peter Eisentraut [Mon, 17 Jul 2000 18:24:33 +0000 (18:24 +0000)]
Don't strip trailing backslashes from a line. Treat them more reasonably.
Bruce Momjian [Mon, 17 Jul 2000 13:23:18 +0000 (13:23 +0000)]
Update TODO list.
Tom Lane [Mon, 17 Jul 2000 04:35:55 +0000 (04:35 +0000)]
I concur with Andreas: unconditionally including <sys/fcntl.h> is not
portable. Seems to have been added for O_BINARY, which is only needed
for __CYGWIN32__, so include it here only in that case.
Tom Lane [Mon, 17 Jul 2000 03:55:43 +0000 (03:55 +0000)]
Stat functions now in main system, contrib code no longer needed.
Tom Lane [Mon, 17 Jul 2000 03:52:28 +0000 (03:52 +0000)]
Update aggregate-function docs for STDDEV, VARIANCE.
Tom Lane [Mon, 17 Jul 2000 03:05:41 +0000 (03:05 +0000)]
Revise aggregate functions per earlier discussions in pghackers.
There's now only one transition value and transition function.
NULL handling in aggregates is a lot cleaner. Also, use Numeric
accumulators instead of integer accumulators for sum/avg on integer
datatypes --- this avoids overflow at the cost of being a little slower.
Implement VARIANCE() and STDDEV() aggregates in the standard backend.
Also, enable new LIKE selectivity estimators by default. Unrelated
change, but as long as I had to force initdb anyway...
Tom Lane [Mon, 17 Jul 2000 02:22:50 +0000 (02:22 +0000)]
update pltcl test to have at least some chance of running ... still
seems to be busted though ...
Tom Lane [Mon, 17 Jul 2000 01:26:42 +0000 (01:26 +0000)]
pltcl seems to be broken on HPUX with recent Tcl versions, because
link needs to specify -lc but doesn't. Quick hack to make it better.
Bruce Momjian [Sun, 16 Jul 2000 19:27:29 +0000 (19:27 +0000)]
Hmm. I didn't expect a change since I hadn't added tests for the new
stuff, but fixing the bug that existed in reporting the constraint name
changes the error line. Patch to expected output enclosed.
Stephan Szabo
Peter Eisentraut [Sun, 16 Jul 2000 14:50:44 +0000 (14:50 +0000)]
Automatic dependency tracking
The .DEFAULT rule in backend/Makefile is harmful -- removed.
Replace `::' rules by `:'.
Peter Eisentraut [Sun, 16 Jul 2000 14:47:57 +0000 (14:47 +0000)]
Incorporate README.fsync into main documentation body
Peter Eisentraut [Sat, 15 Jul 2000 21:35:47 +0000 (21:35 +0000)]
Revise locale and Kerberos documentation
Peter Eisentraut [Sat, 15 Jul 2000 15:54:52 +0000 (15:54 +0000)]
Rename templates to match names in makefiles/Makefile.* and include/port.
Read templates after compiler is detected. Convert all templates to real
shell scripts. Rename bsd->openbsd, alpha->osf.
Bruce Momjian [Sat, 15 Jul 2000 12:37:14 +0000 (12:37 +0000)]
This should be a slighly more complete patch for commands/command.c
AlterTableAddConstraint. The major changes from the last patch
are that it should hopefully check for references to temp tables
(not in the shadow case, but at defination time) from permanent tables in
foreign keys and refuse them and that it doesn't allow the table(s)
being constrained to be views (because those cases don't currently
work).
Stephan SzaboThis should be a slighly more complete patch for commands/command.c
AlterTableAddConstraint. The major changes from the last patch
are that it should hopefully check for references to temp tables
(not in the shadow case, but at defination time) from permanent tables in
foreign keys and refuse them and that it doesn't allow the table(s)
being constrained to be views (because those cases don't currently
work).
Stephan Szabo
Tom Lane [Sat, 15 Jul 2000 00:52:22 +0000 (00:52 +0000)]
Update implementation notes for new memory management logic.
Tom Lane [Sat, 15 Jul 2000 00:01:41 +0000 (00:01 +0000)]
Remove useless and dangerous 'opt_type' option from CREATE INDEX.
Tom Lane [Fri, 14 Jul 2000 22:18:02 +0000 (22:18 +0000)]
Cleanup of code for creating index entries. Functional indexes with
pass-by-ref data types --- eg, an index on lower(textfield) --- no longer
leak memory during index creation or update. Clean up a lot of redundant
code ... did you know that copy, vacuum, truncate, reindex, extend index,
and bootstrap each basically duplicated the main executor's logic for
extracting information about an index and preparing index entries?
Functional indexes should be a little faster now too, due to removal
of repeated function lookups.
CREATE INDEX 'opt_type' clause is deimplemented by these changes,
but I haven't removed it from the parser yet (need to merge with
Thomas' latest change set first).
Peter Eisentraut [Fri, 14 Jul 2000 16:41:44 +0000 (16:41 +0000)]
Remove dangling else warning (Cyrillic recode stuff)
Peter Eisentraut [Fri, 14 Jul 2000 16:40:40 +0000 (16:40 +0000)]
didn't compile
Peter Eisentraut [Fri, 14 Jul 2000 16:39:35 +0000 (16:39 +0000)]
Remove references to symbols that no longer get defined
Thomas G. Lockhart [Fri, 14 Jul 2000 16:04:18 +0000 (16:04 +0000)]
Fix munged markup from previous commit.
Thomas G. Lockhart [Fri, 14 Jul 2000 15:43:57 +0000 (15:43 +0000)]
Implement nested block comments in the backend and in psql.
Include updates for the comment.sql regression test.
Implement SET SESSION CHARACTERISTICS and SET DefaultXactIsoLevel.
Implement SET SESSION CHARACTERISTICS TRANSACTION COMMIT
and SET AutoCommit in the parser only.
Need to add code to actually do something.
Implement WITHOUT TIME ZONE type qualifier.
Define SCHEMA keyword, along with stubbed-out grammar.
Implement "[IN|INOUT|OUT] [varname] type" function arguments
in parser only; INOUT and OUT throws an elog(ERROR).
Add PATH as a type-specific token, since PATH is in SQL99
to support schema resource search and resolution.
Thomas G. Lockhart [Fri, 14 Jul 2000 15:35:44 +0000 (15:35 +0000)]
Implement SET SESSION CHARACTERISTICS and SET DefaultXactIsoLevel.
Thomas G. Lockhart [Fri, 14 Jul 2000 15:33:33 +0000 (15:33 +0000)]
Fix indenting in prototype declarations. No functional changes.
Thomas G. Lockhart [Fri, 14 Jul 2000 15:32:04 +0000 (15:32 +0000)]
Include rule to build include/parser/parse.h since nothing else can
build in this directory otherwise :(
Thomas G. Lockhart [Fri, 14 Jul 2000 15:30:56 +0000 (15:30 +0000)]
Change order of builds to get parser before commands.
This will ensure building parse.h for commands, though this is also
covered with other build rules.
Thomas G. Lockhart [Fri, 14 Jul 2000 15:28:16 +0000 (15:28 +0000)]
Save changes from last docs release.
Thomas G. Lockhart [Fri, 14 Jul 2000 15:27:14 +0000 (15:27 +0000)]
Add information on SET SESSION CHARACTERISTICS.
Fix references to pg_hba.conf(5) since that is no longer a man page.
Make minor repairs to "Compatibility" subsections.
Thomas G. Lockhart [Fri, 14 Jul 2000 15:26:21 +0000 (15:26 +0000)]
Update docs for TIME WITHOUT TIME ZONE.
Add information on SET SESSION CHARACTERISTICS.
Fix references to pg_hba.conf(5) since that is no longer a man page.
Peter Eisentraut [Thu, 13 Jul 2000 16:08:01 +0000 (16:08 +0000)]
Fix typo, from Keith Parks
Peter Eisentraut [Thu, 13 Jul 2000 16:07:14 +0000 (16:07 +0000)]
Repair parallel make in backend tree (and make it really parallel).
Make Gen_fmgrtab.sh reasonably robust against concurrent invocation.
Tom Lane [Thu, 13 Jul 2000 05:47:29 +0000 (05:47 +0000)]
Planner did the wrong thing with index-scan-backward plans: generated
them, but forgot to attach relevant restriction clauses, so that the
plan represented a scan over the whole table with restrictions applied
as qpquals not indexquals. Another day, another bug...
Peter Eisentraut [Wed, 12 Jul 2000 22:59:15 +0000 (22:59 +0000)]
Remove a bunch of unused configure tests, in particular cases where
* the result is not recorded anywhere
* the result is not used anywhere
* the result is only used in some places, whereas others have been getting away with it
* the result is used improperly
Also make command line options handling a little better (e.g., --disable-locale,
while redundant, should really still *dis*able).
Bruce Momjian [Wed, 12 Jul 2000 18:04:47 +0000 (18:04 +0000)]
Can you please apply the following patch to current CVS
to make AIX'ers happy with the changes to the version.o ?
Together with the patch I sent Tom, AIX now regresses ok.
Thanx
Andreas
Peter Eisentraut [Wed, 12 Jul 2000 17:38:53 +0000 (17:38 +0000)]
Add assert checking to GUC ("debug_assertions")
Rename settings net_server to tcpip_socket, max_backends to max_connections
Add --help and --version to postmaster, reformat help output
Tom Lane [Wed, 12 Jul 2000 05:15:20 +0000 (05:15 +0000)]
Repair missing MEMORY_CONTEXT_CHECKING logic for realloc().
Doesn't anyone around here run regression tests before submitting
patches, or before committing them?
Tom Lane [Wed, 12 Jul 2000 02:37:39 +0000 (02:37 +0000)]
First stage of reclaiming memory in executor by resetting short-term
memory contexts. Currently, only leaks in expressions executed as
quals or projections are handled. Clean up some old dead cruft in
executor while at it --- unused fields in state nodes, that sort of thing.
Bruce Momjian [Tue, 11 Jul 2000 14:30:37 +0000 (14:30 +0000)]
Here is the patch with memory leak checker. This checker allow detect
in-chunk leaks, overwrite-next-chunk leaks and overwrite block-freeptr leaks.
A in-chunk leak --- if something overwrite space after wanted (via palloc()
size, but it is still inside chunk. For example
x = palloc(12); /* create 16b chunk */
memset(x, '#', 13);
this leak is in the current source total invisible, because chunk is 16b and
leak is in the "align space".
For this feature I add data_size to StandardChunk, and all memory which go
from AllocSetAlloc() is marked as 0x7F.
The MemoryContextCheck() is compiled '#ifdef USE_ASSERT_CHECKING'.
I add this checking to 'tcop/postgres.c' and is active after each backend
query, but it is probably not sufficient, because some MemoryContext exist
only during memory processing --- will good if someone who known where
it is needful (Tom:-) add it for others contexts;
A problem in the current source is that we have still some malloc()
allocation that is not needful and this allocation is total invisible for
all context routines. For example Dllist in backend (pretty dirty it is in
catcache where values in Dllist are palloc-ed, but list is malloc-ed).
--- and BTW. this Dllist design stand in the way for query cache :-)
Tom, if you agree I start replace some mallocs.
BTW. --- Tom, have you idea for across transaction presistent allocation for
SQL functions? (like regex - now it is via malloc)
I almost forget. I add one if() to AllocSetAlloc(), for 'size' that are
greater than ALLOC_BIGCHUNK_LIMIT is not needful check AllocSetFreeIndex(),
because 'fidx' is always 'ALLOCSET_NUM_FREELISTS - 1'. It a little brisk up
allocation for very large chunks. Right?
Karel
Bruce Momjian [Tue, 11 Jul 2000 13:07:17 +0000 (13:07 +0000)]
Done. In backend/commands/define.c unused field is set to '-' for the
moment.
A patch for CVS is attached, and I have amended my BLOB dumping version
appropriately.
Philip Warner
Jan Wieck [Tue, 11 Jul 2000 12:32:03 +0000 (12:32 +0000)]
Some security checks that we've found an external value completely
when fetching toasted values.
Jan
Tom Lane [Mon, 10 Jul 2000 04:32:00 +0000 (04:32 +0000)]
Prevent creating a boatload of empty segments when md.c is asked to
access a ridiculously large block number within a relation.
Peter Eisentraut [Sun, 9 Jul 2000 21:30:21 +0000 (21:30 +0000)]
oidvectortypes: use SQL type names and separate by commas
psql \df: use format_type and oidvectortypes
map type REAL to float4, not float8
psql \dd :work around UNION bug
Peter Eisentraut [Sun, 9 Jul 2000 13:48:45 +0000 (13:48 +0000)]
typo
Peter Eisentraut [Sun, 9 Jul 2000 13:19:24 +0000 (13:19 +0000)]
Fix handling of pre-existing LD_LIBRARY_PATH, from Keith Parks
Peter Eisentraut [Sun, 9 Jul 2000 13:16:12 +0000 (13:16 +0000)]
Fix sed invocation, from Keith Parks
Peter Eisentraut [Sun, 9 Jul 2000 13:14:19 +0000 (13:14 +0000)]
Another round of those unportable config/build changes :-/
* Add option to build with OpenSSL out of the box. Fix thusly exposed
bit rot. Although it compiles now, getting this to do something
useful is left as an exercise.
* Fix Kerberos options to defer checking for required libraries until
all the other libraries are checked for.
* Change default odbcinst.ini and krb5.srvtab path to PREFIX/etc.
* Install work around for Autoconf's install-sh relative path anomaly.
Get rid of old INSTL_*_OPTS variables, now that we don't need them
anymore.
* Use `gunzip -c' instead of g?zcat. Reportedly broke on AIX.
* Look for only one of readline.h or readline/readline.h, not both.
* Make check for PS_STRINGS cacheable. Don't test for the header files
separately.
* Disable fcntl(F_SETLK) test on Linux.
* Substitute the standard GCC warnings set into CFLAGS in configure,
don't add it on in Makefile.global.
* Sweep through contrib tree to teach makefiles standard semantics.
... and in completely unrelated news:
* Make postmaster.opts arbitrary options-aware. I still think we need to
save the environment as well.
Tom Lane [Sun, 9 Jul 2000 04:56:32 +0000 (04:56 +0000)]
Make view/rule permission checking behave properly with
subqueries in the rule.
Tom Lane [Sun, 9 Jul 2000 04:17:53 +0000 (04:17 +0000)]
Fix bogus DatumGetInt32 coercion.
Thomas G. Lockhart [Sat, 8 Jul 2000 16:00:15 +0000 (16:00 +0000)]
Remove reference to tag which is not available to the User's Guide
when built on its own. UG now builds cleanly.
Bruce Momjian [Sat, 8 Jul 2000 15:04:27 +0000 (15:04 +0000)]
Update TODO list.