summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2002-08-15Tom Lane wrote:Bruce Momjian
> 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
2002-08-15This fixes some text as well as enforces the use of "drop table cascade"Bruce Momjian
since we moved from an implicate to explicate implementation. Greg Copeland
2002-08-15Well, that certainly appeared to be very straight forward. pg.py andBruce Momjian
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
2002-08-15http://archives.postgresql.org/pgsql-bugs/2002-06/msg00086.php and neverBruce Momjian
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
2002-08-15Backed out. It is part of a later patch.Bruce Momjian
2002-08-15I'm giving a try at some TODO items. Currently it's the turn of theBruce Momjian
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
2002-08-15Appears there is a problem finding the opclass when indexing a domain.Bruce Momjian
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
2002-08-15As discussed on several occasions previously, the new anonymousBruce Momjian
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
2002-08-15The second enables tab-complete to analyze. It ignores schema stuff (soBruce Momjian
does every tab-completion command AFAICS) Alvaro Herrera
2002-08-14Really truly enable encrypted passwords by default.Tom Lane
2002-08-14Enable encrypted passwords by default.Bruce Momjian
2002-08-14Added support for JDBC3. The driver will now build under JDBC3 (i.e. Java 1.4).Barry Lind
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
2002-08-14I guess I'd vote for changing the code to beBruce Momjian
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
2002-08-14Fix memory leak in SetClientEncoding().Tatsuo Ishii
2002-08-14Add Cyrillic and other encodings for encoding conversion.Tatsuo Ishii
Patches submitted by Kaori Inaba (i-kaori@sra.co.jp).
2002-08-13Put back old code.Bruce Momjian
2002-08-13Change NAMEDATALEN to 64, INDEX_MAX_KEYS/MAX_FUNC_ARGS to 32, per ↵Bruce Momjian
discussion on hackers.
2002-08-13Fix tuple-chain-moving tests to handle marked-for-update tuples correctlyTom Lane
(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.
2002-08-13Make sure that t_ctid is reset to equal t_self in heap_delete andTom Lane
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.
2002-08-13Remove obsolete uses of lanispl. Only used in pg_dump now, but can bePeter Eisentraut
removed altogether if pg_dump doesn't need it anymore.
2002-08-12Remove use of __P so that <sys/cdefs.h> is not needed. Per suggestionTom Lane
from Martin Renters.
2002-08-12Convert possibly-unsafe sprintf's to snprintf's.Tom Lane
2002-08-12Buffer-overrun paranoia.Tom Lane
2002-08-12Restructure rowtype-parameter handling to eliminate need for possibly-Tom Lane
overflowable buffer for 'name%rowtype'; not to mention avoid problems with mixed-case type names and other special cases.
2002-08-12Change memory-space accounting mechanism in tuplesort.c and tuplestore.cTom Lane
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..
2002-08-11Code review of CLUSTER patch. Clean up problems with relcache gettingTom Lane
confused, toasted data getting lost, etc.
2002-08-11Create/drop cast now requires ownership of at least one of the types.Peter Eisentraut
2002-08-11Make cluster regress test functional.Tom Lane
2002-08-11Neil's patch was supposed to remove this, too.Tom Lane
2002-08-11Now that we allow ANALYZE to run inside a transaction block, the locksTom Lane
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'.
2002-08-10Update with newer version of CLUSTER patch posted August 8.Bruce Momjian
> Looks like Alvaro got sideswiped by the system catalog indexing changes > I made over the weekend. It's a simple change, just reduce the whole > mess to a "CatalogUpdateIndexes()" call. I update two tuples, so I manually CatalogOpenIndexes() and CatalogIndexInsert() two times, as per comments in CatalogUpdateIndexes(). I also removed a couple of useless CommandCounterIncrement(), some useless definitions in src/include/commands/cluster.h and useless includes in src/backend/commands/cluster.c. This version passes the regression test I had made for previous versions. Alvaro Herrera
2002-08-10Remove error files.Bruce Momjian
2002-08-10 > create view pg_locks as select l.relation, l.database, l.backendpid,Bruce Momjian
> l.mode, l.isgranted from pg_lock_info() as l(relation oid, database oid, > backendpid int4, mode text, isgranted bool); > ERROR: badly formatted planstring "COLUMNDEF "... > Reported by Neil Conway -- I never implemented readfuncs.c support for ColumnDef or TypeName, which is needed so that views can be created on functions returning type RECORD. Here's a patch. Joe Conway
2002-08-10Major improvement in CLUSTER which preserves table characteristics usingBruce Momjian
relfilenode. I sent the CLUSTER patch a few days ago and I think it was missed. I append it again, this time including the regression test files. For the committer, please note that you have to cvs add the files as they don't exist. Maybe add to the parallel and serial schedules also, but I don't know such stuff. Alvaro Herrera (<alvherre[a]atentus.com>)
2002-08-10This patch removes a lot of unused code related to assertions andBruce Momjian
error handling, and simplifies the code that remains. Apparently, the code that left Berkeley had a whole "error handling subsystem", which exceptions and whatnot. Since we don't use that anymore, there's no reason to keep it around. The regression tests pass with the patch applied. Unless anyone sees a problem, please apply. Neil Conway
2002-08-10psql prints its version number in its startup message, per recentTom Lane
discussion. Also, cause the \timing command to display time in a format consistent with the backend's EXPLAIN ANALYZE output.
2002-08-10Allow schema-qualified operator names to be used in the optionalTom Lane
arguments of CREATE OPERATOR.
2002-08-10Fix failure to relink postmaster executable in the first make run if only aPeter Eisentraut
single source file a few directories deep in the backend tree has changed.
2002-08-10Make sure all clients have the same understanding of default user namePeter Eisentraut
and database. In particular, make script wrappers understand the PGDATABASE environment variable.
2002-08-10Get rid of double PQclear(res) in error path.Tom Lane
2002-08-10Add a sanity check to make sure that all system catalogs that have OIDsTom Lane
also have a unique index on OID.
2002-08-10psql backslash commands are schema-aware. Pattern matching behaviorTom Lane
follows recent pghackers discussion. This commit includes all the relevant fixes from Greg Mullane's patch of 24-June.
2002-08-09Make sure monetary, numeric, and time locale categories are set to C andPeter Eisentraut
are only activated temporarily to read out formatting information.
2002-08-09Column ordering in \d output should agree with sort ordering;Tom Lane
per Joe Conway's patch of 20-July.
2002-08-09has_table_privilege spawns scions has_database_privilege, ↵Tom Lane
has_function_privilege, has_language_privilege, has_schema_privilege to let SQL queries test all the new privilege types in 7.3. Also, add functions pg_table_is_visible, pg_type_is_visible, pg_function_is_visible, pg_operator_is_visible, pg_opclass_is_visible to test whether objects contained in schemas are visible in the current search path. Do some minor cleanup to centralize accesses to pg_database, as well.
2002-08-09Change LOCK statements to start new transactionHiroshi Inoue
in auto-commit off mode.
2002-08-08Make the standard system views schema-aware.Tom Lane
I did not force an initdb via catversion ... but the rules regression test will fail until you do an initdb.
2002-08-08Arrange to collect statistics on a few more system catalog columns.Tom Lane
2002-08-08Cause view/rule display to work as expected after rename of an underlyingTom Lane
table or column, or of an output column of the view itself.
2002-08-08Address build problems on cygwin and (hopefully) AIX.Tatsuo Ishii