aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
...
* Don't explicitly close() the session socket during backend exit; insteadTom Lane2003-05-29
| | | | | | leave it for the kernel to do after the process dies. This allows clients to wait for the backend to exit if they wish (after sending X message, wait till EOF is detected on the socket).
* Fix stupid oversight :-(Tom Lane2003-05-29
|
* Knock down a couple more lappend() hotspots for large WHERE clauses.Tom Lane2003-05-28
|
* Fix some planner performance problems with large WHERE clauses, byTom Lane2003-05-28
| | | | | | | introducing new 'FastList' list-construction subroutines to use in hot spots. This avoids the O(N^2) behavior of repeated lappend's by keeping a tail pointer, while not changing behavior by reversing list order as the lcons() method would do.
* Fix breakage of LINUX_PROFILE code due to recent Windows changes.Tom Lane2003-05-28
|
* Fix things so that an error occuring during standalone-backend processingTom Lane2003-05-28
| | | | | in initdb will result in exit(1), allowing the initdb script to realize that there's something wrong.
* In bootstrap and standalone-backend modes, do not sort LOG elevel outTom Lane2003-05-28
| | | | | | | | of order; the 'server log' output is actually client output in these scenarios and we ought to treat elevels the same way as in the client case. This allows initdb to not send backend stderr to /dev/null anymore, which makes it much more likely that people will notice problems during initdb.
* Replace functional-index facility with expressional indexes. Any columnTom Lane2003-05-28
| | | | | | | | | | | of an index can now be a computed expression instead of a simple variable. Restrictions on expressions are the same as for predicates (only immutable functions, no sub-selects). This fixes problems recently introduced with inlining SQL functions, because the inlining transformation is applied to both expression trees so the planner can still match them up. Along the way, improve efficiency of handling index predicates (both predicates and index expressions are now cached by the relcache) and fix 7.3 oversight that didn't record dependencies of predicate expressions.
* Make log_ GUC settings controllable only by super-users, so non-superBruce Momjian2003-05-27
| | | | users can't turn it off.
* Make debug_ GUC varables output DEBUG1 rather than LOG, and mention inBruce Momjian2003-05-27
| | | | | docs that CLIENT/LOG_MIN_MESSAGES now controls debug_* output location. Doc changes included.
* Make sure printtup() always sends the number of columns previouslyTom Lane2003-05-26
| | | | | | | | advertised in RowDescription message. Depending on the physical tuple's column count is not really correct, since according to heap_getattr() conventions the tuple may be short some columns, which will automatically get read as nulls. Problem has been latent since forever, but was only exposed by recent change to skip a projection step in SELECT * FROM...
* Remove comment that cbrt() isn't being used.Bruce Momjian2003-05-26
|
* Cause CHAR(n) to TEXT or VARCHAR conversion to automatically strip trailingTom Lane2003-05-26
| | | | | | | | | | | | | | | | | | blanks, in hopes of reducing the surprise factor for newbies. Remove redundant operators for VARCHAR (it depends wholly on TEXT operations now). Clean up resolution of ambiguous operators/functions to avoid surprising choices for domains: domains are treated as equivalent to their base types and binary-coercibility is no longer considered a preference item when choosing among multiple operators/functions. IsBinaryCoercible now correctly reflects the notion that you need *only* relabel the type to get from type A to type B: that is, a domain is binary-coercible to its base type, but not vice versa. Various marginal cleanup, including merging the essentially duplicate resolution code in parse_func.c and parse_oper.c. Improve opr_sanity regression test to understand about binary compatibility (using pg_cast), and fix a couple of small errors in the catalogs revealed thereby. Restructure "special operator" handling to fetch operators via index opclasses rather than hardwiring assumptions about names (cleans up the pattern_ops stuff a little).
* Information schema improvementsPeter Eisentraut2003-05-25
|
* Clean up our static cbrt() implementation in float.c.Bruce Momjian2003-05-25
|
* Improve implementation of btrim/ltrim/rtrim: provide a special case forTom Lane2003-05-23
| | | | | | | single-byte encodings, and a direct C implementation of the single-argument forms (where spaces are always what gets trimmed). This is in preparation for using rtrim1() as the bpchar-to-text cast operator, but is a useful performance improvement even if we decide not to do that.
* Add defense against possibility that tzname[] doesn't exist.Tom Lane2003-05-22
|
* Repair sometimes-incorrect computation of StartUpID after a crash, perTom Lane2003-05-22
| | | | | | | example from Rao Kumar. This is a very corner corner-case, requiring a minimum of three closely-spaced database crashes and an unlucky positioning of the second recovery's checkpoint record before you'd notice any problem. But the consequences are dire enough that it's a must-fix.
* Fix coredump in pg_get_triggerdef, ensure function name is schema-Tom Lane2003-05-20
| | | | qualified when necessary, simplify argument-printing code.
* Add documentation for information schema, and some corrections on somePeter Eisentraut2003-05-18
| | | | views.
* Add code to test for unknown timezone names (following some ideas fromTom Lane2003-05-18
| | | | | | | | Ross Reedstrom, a couple months back) and to detect timezones that are using leap-second timekeeping. The unknown-zone-name test is pretty heuristic and ugly, but it seems better than the old behavior of just switching to GMT given a bad name. Also make DecodePosixTimezone() a tad more robust.
* Remove use of geteuid under Win32.Bruce Momjian2003-05-16
|
* Add missing #include.Tom Lane2003-05-15
|
* Add copydir() function because xcopy doesn't work in XP without aBruce Momjian2003-05-15
| | | | window.
* Allow Win32 to compile under MinGW. Major changes are:Bruce Momjian2003-05-15
| | | | | | | | | | | | | | | Win32 port is now called 'win32' rather than 'win' add -lwsock32 on Win32 make gethostname() be only used when kerberos4 is enabled use /port/getopt.c new /port/opendir.c routines disable GUC unix_socket_group on Win32 convert some keywords.c symbols to KEYWORD_P to prevent conflict create new FCNTL_NONBLOCK macro to turn off socket blocking create new /include/port.h file that has /port prototypes, move out of c.h new /include/port/win32_include dir to hold missing include files work around ERROR being defined in Win32 includes
* Indexing support for pattern matching operations via separate operatorPeter Eisentraut2003-05-15
| | | | class when lc_collate is not C.
* Fix oversight: ignore-till-SYNC state should not ignore EOF ...Tom Lane2003-05-14
|
* Backend support for autocommit removed, per recent discussions. TheTom Lane2003-05-14
| | | | | | only remnant of this failed experiment is that the server will take SET AUTOCOMMIT TO ON. Still TODO: provide some client-side autocommit logic in libpq.
* In RowDescription messages, report columns of domain datatypes as havingTom Lane2003-05-13
| | | | | | the type OID and typmod of the underlying base type. Per discussions a few weeks ago with Andreas Pflug and others. Note that this behavioral change affects both old- and new-protocol clients.
* More binary I/O routines.Tom Lane2003-05-13
|
* Change pg_amop's index on (amopclaid,amopopr) to index (amopopr,amopclaid).Tom Lane2003-05-13
| | | | | | | This makes no difference for existing uses, but allows SelectSortFunction() and pred_test_simple_clause() to use indexscans instead of seqscans to locate entries for a particular operator in pg_amop. Better yet, they can use the SearchSysCacheList() API to cache the search results.
* Add binary I/O routines for a bunch more datatypes. Still a few to go,Tom Lane2003-05-12
| | | | | but that was enough tedium for one day. Along the way, move the few support routines for types xid and cid into a more logical place.
* Avoid unnecessary copying of parameter values in BIND. This allowsTom Lane2003-05-12
| | | | efficient insertion of large bytea values through the BIND interface.
* Apply fixes for problems with dropped columns whose types have also beenTom Lane2003-05-12
| | | | | | | | | | | dropped. The simplest fix for INSERT/UPDATE cases turns out to be for preptlist.c to insert NULLs of a known-good type (I used INT4) rather than making them match the deleted column's type. Since the representation of NULL is actually datatype-independent, this should work fine. I also re-reverted the patch to disable the use_physical_tlist optimization in the presence of dropped columns. It still doesn't look worth the trouble to be smarter, if there are no other bugs to fix. Added a regression test to catch future problems in this area.
* Revert previous change --- turns out the underlying problem affectsTom Lane2003-05-11
| | | | | more cases than I thought, so ExecTypeFromTL() will have to be fixed anyway.
* Disable the recently-added use_physical_tlist optimization in casesTom Lane2003-05-11
| | | | | | | | where the table contains dropped columns. If the columns are dropped, then their types may be gone as well, which causes ExecTypeFromTL() to fail if the dropped columns appear in a plan node's tlist. This could be worked around but I don't think the optimization is valuable enough to be worth the trouble.
* Make use of new error context stack mechanism to allow random errorsTom Lane2003-05-10
| | | | | | | | | | detected during buffer dump to be labeled with the buffer location. For example, if a page LSN is clobbered, we now produce something like ERROR: XLogFlush: request 2C000000/8468EC8 is not satisfied --- flushed only to 0/8468EF0 CONTEXT: writing block 0 of relation 428946/566240 whereas before there was no convenient way to find out which page had been trashed.
* In child-crashed log messages, identify a checkpoint process as suchTom Lane2003-05-10
| | | | instead of calling it a 'server process'.
* Adjust CreateCheckpoint so that buffer dumping activities and cleanup ofTom Lane2003-05-10
| | | | | | dead xlog segments are not considered part of a critical section. It is not necessary to force a database-wide panic if we get a failure in these operations. Per recent trouble reports.
* Implement array_send/array_recv (binary I/O for arrays). This exposedTom Lane2003-05-09
| | | | the folly of not passing element type to typsend/typreceive, so fix that.
* COPY BINARY uses the new binary I/O routines. Update a few more datatypesTom Lane2003-05-09
| | | | so that COPY BINARY regression test passes.
* Now that fastpath protocol allows null arguments to be passed,Tom Lane2003-05-09
| | | | fastpath.c had better check for strict functions.
* Implement new-protocol binary I/O support in DataRow, Bind, and FunctionCallTom Lane2003-05-09
| | | | | messages. Binary I/O is now up and working, but only for a small set of datatypes (integers, text, bytea).
* Remove another old rint() replacement.Bruce Momjian2003-05-09
|
* Add rint() to /port, remove from qnx/.Bruce Momjian2003-05-09
|
* Pass canAcceptConnections to exec'ed backend, for Jan.Bruce Momjian2003-05-09
|
* Binary send/receive routines for a few basic datatypes --- enough forTom Lane2003-05-09
| | | | testing purposes.
* Reinstate pg_type's typsend and typreceive columns. They don't do muchTom Lane2003-05-08
| | | | | yet, but they're there. Also some editorial work on CREATE TYPE reference page.
* Write non-defaults file before signalling the children to reread it.Bruce Momjian2003-05-08
|
* Move attached to shared memory out into a separate function for clarity.Bruce Momjian2003-05-08
|