summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Clean up compile warnings.Bruce Momjian2002-08-181-4/+5
|
* Reverse out XLogDir/-X write-ahead log handling, per discussion.Bruce Momjian2002-08-178-157/+57
| | | | Original patch from Thomas.
* Add lock file.Bruce Momjian2002-08-171-0/+146
|
* In that case, attached is a patch which locates the beginning of theBruce Momjian2002-08-171-3/+7
| | | | | | | | | | | | | | | offending token more efficiently (per your suggestion of using scanbuf). The new patch does the same as before: template1=# select * frum pg_class; ERROR: parser: parse error at or near "frum" at character 10 It also implement's Tom's suggestion: template1=# select * from pg_class where\g ERROR: parse: parse error at end of input Gavin Sherry
* [ Newest version of patch applied.]Bruce Momjian2002-08-179-17/+109
| | | | | | | | | | | | | | | | | | This patch is an updated version of the lock listing patch. I've made the following changes: - write documentation - wrap the SRF in a view called 'pg_locks': all user-level access should be done through this view - re-diff against latest CVS One thing I chose not to do is adapt the SRF to use the anonymous composite type code from Joe Conway. I'll probably do that eventually, but I'm not really convinced it's a significantly cleaner way to bootstrap SRF builtins than the method this patch uses (of course, it has other uses...) Neil Conway
* Add libpq connection timeout parameter.Bruce Momjian2002-08-173-8/+87
| | | | Denis A Ustimenko
* What I have done for libpgtcl:Bruce Momjian2002-08-173-11/+26
| | | | | | | | | | | | | | | | | | | | | | Everytime if I do PQconsumeInput (when the backend channel gets readable) I check for the return value. (0 == error) and generate a notification manually, e.g. fixed string connection_closed) and pass it to the TCL event queue. The only other thing I had to do is to comment out removing all pending events in PgStopNotifyEventSource whenever the connection was unexpectedly closed (so the manually generated event will not be deleted). A broken backend connection triggers a notify event to the client (fixed notification string "connection_closed") so proper action can be taken to switch to another database server etc. Remember that this is event driven. If you have applications, that have idle database connections most of the time, you'll get immediate feedback of a dying server. Upon connection to the server issue a pg_notify for notify event "connection_closed" and whenever the backend crashes (which it does do in very very rare cases) you get an event driven recovery. (of course the Tcl-Event loop has to be processed). Issuing a notification "connection_closed" on a still working database could be used for switching to another db-server (which I've actually impelemented right now). Gerhard Hintermayer
* Improve documentation of trigger firing queue handling, cleanup.Bruce Momjian2002-08-174-163/+275
| | | | Neil Conway
* Fix broken Makefiles.Tom Lane2002-08-173-12/+12
|
* Add files for pg_resetxlog.Bruce Momjian2002-08-172-0/+647
|
* Move pg_controldata to /bin.Bruce Momjian2002-08-171-2/+2
|
* Modify pg_dump to dump foreign-key constraints as constraints, not asTom Lane2002-08-166-16/+403
| | | | | | | sets of triggers. Also modify psql \d command to show foreign key constraints as such and hide the triggers. pg_get_constraintdef() function added to backend to support these. From Rod Taylor, code review and some editorialization by Tom Lane.
* Code review for patch to dump primary and unique constraints asTom Lane2002-08-161-15/+36
| | | | constraints, rather than as CREATE INDEX commands.
* Make domain types indexable. Rod Taylor & Tom Lane.Tom Lane2002-08-162-2/+9
|
* Move pg_controldata from /contrib to src/bin.Bruce Momjian2002-08-162-0/+182
|
* removed duplicate code from jdbc2 classesDave Cramer2002-08-162-3302/+523
|
* applied patch to fix encoding bug supplied by Jun KawaiDave Cramer2002-08-161-4/+4
|
* Applied patch for MD5 bug submitted by Jun KawaiDave Cramer2002-08-161-10/+11
|
* Performance tweaks to StringBuffer suggested by hhaag@gmx.deBarry Lind2002-08-163-8/+11
| | | | | | | Modified Files: jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java jdbc/org/postgresql/util/PGbytea.java
* Remove interfaces/ssl. Was unclaimed stuff that had no more usefulness.Bruce Momjian2002-08-165-676/+0
|
* Tom Lane wrote:Bruce Momjian2002-08-1526-54/+387
| | | | | | | | | | | | | | | | | > There's no longer a separate call to heap_storage_create in that routine > --- the right place to make the test is now in the storage_create > boolean parameter being passed to heap_create. A simple change, but > it passeth patch's understanding ... Thanks. Attached is a patch against cvs tip as of 8:30 PM PST or so. Turned out that even after fixing the failed hunks, there was a new spot in bufmgr.c which needed to be fixed (related to temp relations; RelationUpdateNumberOfBlocks). But thankfully the regression test code caught it :-) Joe Conway
* This fixes some text as well as enforces the use of "drop table cascade"Bruce Momjian2002-08-151-3/+3
| | | | | | | since we moved from an implicate to explicate implementation. Greg Copeland
* Well, that certainly appeared to be very straight forward. pg.py andBruce Momjian2002-08-152-3/+6
| | | | | | | | | | | syscat.py scripts were both modified. pg.py uses it to cache a list of pks (which is seemingly does for every db connection) and various attributes. syscat uses it to walk the list of system tables and queries the various attributes from these tables. In both cases, it seemingly makes sense to apply what you've requested. Greg Copeland
* http://archives.postgresql.org/pgsql-bugs/2002-06/msg00086.php and neverBruce Momjian2002-08-152-11/+48
| | | | | | | | | | | | | | | | | | | | saw a fix offered up. Since I'm gearing up to use Postgres and Python soon, I figured I'd have a hand at trying to get this sucker addressed. Apologies if this has already been plugged. I looked in the archives and never saw a response. At any rate, I must admit I don't think I fully understand the implications of some of the changes I made even though they appear to be straight forward. We all know the devil is in the details. Anyone more knowledgeable is requested to review my changes. :( I also updated the advanced.py script in a somewhat nonsensical fashion to make use of an int8 field in an effort to test this change. It seems to run okay, however, this is by no means an all exhaustive test. So, it's possible that a bumpy road may lay ahead for some. On the other hand...overflows (hopefully) previously lurked (long -> int conversion). Greg Copeland
* Backed out. It is part of a later patch.Bruce Momjian2002-08-151-4/+1
|
* I'm giving a try at some TODO items. Currently it's the turn of theBruce Momjian2002-08-152-18/+119
| | | | | | | | | | | PGPASSWORDFILE environment variable. I have modified libpq to make use of this variable. I present the first cut here. Currently the format for the file should be host:port:database:user:password Alvaro Herrera
* Appears there is a problem finding the opclass when indexing a domain.Bruce Momjian2002-08-151-1/+4
| | | | | | | | | | | | | | | | CREATE DOMAIN newint as int4; CREATE TABLE tab (col newint unique); ERROR: data type newint has no default operator class for access method "btree" You must specify an operator class for the index or define a default operator class for the data type Specifically, GetDefaultOpClass() finds 0 exact matches and 3 binary compatible matches. Fetching getBaseType() of the attribute fixes the problem for domains (see attachment). Rod Taylor
* As discussed on several occasions previously, the new anonymousBruce Momjian2002-08-155-6/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | composite type capability makes it possible to create a system view based on a table function in a way that is hopefully palatable to everyone. The attached patch takes advantage of this, moving show_all_settings() from contrib/tablefunc into the backend (renamed all_settings(). It is defined as a builtin returning type RECORD. During initdb a system view is created to expose the same information presently available through SHOW ALL. For example: test=# select * from pg_settings where name like '%debug%'; name | setting -----------------------+--------- debug_assertions | on debug_pretty_print | off debug_print_parse | off debug_print_plan | off debug_print_query | off debug_print_rewritten | off wal_debug | 0 (7 rows) Additionally during initdb two rules are created which make it possible to change settings by updating the system view -- a "virtual table" as Tom put it. Here's an example: Joe Conway
* The second enables tab-complete to analyze. It ignores schema stuff (soBruce Momjian2002-08-151-1/+9
| | | | | | does every tab-completion command AFAICS) Alvaro Herrera
* Really truly enable encrypted passwords by default.Tom Lane2002-08-141-2/+2
|
* Enable encrypted passwords by default.Bruce Momjian2002-08-141-2/+2
|
* Added support for JDBC3. The driver will now build under JDBC3 (i.e. Java 1.4).Barry Lind2002-08-1451-3153/+2955
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This concludes my changes that restructured the code to support JDBC3. The jdbc unit tests were also resturctured to allow different tests between jdbc2 and jdbc3, although currently make check (aka ant test) for JDBC3 just runs the JDBC2 tests. Of special note the largeobject/PGblob and PGclob classes have been moved under the jdbc2/jdbc3 specific directories as they now differ by jdbc version. Also note that this checkin removes the PostgresqlDataSource and files in the xa directory. A recent checkin has added new datasource support that replaces the functionality provided by these classes. Modified Files: jdbc/build.xml jdbc/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSetMetaData.java jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java jdbc/org/postgresql/jdbc2/AbstractJdbc2Connection.java jdbc/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSetMetaData.java jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java jdbc/org/postgresql/jdbc2/Array.java jdbc/org/postgresql/jdbc2/Jdbc2CallableStatement.java jdbc/org/postgresql/jdbc2/Jdbc2Connection.java jdbc/org/postgresql/jdbc2/Jdbc2DatabaseMetaData.java jdbc/org/postgresql/jdbc2/Jdbc2PreparedStatement.java jdbc/org/postgresql/jdbc2/Jdbc2ResultSet.java jdbc/org/postgresql/jdbc2/Jdbc2ResultSetMetaData.java jdbc/org/postgresql/jdbc2/Jdbc2Statement.java jdbc/org/postgresql/test/jdbc2/BatchExecuteTest.java jdbc/org/postgresql/test/jdbc2/BlobTest.java jdbc/org/postgresql/test/jdbc2/CallableStmtTest.java jdbc/org/postgresql/test/jdbc2/ConnectionTest.java jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java jdbc/org/postgresql/test/jdbc2/DateTest.java jdbc/org/postgresql/test/jdbc2/DriverTest.java jdbc/org/postgresql/test/jdbc2/JBuilderTest.java jdbc/org/postgresql/test/jdbc2/MiscTest.java jdbc/org/postgresql/test/jdbc2/ResultSetTest.java jdbc/org/postgresql/test/jdbc2/TimeTest.java jdbc/org/postgresql/test/jdbc2/TimestampTest.java jdbc/org/postgresql/test/jdbc2/UpdateableResultTest.java Added Files: jdbc/org/postgresql/jdbc2/AbstractJdbc2Blob.java jdbc/org/postgresql/jdbc2/AbstractJdbc2Clob.java jdbc/org/postgresql/jdbc2/Jdbc2Blob.java jdbc/org/postgresql/jdbc2/Jdbc2Clob.java jdbc/org/postgresql/jdbc3/AbstractJdbc3Blob.java jdbc/org/postgresql/jdbc3/AbstractJdbc3Clob.java jdbc/org/postgresql/jdbc3/AbstractJdbc3Connection.java jdbc/org/postgresql/jdbc3/AbstractJdbc3DatabaseMetaData.java jdbc/org/postgresql/jdbc3/AbstractJdbc3ResultSet.java jdbc/org/postgresql/jdbc3/AbstractJdbc3Statement.java jdbc/org/postgresql/jdbc3/Jdbc3Blob.java jdbc/org/postgresql/jdbc3/Jdbc3CallableStatement.java jdbc/org/postgresql/jdbc3/Jdbc3Clob.java jdbc/org/postgresql/jdbc3/Jdbc3Connection.java jdbc/org/postgresql/jdbc3/Jdbc3DatabaseMetaData.java jdbc/org/postgresql/jdbc3/Jdbc3PreparedStatement.java jdbc/org/postgresql/jdbc3/Jdbc3ResultSet.java jdbc/org/postgresql/jdbc3/Jdbc3ResultSetMetaData.java jdbc/org/postgresql/jdbc3/Jdbc3Statement.java jdbc/org/postgresql/test/TestUtil.java jdbc/org/postgresql/test/jdbc2/Jdbc2TestSuite.java jdbc/org/postgresql/test/jdbc3/Jdbc3TestSuite.java Removed Files: jdbc/org/postgresql/PostgresqlDataSource.java jdbc/org/postgresql/largeobject/PGblob.java jdbc/org/postgresql/largeobject/PGclob.java jdbc/org/postgresql/test/JDBC2Tests.java jdbc/org/postgresql/xa/ClientConnection.java jdbc/org/postgresql/xa/TwoPhaseConnection.java jdbc/org/postgresql/xa/TxConnection.java jdbc/org/postgresql/xa/XAConnectionImpl.java jdbc/org/postgresql/xa/XADataSourceImpl.java
* I guess I'd vote for changing the code to beBruce Momjian2002-08-141-3/+3
| | | | | | | | | | | | | | sys = malloc(strlen(editorName) + strlen(fname) + 10 + 1); if (!sys) return false; sprintf(sys, "exec '%s' '%s'", editorName, fname); (note the added quotes to provide a little protection against spaces and such). Then it's perfectly obvious what the calculation is doing. I don't care about wasting 20-some bytes, but confusing readers of the code is worth avoiding. regards, tom lane
* Fix memory leak in SetClientEncoding().Tatsuo Ishii2002-08-141-1/+15
|
* Add Cyrillic and other encodings for encoding conversion.Tatsuo Ishii2002-08-1425-849/+2986
| | | | Patches submitted by Kaori Inaba (i-kaori@sra.co.jp).
* Put back old code.Bruce Momjian2002-08-131-2/+2
|
* Change NAMEDATALEN to 64, INDEX_MAX_KEYS/MAX_FUNC_ARGS to 32, per ↵Bruce Momjian2002-08-138-67/+69
| | | | discussion on hackers.
* Fix tuple-chain-moving tests to handle marked-for-update tuples correctlyTom Lane2002-08-131-127/+154
| | | | | | | | (they are not part of a chain). When failing to find a parent tuple in an update chain, emit a warning and abandon repair_frag, but do not give an error as before. This should eliminate the infamous 'No one parent tuple was found' failure, which we now realize is not a can't-happen condition but a perfectly valid database state. Per recent pghackers discussion.
* Make sure that t_ctid is reset to equal t_self in heap_delete andTom Lane2002-08-131-3/+24
| | | | | | | | | heap_mark4update; this avoids situations where a deleted tuple might look like it is chained to something else. Also, cause all the WAL redo routines to set t_ctid to equal t_self, rather than leaving it undefined as before. Make heap_xlog_clean set the page's LSN and SUI correctly. All per past discussions in pghackers, ranging back to last December.
* Remove obsolete uses of lanispl. Only used in pg_dump now, but can bePeter Eisentraut2002-08-133-48/+20
| | | | removed altogether if pg_dump doesn't need it anymore.
* Remove use of __P so that <sys/cdefs.h> is not needed. Per suggestionTom Lane2002-08-121-11/+11
| | | | from Martin Renters.
* Convert possibly-unsafe sprintf's to snprintf's.Tom Lane2002-08-124-16/+28
|
* Buffer-overrun paranoia.Tom Lane2002-08-121-2/+2
|
* Restructure rowtype-parameter handling to eliminate need for possibly-Tom Lane2002-08-121-38/+55
| | | | | overflowable buffer for 'name%rowtype'; not to mention avoid problems with mixed-case type names and other special cases.
* Change memory-space accounting mechanism in tuplesort.c and tuplestore.cTom Lane2002-08-129-130/+136
| | | | | | | | to make a reasonable attempt at accounting for palloc overhead, not just the requested size of each memory chunk. Since in many scenarios this will make for a significant reduction in the amount of space acquired, partially compensate by doubling the default value of SORT_MEM to 1Mb. Per discussion in pgsql-general around 9-Jun-2002..
* Code review of CLUSTER patch. Clean up problems with relcache gettingTom Lane2002-08-1111-428/+556
| | | | confused, toasted data getting lost, etc.
* Create/drop cast now requires ownership of at least one of the types.Peter Eisentraut2002-08-111-28/+12
|
* Make cluster regress test functional.Tom Lane2002-08-114-10/+57
|
* Neil's patch was supposed to remove this, too.Tom Lane2002-08-111-36/+0
|
* Now that we allow ANALYZE to run inside a transaction block, the locksTom Lane2002-08-111-10/+13
| | | | | | | | | | | it takes could be held for quite awhile after the analyze step completes. Rethink locking of pg_statistic in light of this fact. The original scheme took an exclusive lock on pg_statistic, which was okay when the lock could be expected to be released shortly, but that doesn't hold anymore. Back off to a normal writer's lock (RowExclusiveLock). This allows concurrent ANALYZE of nonoverlapping sets of tables, at the price that concurrent ANALYZEs of the same table may fail with 'tuple concurrently updated'.