aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* compact_fsm_storage() does need to handle the case where a relation'sTom Lane2003-10-29
| | | | | FSM data has to be both moved down and compressed. Per report from Dror Matalon.
* Change Solaris tests to test for SHM_SHARE_MMU, per Tom.Bruce Momjian2003-10-27
|
* 'sun' => '__sun__'Bruce Momjian2003-10-26
|
* Test for 'sun' rather than 'solaris' for intimate shared memory.Bruce Momjian2003-10-26
|
* Translation updatePeter Eisentraut2003-10-25
|
* Remove socket credentials defines not referenced.Bruce Momjian2003-10-25
|
* Translation updatesPeter Eisentraut2003-10-24
|
* It is possible for ResolveNew to be used to insert a sublink into aTom Lane2003-10-20
| | | | | | | | | | subquery that didn't previously have one. We have traditionally made the caller of ResolveNew responsible for updating the hasSubLinks flag of the outermost query, but this fails to account for hasSubLinks in subqueries. Fix ResolveNew to handle this. We might later want to change the calling convention of ResolveNew so that it can fix the outer query too, simplifying callers. But I went with the localized fix for now. Per bug report from J Smith, 20-Oct-03.
* Improve error reporting in parseTypeString(), motivated by confusingTom Lane2003-10-20
| | | | behavior reported by Martin Marques.
* Save_r, Save_t should be static not global variables.Tom Lane2003-10-19
|
* Cleanup on --help-config: Now called --describe-config, no further options,Peter Eisentraut2003-10-18
| | | | | machine readable, without headers, not sorted. Parameter descriptions adjusted to fit first sentence + rest convention.
* Further work on information_schema. _pg_keyissubset() wasn't quiteTom Lane2003-10-18
| | | | | | | | | | fully search-path-proof yet; also, element_types view did not work for parameters and result types of functions, because it didn't generate the object_name for the function the same way the data_type_privileges view does. While at it, centralize dependencies on INDEX_MAX_KEYS/ FUNC_MAX_ARGS into a function returning setof int, so that it will be easier to fix information_schema for nonstandard values of these parameters.
* Repair interaction between IN-join processing and subselect pullup thatTom Lane2003-10-18
| | | | | I inadvertently broke a few days ago (per report from Sean Thomas). Add regression test case to try to catch any similar breakage in future.
* Simplify loop test to avoid bug in AIX compiler, per Andreas.Tom Lane2003-10-18
|
* Information schema fixes:Peter Eisentraut2003-10-18
| | | | | | | | Use pg_get_constraintdef instead of pg_constraint.consrc Use UNION ALL instread of UNION Make use of regclass type for getting OID of system catalogs Add schema qualifications where necessary Fix typos
* Fix elog tab-insertion code to insert tabs only where wanted.Tom Lane2003-10-17
|
* Adjust display of actual runtimes in EXPLAIN output to use three fractionalTom Lane2003-10-17
| | | | | digits, and label it 'ms' not 'msec', for consistency with psql's \timing display. Per recent discussions.
* Fix bugs in referential_constraints view.Peter Eisentraut2003-10-16
|
* Avoid division by zero in estimate_num_groups() when table has no rows.Tom Lane2003-10-16
|
* Ensure that all places that are complaining about exhaustion of sharedTom Lane2003-10-16
| | | | | | | | memory say 'out of shared memory'; some were doing that and some just said 'out of memory'. Also add a HINT about increasing max_locks_per_transaction where relevant, per suggestion from Sean Chittenden. (The former change does not break the strings freeze; the latter does, but I think it's worth doing anyway.)
* Fix bad interaction between NOTIFY processing and V3 extended queryTom Lane2003-10-16
| | | | | | | | | | protocol, per report from Igor Shevchenko. NOTIFY thought it could do its thing if transaction blockState is TBLOCK_DEFAULT, but in reality it had better check the low-level transaction state is TRANS_DEFAULT as well. Formerly it was not possible to wait for the client in a state where the first is true and the second is not ... but now we can have such a state. Minor cleanup in StartTransaction() as well.
* pull_up_subqueries() should copy the subquery before starting to modifyTom Lane2003-10-13
| | | | | it. Not sure why I'd thought it would be a good idea to do differently way back when, but Greg Stark exposed the folly of doing so ...
* Back out makeNode() patch to fix gcc 3.3.1 warning.Bruce Momjian2003-10-13
|
* Adjust setRelhassubclassInRelation() to not perform actual heap_updateTom Lane2003-10-13
| | | | | | | | | when the pg_class.relhassubclass value is already correct. This should avoid most cases of the 'tuple concurrently updated' problem that Robert Creager recently complained about. Also remove a bunch of dead code in StoreCatalogInheritance() --- it was still computing the complete list of direct and indirect inheritance ancestors, though that list has not been needed since we got rid of the pg_ipl catalog.
* Use makeNode() to allocate structures that have to be cast to Node *,Bruce Momjian2003-10-12
| | | | | | rather than allocating them on the stack. Fixes complaint from gcc 3.3.1.
* Back out -fstrict-aliasing void* casting.Bruce Momjian2003-10-11
|
* This patch will stop gcc from issuing warnings about type-punned objectsBruce Momjian2003-10-11
| | | | | | | when -fstrict-aliasing is turned on, as it is in the latest gcc when you use -O2 Andrew Dunstan
* Make sure that -- comments extend to the end of the line. This fixes thePeter Eisentraut2003-10-09
| | | | | | | | misscanning of this construct: SELECT ''hello world'' -- SELECT ''goodbye world'' ::text;
* Some updatesPeter Eisentraut2003-10-09
|
* Change "query:" to "statement:".Bruce Momjian2003-10-09
| | | | Have log_duration print when log_min_duration_statement prints.
* Have log_min_duration_statement = 0 always print duration/statement.Bruce Momjian2003-10-08
| | | | | | Change log line to be "duration: ms query:" Indent multi-line queries with a tab in the server logs.
* Fix binary_oper_exact() so that the heuristic 'an unknown literal onTom Lane2003-10-06
| | | | | | one side of a binary operator is probably supposed to be the same type as the other operand' will be applied for domain types. This worked in 7.3 but was broken in 7.4 due to code rearrangements. Mea culpa.
* During ALTER TABLE ADD FOREIGN KEY, try to check the existing rows usingTom Lane2003-10-06
| | | | | | a single LEFT JOIN query instead of firing the check trigger for each row individually. Stephan Szabo, with some kibitzing from Tom Lane and Jan Wieck.
* Modify COPY FROM to match the null-value string against the column valueTom Lane2003-10-06
| | | | | | | | | | | before it is de-backslashed, not after. This allows the null string \N to be reliably distinguished from the data value \N (which must be represented as \\N). Per bug report from Manfred Koizar ... but it's amazing this hasn't been reported before ... Also, be consistent about encoding conversion for null string: the form specified in the command is in the server encoding, but what is sent to/from client must be in client encoding. This never worked quite right before either.
* Add a little more smarts to estimate_hash_bucketsize(): if there's noTom Lane2003-10-05
| | | | | statistics, but there is a unique index on the column, we can safely assume it's well-distributed.
* When revoking privileges from the owner, don't revoke the grant options,Peter Eisentraut2003-10-05
| | | | to avoid recursively revoking everything from everyone.
* Translation updatePeter Eisentraut2003-10-04
|
* Fix pg_get_constraintdef() to ensure CHECK constraints are always shownTom Lane2003-10-04
| | | | | | | with required outer parentheses. Breakage seems to be leftover from domain-constraint patches. This could be smarter about suppressing extra parens, but at this stage of the release cycle I want certainty not cuteness.
* Translation updatePeter Eisentraut2003-10-04
|
* Fix log_duration and log_min_duration_statement to print properly, asBruce Momjian2003-10-04
| | | | pointed out by Peter.
* Add GUC parameter check_function_bodies to control whether validationTom Lane2003-10-03
| | | | | | | of function bodies is done at CREATE FUNCTION time. This is normally true but can be set false to avoid problems with forward references, wrong schema search path, etc. This is just the backend patch, still need to adjust pg_dump to make use of it.
* Add a bit more locking to vac_update_relstats and vac_update_dbstatsTom Lane2003-10-02
| | | | | | | to make them comparable to what UpdateStats does in the same situation. I'm not certain two instances of vac_update_relstats could run in parallel for the same relation, but parallel invocations of vac_update_dbstats do seem possible.
* When dumping CREATE INDEX, must show opclass name if the opclass isn'tTom Lane2003-10-02
| | | | | | in the schema search path. Otherwise pg_dump doesn't correctly dump scenarios where a custom opclass is created in 'public' and then used by indexes in other schemas.
* String fixes/improvements found by Alvaro HerreraPeter Eisentraut2003-10-02
|
* Change some notices to warnings and vice versa according to criteriaPeter Eisentraut2003-10-02
| | | | developed on -hackers.
* Remove NOTICE about foreign key creating implicit triggers, because it noPeter Eisentraut2003-10-02
| | | | longer conveys useful information.
* Repair RI trigger visibility problems (this time for sure ;-)) per recentTom Lane2003-10-01
| | | | | | | discussion on pgsql-hackers: in READ COMMITTED mode we just have to force a QuerySnapshot update in the trigger, but in SERIALIZABLE mode we have to run the scan under a current snapshot and then complain if any rows would be updated/deleted that are not visible in the transaction snapshot.
* Adjust btree index build procedure so that the btree metapage looksTom Lane2003-09-29
| | | | | | | | | | invalid (has the wrong magic number) until the build is entirely complete. This turns out to cost no additional writes in the normal case, since we were rewriting the metapage at the end of the process anyway. In normal scenarios there's no real gain in security, because a failed index build would roll back the transaction leaving an unused index file, but for rebuilding shared system indexes this seems to add some useful protection.
* Improve context display for failures during COPY IN, as recentlyTom Lane2003-09-29
| | | | discussed on pghackers.
* The brackets aren't put on the CHECK constraints properly.Bruce Momjian2003-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before patch: test=# select pg_get_constraintdef(oid) from pg_constraint; pg_get_constraintdef ------------------------------------------------------------------------------------------------- CHECK (VALUE >= 0) CHECK ((((a)::text = 'asdf'::text) OR ((a)::text = 'fdsa'::text)) OR ((a)::text = 'dfd'::text)) PRIMARY KEY (b) FOREIGN KEY (a) REFERENCES test2(b) UNIQUE (b) (5 rows) test=# select pg_get_constraintdef(oid, true) from pg_constraint; pg_get_constraintdef ----------------------------------------------------------------------------------- CHECK VALUE >= 0 CHECK a::text = 'asdf'::text OR a::text = 'fdsa'::text OR a::text = 'dfd'::text PRIMARY KEY (b) FOREIGN KEY (a) REFERENCES test2(b) UNIQUE (b) (5 rows) After patch: test=# select pg_get_constraintdef(oid) from pg_constraint; pg_get_constraintdef ------------------------------------------------------------------------------------------------- CHECK (VALUE >= 0) CHECK ((((a)::text = 'asdf'::text) OR ((a)::text = 'fdsa'::text)) OR ((a)::text = 'dfd'::text)) PRIMARY KEY (b) FOREIGN KEY (a) REFERENCES test2(b) UNIQUE (b) (5 rows) test=# select pg_get_constraintdef(oid, true) from pg_constraint; pg_get_constraintdef ----------------------------------------------------------------------------------- CHECK (VALUE >= 0) ` CHECK (a::text = 'asdf'::text OR a::text = 'fdsa'::text OR a::text = 'dfd'::text) PRIMARY KEY (b) FOREIGN KEY (a) REFERENCES test2(b) UNIQUE (b) (5 rows) It's important that those brackets are there to (a) match all other constraints and (b) so that people can just copy and paste them and it will work as SQL. Christopher Kings-Lynne