summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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
2002-08-08Load and keep conversion function info when SET CLIENT_ENCODING TO isTatsuo Ishii
executed to prevent database access while performing encoding conversion.
2002-08-08Remove #ifdef MULTIBYTETatsuo Ishii
2002-08-08Cause schema-qualified FROM items and schema-qualified variable referencesTom Lane
to behave according to SQL92 (or according to my current understanding of same, anyway). Per pghackers discussion way back in March 2002: thread 'Do FROM items of different schemas conflict?'
2002-08-08Clean up plpgsql identifier handling: process quoted identifiersTom Lane
correctly, truncate to NAMEDATALEN where needed, allow whitespace around dots in qualified identifiers. Get rid of T_RECFIELD and T_TGARGV token categories, which weren't accomplishing anything except to create room for sins of omission in the grammar, ie, places that should have allowed them and didn't. Fix a few other bugs en passant.
2002-08-08parseTypeString wasn't quite paranoid enough.Tom Lane
2002-08-07Fix permission checking for temp-table namespace.Tom Lane
2002-08-07Improve 'failed to initialize' messages.Tom Lane
2002-08-06Updated translation from Dennis Bjorklund <db@zigo.dhs.org>Peter Eisentraut
2002-08-06Still more paranoia in PageAddItem: disallow specification of an itemTom Lane
offset past the last-used-item-plus-one, since that would result in leaving uninitialized holes in the item pointer array. AFAICT the only place that was depending on this was btree index build, which was being cavalier about when to fill in the P_HIKEY pointer; easily fixed. Also a small performance improvement: shuffle itemid's by means of memmove, not a one-at-a-time loop.
2002-08-06Remove no-longer-used PageManagerMode enum.Tom Lane
2002-08-06Move pg_convert3 declaration to suppress compile warning. ReallyTom Lane
pg_convert3 does not belong in a backend/catalog file at all, IMHO; it should be in utils/adt.
2002-08-06Add SQL99 CONVERT() function.Tatsuo Ishii
2002-08-06Of course, the simple change has ripple effects! Here's a patch for theBruce Momjian
rangefunc regression test for the new behavior. Joe Conway
2002-08-06>> Hm. I'd sort of expect the "z" to become both the table and columnBruce Momjian
>> alias in this case. What do you think? > > I guess that would make sense. I'll make a separate patch just for that > change if that's OK. > Simple change -- patch attached. test=# select * from myfoo1() as z; z ---- 1 2 3 (3 rows) Joe Conway
2002-08-06The attached patch disallows the use of coldeflists for functions thatBruce Momjian
don't return type RECORD. It also catches a core dump condition when a function returning RECORD had an alias list instead of a coldeflist. Now both conditions throw an ERROR. Joe Conway
2002-08-06This patch changes the behavior of PostgreSQL so that if any queries areBruce Momjian
executed in an implicitely aborted transaction (e.g. after an occur occurs), we return an error (and not just a warning). For example: nconway=# begin; BEGIN nconway=# insert; -- syntax error ERROR: parser: parse error at or near ";" nconway=# select * from a; ERROR: current transaction is aborted, queries ignored until end of transaction block The old behavior was: nconway=# begin; BEGIN nconway=# insert; ERROR: parser: parse error at or near ";" nconway=# select * from a; WARNING: current transaction is aborted, queries ignored until end of transaction block *ABORT STATE* Which can be confusing: if the client isn't paying careful attention, they will conclude that the query has executed (because no error is returned). Neil Conway
2002-08-06Restructure local-buffer handling per recent pghackers discussion.Tom Lane
The local buffer manager is no longer used for newly-created relations (unless they are TEMP); a new non-TEMP relation goes through the shared bufmgr and thus will participate normally in checkpoints. But TEMP relations use the local buffer manager throughout their lifespan. Also, operations in TEMP relations are not logged in WAL, thus improving performance. Since it's no longer necessary to fsync relations as they move out of the local buffers into shared buffers, quite a lot of smgr.c/md.c/fd.c code is no longer needed and has been removed: there's no concept of a dirty relation anymore in md.c/fd.c, and we never fsync anything but WAL. Still TODO: improve local buffer management algorithms so that it would be reasonable to increase NLocBuffer.
2002-08-05Restructure system-catalog index updating logic. Instead of havingTom Lane
hardwired lists of index names for each catalog, use the relcache's mechanism for caching lists of OIDs of indexes of any table. This reduces the common case of updating system catalog indexes to a single line, makes it much easier to add a new system index (in fact, you can now do so on-the-fly if you want to), and as a nice side benefit improves performance a little. Per recent pghackers discussion.
2002-08-05Preliminary code review for anonymous-composite-types patch: fix breakageTom Lane
of functions returning domain types, update documentation for typtype, move get_typtype to lsyscache.c (actually, resurrect the old version), add defense against creating pseudo-typed table columns, fix some bogus list-parsing in grammar. Issues remain with respect to alias handling and type checking; Joe is on those.
2002-08-05Fix compilation problem with assert checking enabled for recent xlogThomas G. Lockhart
location feature.