git.postgresql.org Git - postgresql.git/log
More message munging and localization for pg_dump, especially the
--verbose messages, which had not been considered so far. Output to the
terminal should okay now; comments written into the dump are still English
only, which may or may not be the desirable thing.
Tom Lane [Tue, 3 Jul 2001 16:52:48 +0000 (16:52 +0000)]
Add a little more error checking and reporting to readDatum().
Tom Lane [Tue, 3 Jul 2001 16:52:12 +0000 (16:52 +0000)]
Start the stats collector at a less randomly chosen time. Bad idea
to start it before we have acquired the data directory lock; also a
bad idea to start it before we have set up to catch SIGCHLD signals.
Tom Lane [Tue, 3 Jul 2001 16:49:48 +0000 (16:49 +0000)]
Don't go into infinite loop if /home/postgres/testversion/data directory is not writable.
Correct substring() example, found by Thomas T. Thai.
Tom Lane [Mon, 2 Jul 2001 20:50:46 +0000 (20:50 +0000)]
First non-stub implementation of shared free space map. It's not super
useful as yet, since its primary source of information is (full) VACUUM,
which makes a concerted effort to get rid of free space before telling
the map about it ... next stop is concurrent VACUUM ...
Tom Lane [Mon, 2 Jul 2001 19:31:52 +0000 (19:31 +0000)]
Update abstime expected results to match post-30-June-2001 reality.
Probably the right fix is to remove 'current' special value entirely,
but I don't want to see regression test failures until that happens.
Tom Lane [Mon, 2 Jul 2001 18:47:18 +0000 (18:47 +0000)]
Make the found-a-buffer-when-we-were-expecting-to-extend-the-rel path
actually work. It had been throwing an Assert as of my recent changes
to bufmgr.c, but was not really right even before that AFAICT.
Tom Lane [Sun, 1 Jul 2001 00:06:23 +0000 (00:06 +0000)]
Under new theory of operation wherein postmaster forks children
immediately, we will fork a child even if the database state does not
permit connections to be accepted (eg, we are in recovery mode).
The child process will correctly reject the connection and exit as
soon as it's finished collecting the connection request message.
However, this means that reaper() must be prepared to see child
process exit signals even while it's waiting for startup or shutdown
process to finish. As was, a connection request arriving during a
database recovery or shutdown would cause postmaster abort.
Allow default transaction isolation level (a.k.a. set session
characteristics) to be set through GUC.
fix markup
Add missing dependency and fix thinko.
The System V resources discussed here apply to NetBSD as well. In fact
I just finished changing the GENERIC files and the options(4) man page
on NetBSD to make this clearer.
portability enhancements
NLS for the psql \d family of commands. (E.g., the column headers will
have localized strings.) Also, modernize the system catalog queries where
appropriate, e.g., with outer joins.
Tom Lane [2001年6月29日 23:03:02 +0000 (23:03 +0000)]
gcc did not like new pg_stat macros, for good and sufficient reason.
Add 'do { ... } while (0)' decoration to eliminate compiler warnings.
Update TODO list.
Tom Lane [2001年6月29日 21:08:25 +0000 (21:08 +0000)]
Further work on connecting the free space map (which is still just a
stub) into the rest of the system. Adopt a cleaner approach to preventing
deadlock in concurrent heap_updates: allow RelationGetBufferForTuple to
select any page of the rel, and put the onus on it to lock both buffers
in a consistent order. Remove no-longer-needed isExtend hack from
API of ReleaseAndReadBuffer.
Tom Lane [2001年6月29日 20:14:27 +0000 (20:14 +0000)]
Fix VACUUM so that it can use pages as move targets even if they do not
have any newly-dead tuples on them. This is a longstanding deficiency
that prevents VACUUM from compacting a file as much as one would expect.
Change requires fixing repair_frag to not assume that fraged_pages is
a subset of vacuum_pages.
Also make some further cleanups of places that assumed page numbers fit
in int and tuple counts fit in uint32.
Add replication email.
Add info on MATCH PARTIAL.
SimpleDateFormat performance improvement, thread-safe.
Barry Lind
Tom Lane [2001年6月29日 16:34:30 +0000 (16:34 +0000)]
Fix longstanding error in VACUUM: sometimes would examine a buffer page
after writing/unpinning it. An actual failure is unlikely, unless the
system is tremendously short of buffers ... but a bug is a bug.
Jan Wieck [2001年6月29日 16:29:37 +0000 (16:29 +0000)]
Turned high-frequently called pgstat functions into macros
for speed.
Jan
Tom Lane [2001年6月29日 16:05:57 +0000 (16:05 +0000)]
Fix erroneous GUC variable references from commandline-GUC patch.
Tom Lane [2001年6月28日 16:00:07 +0000 (16:00 +0000)]
Repair logic error for multi-key indexes. From Oleg Bartunov.
Add to thread item.
Tom Lane [2001年6月27日 23:31:40 +0000 (23:31 +0000)]
Install infrastructure for shared-memory free space map. Doesn't actually
do anything yet, but it has the necessary connections to initialization
and so forth. Make some gestures towards allowing number of blocks in
a relation to be BlockNumber, ie, unsigned int, rather than signed int.
(I doubt I got all the places that are sloppy about it, yet.) On the
way, replace the hardwired NLOCKS_PER_XACT fudge factor with a GUC
variable.
National language support for pg_dump and pg_restore. Combined with big
message clean up.
Tom Lane [2001年6月27日 19:02:48 +0000 (19:02 +0000)]
Remove another unused include file with obsolete, useless,
confusing definitions in it.
Add jdbc item.
Update TODO list.
Update TODO list.
Update TODO list.
Update TODO list.
Handle Procedure calls.
Now the version is 7.01.0006.
Update TODO list.
Update TODO list.
Update TODO list.
Update TODO list.
Tom Lane [2001年6月25日 23:03:03 +0000 (23:03 +0000)]
Fix a couple remaining places where GUC variables were assigned to
directly, rather than through SetConfigOption().
Tom Lane [2001年6月25日 22:56:05 +0000 (22:56 +0000)]
Fix a couple remaining places where GUC variables were assigned to
directly, rather than through SetConfigOption().
Tom Lane [2001年6月25日 21:11:45 +0000 (21:11 +0000)]
Optimizer can now estimate selectivity of IS NULL, IS NOT NULL,
IS TRUE, etc, with some degree of verisimilitude. Split out
selectivity support functions from builtins.h into a new header
file selfuncs.h, so as to reduce the number of header files builtins.h
must depend on. Fix a few missing inclusions exposed thereby.
From Joe Conway, with some kibitzing from Tom Lane.
Tom Lane [2001年6月25日 20:20:02 +0000 (20:20 +0000)]
Suppress gcc warning.
High memory usage
Here is a patch which inspired by Michael Stephens that should work
Dave Cramer
Back out BYTEA binary compatibility changes.
Don't use a temp file. It was created insecurely and was easy to do without.
Since a missing pg_pwd file is a valid situation, don't print an error
message in that case.
> Marko Kreen <marko@l-t.ee> writes:
> > secure_ctx changes too. it will be PGC_BACKEND after '-p'.
>
> Oh, okay, I missed that part. Could we see the total state of the
> patch --- ie, a diff against current CVS, not a bunch of deltas?
> I've gotten confused about what's in and what's out.
Ok, here it is. Cleared the ctx comment too - after -p
it will be PGC_BACKEND in any case.
Marko Kreen
Here the latest version and first working release of Ora2Pg a tool to export
Oracle database to PostgreSQL.
It currently dump the database schema (tables, views, sequences,
indexes, grants), with primary, unique and foreign keys into PostgreSQL
syntax without editing the SQL code generated. You can dump only a
particular schema from the Oracle database.
Functions, procedures and triggers with SQL or PLSQL code generated must
be reviewed to match the PostgreSQL syntax. Some usefull recommandation
on porting Oracle to PostgreSQL can be found at
http://techdocs.postgresql.org/
under the "Converting from other Databases to PostgreSQL" Oracle part. I
just
notice one thing more is that the trunc() function in Oracle is the same for
number
or date so be carefull when porting to PostgreSQL to use trunc() for number
and
date_trunc() for date.
I will add more precision in type NUMBER conversion based on length to match
as closest as possible all rich PostgreSQL numerics type. But it seems not to be
urgent as it seems that Oracle DBAs only create number with length 22 (default)
Space seems not to be their problem...
Gilles DAROLD
Add TEMPORARY sequences and have SERIAL on a temp table have a temporary
sequence.
fix markup
updates for new startup sequence, some reformatting
Attached is documentation describing plperlu differences from plperl.
Alex Pilosov
Jan Wieck [2001年6月22日 19:18:36 +0000 (19:18 +0000)]
The new files for statistical system views.
Jan
Jan Wieck [2001年6月22日 19:16:24 +0000 (19:16 +0000)]
Statistical system views (yet without the config stuff, but
it's hard to keep such massive changes in sync with the tree
so I need to get it in and work from there now).
Jan
Tom Lane [2001年6月22日 18:53:36 +0000 (18:53 +0000)]
Mention that EXPLAIN results on small tables shouldn't be extrapolated
to large tables. Recommend ANALYZE or VACUUM ANALYZE after populating
a table.
Include catalog/pg_type.h instead of manually extracting the interesting
oid values.
Change SQLPrimaryKeys() so that it detects the primary key
other than tablename_pkey.
Tom Lane [2001年6月22日 00:04:59 +0000 (00:04 +0000)]
Add support to lock manager for conditionally locking a lock (ie,
return without waiting if we can't get the lock immediately).
Not used yet, but will be needed for concurrent VACUUM.
Tom Lane [2001年6月21日 21:01:36 +0000 (21:01 +0000)]
Remove unused include file for long-dead flavors of locking.
Tom Lane [2001年6月21日 19:45:45 +0000 (19:45 +0000)]
Tweak error message.
Fix strangely formatted comment.
Tom Lane [2001年6月21日 16:43:24 +0000 (16:43 +0000)]
A bit of code beautification/cleanup of obsolete comments. Rethink
ordering of startup operations in one or two places.
Shared libraries should not be linked explicitly against -lc on FreeBSD
(see http://mail.gnu.org/pipermail/libtool/2000-July/001824.html). But
apparently it should still be present with -Bsymbolic.
-Bsymbolic requires -lc on NetBSD. Also add rpath for non-ELF.
from Johnny C. Lam <lamj@stat.cmu.edu> via D'Arcy
Re-add explicit declaration of filename_completion_function(), which seems
to be missing in some header files (on OpenBSD 2.8?).
There is no RTLD_GLOBAL on OpenBSD, says Alex Pilosov <alex@pilosoft.com>.
Swedish translation for psql (my interpretation of Swedish, surely)
Handle reading of startup packet and authentication exchange after forking
a new postmaster child process. This should eliminate problems with
authentication blocking (e.g., ident, SSL init) and also reduce problems
with the accept queue filling up under heavy load.
The option to send elog output to a different file per backend (postgres -o)
has been disabled for now because the initialization would have to happen
in a different order and it's not clear we want to keep this anyway.
Make sure that everything says version 3.2.
Add NUMERICOID to this script. This script can be run occasionally to
make sure that we are using the right #defines in pgmodule.c but the
OIDs are never actually expected to change.
Change the driver so that large error messages are returned
by multiple SQLError calls.
Apparently, on some systems, ExtUtils::Embed and MakeMaker are slightly
broken, and its impossible to make a shared library when compiling with
both CCDLFLAGS and LDDLFAGS, you have to pick one or the other.
Alex Pilosov
Attached is a patch to deal with the ones that I missed the first time
around. I tested this patch under Cygwin and Linux.
Note that I only changed dblink's Makefile in the most minimal way
to fix the link problem under Cygwin (i.e., use the link rule from
Makefile.shlib instead). dblink's Makefile should probably be further
patched to be consistent with the other PostgreSQL Makefiles.
Jason Tishler
Back out SET ALL patch because it is breaking things.
Tom Lane [2001年6月19日 22:39:12 +0000 (22:39 +0000)]
Add IS UNKNOWN, IS NOT UNKNOWN boolean tests, fix the existing boolean
tests to return the correct results per SQL9x when given NULL inputs.
Reimplement these tests as well as IS [NOT] NULL to have their own
expression node types, instead of depending on special functions.
From Joe Conway, with a little help from Tom Lane.
Tom Lane [2001年6月19日 21:28:41 +0000 (21:28 +0000)]
Fix badly broken RelationGetRelationName().
Tom Lane [2001年6月19日 19:42:16 +0000 (19:42 +0000)]
Clean up some longstanding problems in shared-cache invalidation.
SI messages now include the relevant database OID, so that operations
in one database do not cause useless cache flushes in backends attached
to other databases. Declare SI messages properly using a union, to
eliminate the former assumption that Oid is the same size as int or Index.
Rewrite the nearly-unreadable code in inval.c, and document it better.
Arrange for catcache flushes at end of command/transaction to happen before
relcache flushes do --- this avoids loading a new tuple into the catcache
while setting up new relcache entry, only to have it be flushed again
immediately.
Move temprel name define from temprel.h to rel.h.
Tom Lane [2001年6月19日 05:11:50 +0000 (05:11 +0000)]
Bring RelationGetRelationName into sync with new temp rel names.
Quick hack -- need to decide which header should include the other.
Corrected the check for *message truncated* for the future use.
Changed the error handling as follows.
1) ERRORs cause an SQL_ERROR and the SQLSTATE='S1000'.
2) NOTICEs cause an SQL_SUCCESS_WITH_INFO and the succeeding
SQLError() returns the NOTICE message.
RESET ALL secondary patch:
Here is Tomified version of my 2 pending patches.
Dropped the set_.._real change as it is not needed.
Desc would be:
* use GUC for settings from cmdline
Marko Kreen
Well, after persuading cvsup and cvs that it _is_ possible to have local
modifiable repositories, I have a clean untrusted plperl patch to offer
you :)
Highlights:
* There's one perl interpreter used for both trusted and untrusted
procedures. I do think its unnecessary to keep two perl
interpreters around. If someone can break out from trusted "Safe" perl
mode, well, they can do what they want already. If someone disagrees, I
can change this.
* Opcode is not statically loaded anymore. Instead, we load Dynaloader,
which then can grab Opcode (and anything else you can 'use') on its own.
* Checked to work on FreeBSD 4.3 + perl 5.5.3 , OpenBSD 2.8 + perl5.6.1,
RedHat 6.2 + perl 5.5.3
* Uses ExtUtils::Embed to find what options are necessary to link with
perl shared libraries
* createlang is also updated, it can create untrusted perl using 'plperlu'
* Example script (assuming you have Mail::Sendmail installed):
create function foo() returns text as '
use Mail::Sendmail;
%mail = ( To => q(you@yourname.com),
From => q(me@here.com),
Message => "This is a very short message"
);
sendmail(%mail) or die $Mail::Sendmail::error;
return "OK. Log says:\n", $Mail::Sendmail::log;
' language 'plperlu';
Alex Pilosov
The attached patch enables the contrib subtree to build cleanly under
Cygwin with the possible exception of mSQL-interface. Since I don't
have mSQL installed, I skipped this tool.
Except for dealing with a missing getopt.h (oid2name) and HUGE (seg),
the bulk of the patch uses the standard PostgreSQL approach to deal with
Windows DLL issues.
I tested the build aspect of this patch under Cygwin and Linux without
any ill affects. Note that I did not actually attempt to test the code
for functionality.
The procedure to apply the patch is as follows:
$ # save the attachment as /tmp/contrib.patch
$ # change directory to the top of the PostgreSQL source tree
$ patch -p0 </tmp/contrib.patch
Jason
Untar copyright.html file and make good version.
Here's a small patch for dblink:
- fixed dblink invalid pointer causing corrupt elog message
- fixed dblink_tok improper handling of null results
- fixed examples in README.dblink
Joe Conway
Tom Lane [2001年6月18日 19:05:11 +0000 (19:05 +0000)]
Fix some references to USE_AUSTRALIAN_RULES that Bruce missed;
plus a few trivial improvements in wording.
Update FAQ.
Add new dblink to /contrib Makefile.'
Add GUC setting for Australian timezones. Uses new GUC boolean callback
functions to clear date cache. Allow regression tests to pass when
timezone set.
Allow removal of system-named pg_* temp tables. Rename temp file/dir as
pgsql_tmp.
Improve wording of authentication files.
Tom Lane [2001年6月18日 03:35:07 +0000 (03:35 +0000)]
Do some restructuring to improve performance of the catcaches. Teach
CatalogCacheFlushRelation (formerly called SystemCacheRelationFlushed)
how to distinguish tuples it should flush from those it needn't; this
means a relcache flush event now only removes the catcache entries
it ought to, rather than zapping the caches completely as it used to.
Testing with the regression tests indicates that this considerably
improves the lifespan of catcache entries. Also, rearrange catcache
data structures so that the limit on number of cached tuples applies
globally across all the catcaches, rather than being per-catcache.
It was a little silly to have the same size limit on both, say,
pg_attribute caches and pg_am caches (there being only four possible
rows in the latter...). Doing LRU removal across all the caches
instead of locally in each one should reduce cache reload traffic
in the more heavily used caches and improve the efficiency of
cache memory use.
Fix *escape* handling in copy_statement_with_parameters(was my fault).
Tom Lane [2001年6月17日 22:27:15 +0000 (22:27 +0000)]
Keep the list of to-be-NOTIFYed names in a plain List palloc'd in
TopTransactionContext, rather than using Dllist. This simplifies and
speeds up the code, and eliminates a former risk of coredump when
out of memory (since the old code didn't bother to check for malloc
failure). It also moves us one step closer to retiring Dllist...
Tom Lane [2001年6月17日 02:05:20 +0000 (02:05 +0000)]
Make inet/cidr << and <<= operators indexable. From Alex Pilosov <alex@pilosoft.com>.
Tom Lane [2001年6月16日 22:58:17 +0000 (22:58 +0000)]
Tweak startup sequence so that running out of PROC array slots is
detected sooner in backend startup, and is treated as an expected error
(it gives 'Sorry, too many clients already' now). This allows us not
to have to enforce the MaxBackends limit exactly in the postmaster.
Also, remove ProcRemove() and fold its functionality into ProcKill().
There's no good reason for a backend not to be responsible for removing
its PROC entry, and there are lots of good reasons for the postmaster
not to be touching shared-memory data structures.
Tom Lane [2001年6月16日 18:59:31 +0000 (18:59 +0000)]
It turns out that the relcache thinks it can distinguish different
rules and triggers by OID. So, even though we have no cross-references
in the system catalogs to pg_rewrite.oid or pg_trigger.oid, we'd better
have unique indexes on them. Put back pg_rewrite_oid_index, which I
mistakenly removed a few days ago, and add pg_trigger_oid_index.
This is the main PostgreSQL git repository.
RSS
Atom