aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
...
* Fix broken GB18030 <--> UTF-8 conversion mapTatsuo Ishii2002-11-12
|
* Remove NO_MKTIME_BEFORE_1970. I had speculated that it was not neededTom Lane2002-11-12
| | | | | | anymore given the mktime() workaround now done in DetermineLocalTimeZone. This has now been confirmed by Robert Bruccoleri for Irix, and I'm going to extrapolate to AIX as well.
* Code review for ON COMMIT patch. Make the actual on-commit action happenTom Lane2002-11-11
| | | | | | | | | before commit, not after :-( --- the original coding is not only unsafe if an error occurs while it's processing, but it generates an invalid sequence of WAL entries. Resurrect 7.2 logic for deleting items when no longer needed. Use an enum instead of random macros. Editorialize on names used for routines and constants. Teach backend/nodes routines about new field in CreateTable struct. Add a regression test.
* Add cast to suppress compile warning on Alphas.Tom Lane2002-11-11
|
* Back out use of palloc0 in place if palloc/MemSet. Seems constant lenBruce Momjian2002-11-11
| | | | to MemSet is a performance boost.
* Merge palloc()/MemSet(0) calls into a single palloc0() call.Bruce Momjian2002-11-10
|
* Add palloc0 function to inline MemSet for newNode call.Bruce Momjian2002-11-10
|
* > > I'll re-check that with the ppc architecture guy here.Bruce Momjian2002-11-10
| | | | | | | | | | | | | | > > ... he is now about to write an inlined version that can go into > s_lock.h . I'll send the new patch later on... OK, here it comes: An inlined version of tas(), that works for both, powerpc and powerpc64. The patch is against 7.3b5 and passes the test suite on both architectures. Reinhard Max
* Tweak CREATE SEQUENCE grammar to be more SQL1999 standards compliant.Bruce Momjian2002-11-10
| | | | Neil Conway
* Add code to handle [ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP }]Bruce Momjian2002-11-09
| | | | | | for temp tables. Gavin Sherry
* This patch removes a bunch of superfluous #include directives: ifBruce Momjian2002-11-08
| | | | | | | | postgres.h or c.h includes a system header (such as stdio.h or stdlib.h), there's no need to specifically include it in any of the .c files in the backend. Neil Conway
* Replace imprecise value of PI with a better one, and tweak circle_polyTom Lane2002-11-08
| | | | | | in hopes of reducing platform-to-platform variations in its results. This will cause the geometry regression test to start failing on some platforms. I plan to update the test later today.
* Add extra_float_digits GUC parameter to allow adjustment of displayedTom Lane2002-11-08
| | | | | | | precision for float4, float8, and geometric types. Set it in pg_dump so that float data can be dumped/reloaded exactly (at least on platforms where the float I/O support is properly implemented). Initial patch by Pedro Ferreira, some additional work by Tom Lane.
* The "Allow easy display of usernames in a group (pg_hba.conf uses groupsBruce Momjian2002-11-08
| | | | | | | | | | | | | | | | now)" item on the open items, and subsequent plpgsql function I sent in, made me realize it was too hard to get the upper and lower bound of an array. The attached creates two functions that I think will be very useful when combined with the ability of plpgsql to return sets. array_lower(array, dim_num) - and - array_upper(array, dim_num) They return the value (as an int) of the upper and lower bound of the requested dim in the provided array. Joe Conway
* Remove inappropriate inclusions of OpenSSL internal header e_os.h,Tom Lane2002-11-07
| | | | | as well as unnecessary (and incorrect on Windows) assignments to errno/SOCK_ERRNO.
* Phase 2 of hashed-aggregation project. nodeAgg.c now knows how to doTom Lane2002-11-06
| | | | hashed aggregation, but there's not yet planner support for it.
* First phase of implementing hash-based grouping/aggregation. An AGG planTom Lane2002-11-06
| | | | | | | | | | | | | node now does its own grouping of the input rows, and has no need for a preceding GROUP node in the plan pipeline. This allows elimination of the misnamed tuplePerGroup option for GROUP, and actually saves more code in nodeGroup.c than it costs in nodeAgg.c, as well as being presumably faster. Restructure the API of query_planner so that we do not commit to using a sorted or unsorted plan in query_planner; instead grouping_planner makes the decision. (Right now it isn't any smarter than query_planner was, but that will change as soon as it has the option to select a hash- based aggregation step.) Despite all the hackery, no initdb needed since only in-memory node types changed.
* Remove unnecessary inclusion, per Andreas.Tom Lane2002-11-04
|
* Remove no-longer-needed inclusion of bootstrap_tokens.h, per patchTom Lane2002-11-04
| | | | from Andreas.
* Code review for recent patch to allow ALTER TABLE ADD COLUMN whenTom Lane2002-11-02
| | | | | | a child table already has a matching column. Acquire appropriate lock on child table; do the right thing with any CHECK constraints attached to the new parent column.
* During swap_relfilenodes, swap relation size statistic fields along withTom Lane2002-11-02
| | | | | the relfilenode and toast fields. This ensures that the newly-computed statistics will be available on completion of CLUSTER.
* Remove encoding lookups from grammar stage, push them back to placesTom Lane2002-11-02
| | | | | | where it's safe to do database access. Along the way, fix core dump for 'DEFAULT' parameters to CREATE DATABASE. initdb forced due to change in pg_proc entry.
* Clean up a few fprintf(stderr)'s that should be elog's.Tom Lane2002-11-02
|
* Fix permissions-checking bugs and namespace-search-path bugs inTom Lane2002-11-02
| | | | | CONVERSION code. Still need to figure out what to do about inappropriate coding in parsing.
* Arrange to compile flex output files as inclusions into other filesTom Lane2002-11-01
| | | | | | | | (usually bison output files), not as standalone files. This hack works around flex's insistence on including <stdio.h> before we are able to include postgres.h; postgres.h will already be read before the compiler starts to read the flex output file. Needed for largefile support on some platforms.
* Reduce a couple of debugging messages from LOG to DEBUG1 category.Tom Lane2002-11-01
|
* Reduce messages associated with shell-type function arguments/resultsTom Lane2002-11-01
| | | | from WARNING to NOTICE, since they are expected messages in common cases.
* After elog(PANIC), exit with abort() not proc_exit(). This allows aTom Lane2002-11-01
| | | | | | core file to be produced for debugging, and avoids trying to run the normal proc-exit cleanup hooks, which are likely to cause additional problems if the system is hosed.
* Fix some bogus comments.Tom Lane2002-11-01
|
* Add missing #include <errno.h>, per gripe from Alessio Bragadini.Tom Lane2002-10-31
|
* Got tired of explaining why this Assert is not wrong.Tom Lane2002-10-31
|
* Code review for statement_timeout patch. Fix some race conditionsTom Lane2002-10-31
| | | | | | between signal handler and enable/disable code, avoid accumulation of timing error due to trying to maintain remaining-time instead of absolute-end-time, disable timeout before commit not after.
* Fix miscalculation of remaining free space during tuple chain moving.Tom Lane2002-10-31
| | | | | | | Only affects machines where MAXALIGN > 4, and is a boundary-condition case even there, but still surprising that it's not been identified before. Also reduce tuple chain move give-up messages from WARNING to DEBUG1, since they are not unexpected conditions.
* Avoid use of inline functions that are not declared static. Needed toTom Lane2002-10-31
| | | | conform to C99's brain-dead notion of how inline functions should work.
* Clean up gram.y trailing spaces.Bruce Momjian2002-10-31
|
* Add missing semicolons to a few PG_FUNCTION_INFO_V1 calls.Tom Lane2002-10-26
|
* Fix some places that were unportably assuming struct timeval's tv_secTom Lane2002-10-24
| | | | field is signed. Clean up casting.
* Function-call-style type coercions should be treated as explicitTom Lane2002-10-24
| | | | | | coercions, not implicit ones. For example, 'select abstime(1035497293)' should succeed because there is an explicit binary coercion from int4 to abstime.
* Perform transaction cleanup operations in a less ad-hoc, moreTom Lane2002-10-22
| | | | | | | | | | | principled order; in particular ensure that all shared resources are released before we release transaction locks. The code used to release locks before buffer pins, which might explain an ancient note I have about a bufmgr assertion failure I'd seen once several years ago, and been unable to reproduce since. (Theory: someone trying to drop a relation might be able to reach FlushRelationBuffers before the last user of the relation had gotten around to dropping his buffer pins.)
* Fix places that were using IsTransactionBlock() as an (inadequate) checkTom Lane2002-10-21
| | | | | | that they'd get to commit immediately on finishing. There's now a centralized routine PreventTransactionChain() that implements the necessary tests.
* Fix ALTER TABLE ... ADD COLUMN for inheritance cases.Bruce Momjian2002-10-21
| | | | Alvaro Herrera
* Remove unnecessary (and inadequate) check of IsTransactionBlock() inTom Lane2002-10-21
| | | | | pgstat_vacuum_tabstat(). Assume that caller (namely, VACUUM) has done the appropriate state checking beforehand.
* Avoid using IsTransactionBlock() in DeferredTriggerSetState(); no realTom Lane2002-10-21
| | | | need for this optimization, and it's too easily fooled anyway.
* Make CREATE/ALTER/DROP USER/GROUP transaction-safe, or at least prettyTom Lane2002-10-21
| | | | | nearly so, by postponing write of flat password file until transaction commit.
* Fix potential problem with btbulkdelete deleting an indexscan's currentTom Lane2002-10-20
| | | | | | | | | | | | item, if the page containing the current item is split while the indexscan is stopped and holds no read-lock on the page. The current item might move right onto a page that the indexscan holds no pin on. In the prior code this would allow btbulkdelete to reach and possibly delete the item, causing 'my bits moved right off the end of the world!' when the indexscan finally resumes. Fix by chaining read-locks to the right during _bt_restscan and requiring btbulkdelete to LockBufferForCleanup on every page it scans, not only those with deletable items. Per my pghackers message of 25-May-02. (Too bad no one could think of a better way.)
* Rule rewriter was doing the wrong thing with conditional INSTEAD rulesTom Lane2002-10-20
| | | | | | | | | whose conditions might yield NULL. The negated qual to attach to the original query is properly 'x IS NOT TRUE', not 'NOT x'. This fix produces correct behavior, but we may be taking a performance hit because the planner is much stupider about IS NOT TRUE than it is about NOT clauses. Future TODO: teach prepqual, other parts of planner how to cope with BooleanTest clauses more effectively.
* Disallow aggregate functions in rule WHERE clauses. Per gripe fromTom Lane2002-10-20
| | | | Fritz Lehmann-Grube back in January.
* Fix case where a function in FROM returns a scalar type, but isTom Lane2002-10-19
| | | | referred to with whole-tuple syntax.
* Invert logic in pg_exec_query_string() so that we set a snapshot forTom Lane2002-10-19
| | | | | | | all utility statement types *except* a short list, per discussion a few days ago. Add missing SetQuerySnapshot calls in VACUUM and REINDEX, and guard against calling REINDEX DATABASE from a function (has same problem as VACUUM).
* Fix rewrite code so that rules are in fact executed in order by name,Tom Lane2002-10-19
| | | | | | | | | | rather than being reordered according to INSTEAD attribute for implementation convenience. Also, increase compiled-in recursion depth limit from 10 to 100 rewrite cycles. 10 seems pretty marginal for situations where multiple rules exist for the same query. There was a complaint about this recently, so I'm going to bump it up. (Perhaps we should make the limit a GUC parameter, but that's too close to being a new feature to do in beta.)