1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-21 16:02:15 +03:00
Commit Graph

23613 Commits

Author SHA1 Message Date
6d0d838ceb Remove WIN32_NON_BLOCKING_CONNECTIONS tests, since we don't need 'em
anymore.
2001-07-31 02:14:49 +00:00
c4c194f100 Fix unportable coding for FRONTEND case. 2001-07-31 02:02:45 +00:00
267a8f82bf Change SQL commands embedded in the initdb script from the style
echo "command" | postgres
to the style
	postgres <<EOF
		command
	EOF
This makes the script more legible (IMHO anyway) by reducing the need
to escape quotes, and allows us to execute successive SQL commands in
a single standalone-backend run, rather than needing to start a new
standalone backend for each command.  With all the CREATE VIEWs that
are getting done now, this makes for a rather substantial reduction
in the runtime of initdb.  (Some of us do initdb often enough to care
how long it runs ;-).)
2001-07-31 01:16:09 +00:00
509f5d241a This patch merges the identical methods from the JDBC1 and JDBC2
connection implementations (org.postgresql.jdbc[1|2].Connection) into
their superclass (org.postgresql.Connection).

It also changes the close() methods of Connection and PG_Stream, so that
PG_Stream no longer is responsible for sending the termination packet 'X'
to the backend. I figured that protocol-level stuff like that belonged in
Connection more than in PG_Stream.

Anders Bengtsson
2001-07-30 14:51:19 +00:00
462b7d46d1 Load pg_hba.conf and pg_ident.conf on startup and SIGHUP into List of
Lists, and use that for user validation.

Bruce Momjian
2001-07-30 14:50:24 +00:00
8d464d05d7 Arrange for GRANT/REVOKE on a view to be dumped at the right time,
namely after the view definition rather than before it.  Bug introduced
in 7.1 by changes to dump stuff in OID ordering.
2001-07-29 22:12:23 +00:00
94cb3fd875 Suppress gcc warning in USE_LOCALE case. 2001-07-22 22:01:04 +00:00
732a3ee8eb Move EncodingTest.java file. 2001-07-21 21:27:41 +00:00
a7eba9ca7a DatabaseMetaData.getColumns() doesn't appear to get the default
value for each column. Here is a context diff of CVS which should
fix it.

Jason Davies
2001-07-21 18:57:08 +00:00
eec08cddb4 Great, here is a context diff of CVS for implementing the get/setCatalog methods
in Connection - note: I've updated setCatalog(String catalog) from my previous
diff so it checks whether it is already connected to the specified catalog.

Jason Davies
2001-07-21 18:56:17 +00:00
ff21a8e5c8 JDBC encoding additions.
Here's a patch against the current CVS. The changes from the previous
patch are mostly related to the changed interface for PG_Stream.

Anders Bengtsson
2001-07-21 18:52:11 +00:00
ca5a516279 I downloaded new source for lib (only few hours old !!!), and made
changes on this new source to make non-blocking connection work. I
tested it, and PQSendQuery and PQGetResult are working fine.

In win32.h I added one line:
#define snprintf _snprintf

Darko Prenosil
2001-07-21 04:32:42 +00:00
54bf5da7d7 Source formatting cleanup. 2001-07-21 00:29:56 +00:00
8c79f3c4a3 i've spotted a following problem using DBD::Pg under win32. winsock
functions do not set errno, so some normal conditions are treated as
fatal errors. e.g. fetching large tuples fails, as at some point recv()
returns EWOULDBLOCK. here's a patch, which replaces errno with
WSAGetLastError(). i've tried to to affect non-win32 code.

Dmitry Yurtaev
2001-07-20 17:45:06 +00:00
8a59f336bb Minor performance improvement in MultiRecordFreeSpace. 2001-07-19 21:25:37 +00:00
7d4d5c00f0 Arrange to recycle old XLOG log segment files as new segment files,
rather than deleting them only to have to create more.  Steady state
is 2*CHECKPOINT_SEGMENTS + WAL_FILES + 1 segment files, which will
simply be renamed rather than constantly deleted and recreated.
To make this safe, added current XLOG file/offset number to page
header of XLOG pages, so that an un-overwritten page from an old
incarnation of a logfile can be reliably told from a valid page.
This change means that if you try to restart postmaster in a CVS-tip
database after installing the change, you'll get a complaint about
bad XLOG page magic number.  If you don't want to initdb, run
contrib/pg_resetxlog (and be sure you shut down the old postmaster
cleanly).
2001-07-19 02:12:35 +00:00
ccf193f1a5 New-style vacuum neglected to update pg_class statistics about indexes
if there were no deletions to do.
2001-07-18 00:46:25 +00:00
75586cb584 Disallow non-cachable functions in functional indexes and in index
predicates.  Per suggestion from Hiroshi.
2001-07-17 21:53:01 +00:00
84a3634411 Avoid assuming that pg_index table entries have unique OIDs, or even
that they have OIDs at all (the primary key for this table is indexrelid,
not OID).  Simplify overly complex query to get name of primary key.
2001-07-17 00:30:35 +00:00
ed5c4e4a14 Improve documentation about reasoning behind the order of operations
in GetSnapshotData, GetNewTransactionId, CommitTransaction, AbortTransaction,
etc.  Correct race condition in transaction status testing in
HeapTupleSatisfiesVacuum --- this wasn't important for old VACUUM with
exclusive lock on its table, but it sure is important now.  All per
pghackers discussion 7/11/01 and 7/12/01.
2001-07-16 22:43:34 +00:00
1bd3dd0c5f Fix fault in message. 2001-07-16 20:05:51 +00:00
220b261f4d Remove some unused node symbols 2001-07-16 19:12:58 +00:00
784def9e8e More EXTEND INDEX removal.
Martijn van Oosterhout
2001-07-16 19:07:40 +00:00
40db52af34 Do not push down quals into subqueries that have LIMIT/OFFSET clauses,
since the added qual could change the set of rows that get past the
LIMIT.  Per discussion on pgsql-sql 7/15/01.
2001-07-16 17:57:02 +00:00
f31dc0ada7 Partial indexes work again, courtesy of Martijn van Oosterhout.
Note: I didn't force an initdb, figuring that one today was enough.
However, there is a new function in pg_proc.h, and pg_dump won't be
able to dump partial indexes until you add that function.
2001-07-16 05:07:00 +00:00
c8076f09d2 Restructure index AM interface for index building and index tuple deletion,
per previous discussion on pghackers.  Most of the duplicate code in
different AMs' ambuild routines has been moved out to a common routine
in index.c; this means that all index types now do the right things about
inserting recently-dead tuples, etc.  (I also removed support for EXTEND
INDEX in the ambuild routines, since that's about to go away anyway, and
it cluttered the code a lot.)  The retail indextuple deletion routines have
been replaced by a "bulk delete" routine in which the indexscan is inside
the access method.  I haven't pushed this change as far as it should go yet,
but it should allow considerable simplification of the internal bookkeeping
for deletions.  Also, add flag columns to pg_am to eliminate various
hardcoded tests on AM OIDs, and remove unused pg_am columns.

Fix rtree and gist index types to not attempt to store NULLs; before this,
gist usually crashed, while rtree managed not to crash but computed wacko
bounding boxes for NULL entries (which might have had something to do with
the performance problems we've heard about occasionally).

Add AtEOXact routines to hash, rtree, and gist, all of which have static
state that needs to be reset after an error.  We discovered this need long
ago for btree, but missed the other guys.

Oh, one more thing: concurrent VACUUM is now the default.
2001-07-15 22:48:19 +00:00
997439f59e Add ORDER BY to a couple of test queries whose output ordering is not
as predictable as it used to be, due to recycling of free space with
new VACUUM.
2001-07-15 20:16:17 +00:00
1a17447be1 NLS for libpq. Clean up the message formats and change the documentation
accordingly.
2001-07-15 13:45:04 +00:00
9e5ec3b0b9 Change xgettext rule to run in the source tree, so we don't have the
absolute paths of the source tree in the po files.  Also, run msgfmt with
-c option in maintainer-check.
2001-07-15 11:43:55 +00:00
6102553e2d Make sure the build tree is before the source tree in the include path. 2001-07-15 11:20:01 +00:00
1032445e5d TODO item:
* Make n of CHAR(n)/VARCHAR(n) the number of letters, not bytes
2001-07-15 11:07:37 +00:00
b08e86d557 The attached patch fixes problems with the JDBC driver handling long
null terminated strings.  The FE/BE protocol sends in some cases null
terminated strings to the client.  The docs for the FE/BE protocol state
that there is no limit on the size of a null terminated string sent to
the client and a client should be coded using an expanding buffer to
deal with large strings.  The old code did not do this and gave an error
if a null terminated string was greater than either 4 or 8K.  It appears
that with the advent of TOAST very long SQL statements are becoming more
common, and apparently some error messages from the backend include the
SQL statement thus easily exceeding the 8K limit in the old code.

In fixing I also cleaned up some calls in the JDBC fastpath code that
were not doing character set conversion under multibyte, and removed
some methods that were no longer needed.  I also removed a potential
threading problem with a shared variable that was being used in
Connection.java.

Thanks to Steve Wampler for discovering the problem and sending the
initial diffs that were the basis of this patch.

thanks,
--Barry
2001-07-15 04:21:26 +00:00
4046e58c24 Initial implementation of concurrent VACUUM. Ifdef'd out for the moment,
because index locking issues are not handled correctly yet.  Need to go
work on the index AMs next.
2001-07-13 22:55:59 +00:00
20ca834ce9 Minor code cleanup/beautification in RelationPutHeapTuple. 2001-07-13 22:52:58 +00:00
249ecff611 indicies to indexes from Neil Conway 2001-07-12 20:35:54 +00:00
3284758a17 Remove grammar restrictions on order of optional clauses in CREATE GROUP.
From Vince Vielhaber.
2001-07-12 18:03:00 +00:00
5c4d1398a6 Back out SET AUTHORIZATION patch until security is resolved. 2001-07-12 17:42:08 +00:00
fb45d4ae07 Add win32 c++ files. 2001-07-12 14:07:48 +00:00
79d78bb26a Add missing encode file. 2001-07-12 14:05:31 +00:00
b9f3a929ee Create a new HeapTupleSatisfiesVacuum() routine in tqual.c that embodies the
validity checking rules for VACUUM.  Make some other rearrangements of the
VACUUM code to allow more code to be shared between full and lazy VACUUM.
Minor code cleanups and added comments for TransactionId manipulations.
2001-07-12 04:11:13 +00:00
09523c90fa Make code malloc memory of proper length. 2001-07-12 01:19:40 +00:00
7771436e18 > > Put encode() into base system. Used part of Alex' patch
> > for docs, hope he does not mind ;)

Marko Kreen
2001-07-11 22:14:03 +00:00
4051bce27d Libpq++ fixes for Win32 compile.
Christian Ullrich
2001-07-11 22:12:43 +00:00
d674b48307 Add prototypes to supress warnings. 2001-07-11 22:00:57 +00:00
b6564c445e Disable COPY TO/FROM on views. 2001-07-11 21:53:59 +00:00
461ea6b796 Better document use of ident on localhost, per Tom Lane's idea. 2001-07-11 20:32:11 +00:00
357d9bdce5 Move export to a separate line, per Peter E. 2001-07-11 19:36:41 +00:00
153f400676 Instead of believing SOMAXCONN from the system header files (which is
a lie on many Unixen), invoke listen() with MIN(MaxBackends*2, 10000).
The clamp value 10000 is configurable in config.h.in, if that proves
to be necessary --- hopefully it won't.
2001-07-11 19:03:07 +00:00
d946b2083a I updated the patch to use the SET AUTHORIZATION { INVOKER | DEFINER }
terminology. Also, the function owner is now determined and saved at compile
time (no gotchas here, right?)/

Mark Volpe
2001-07-11 18:54:19 +00:00
11ac469f4a Remove direct calls of index_insert(), instead use ExecInsertIndexTuples().
This makes VACUUM work properly with partial indexes, and avoids memory
leakage with functional indexes.  Also, suppress complaint about fewer
index tuples than heap tuples when the index is a partial index.
From Martijn van Oosterhout.
2001-07-11 18:38:07 +00:00