aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
...
* Fix up JOIN .. USING with domainsBruce Momjian2003-06-25
| | | | | | | | | | | | | | | | The attached fixes select_common_type() to support the below case: create table t1( c1 int); create domain dom_c1 int; create table t2(c1 dom_c1); select * from t1 join t2 using( c1 ); I didn't see a need for maintaining the domain as the preferred type. A simple getBaseType() call on all elements of the list seems to be enough. -- Rod Taylor <rbt@rbt.ca>
* UPDATE ... SET <col> = DEFAULTBruce Momjian2003-06-25
| | | | Rod Taylor
* Updated the pg_get_constraintdef() to use conbin. Update pg_dump to useBruce Momjian2003-06-25
| | | | | | pg_get_constraintdef() for >= 70400. Rod Taylor <rbt@rbt.ca>
* Includes:Bruce Momjian2003-06-25
| | | | | | | | | | | | | | | | - LIKE <subtable> [ INCLUDING DEFAULTS | EXCLUDING DEFAULTS ] - Quick cleanup of analyze.c function prototypes. - New non-reserved keywords (INCLUDING, EXCLUDING, DEFAULTS), SQL 200X Opted not to extend for check constraints at this time. As per the definition that it's user defined columns, OIDs are NOT inherited. Doc and Source patches attached. -- Rod Taylor <rbt@rbt.ca>
* > This change (I'm sure this will wrap poorly -- sorry):Bruce Momjian2003-06-25
| | | | | | | | | | | | | | | | | | | > http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/libpq/pqcomm.h.diff?r1=1.85&r2=1.86 > > modified SockAddr, but no corresponding change was made here > (fe-auth.c:612): > > case AUTH_REQ_KRB5: > #ifdef KRB5 > if (pg_krb5_sendauth(PQerrormsg, conn->sock, &conn->laddr.in, > &conn->raddr.in, > hostname) != STATUS_OK) > > It's not obvious to me what the change ought to be though. This patch should hopefully fix both kerberos 4 and 5. Kurt Roeckx
* Here's a small patch to pg_hba.conf.sample that explains the use of CIDRBruce Momjian2003-06-25
| | | | | | addresses. Andrew Dunstan
* >> If a transaction marks a tuple for update and later commits withoutBruce Momjian2003-06-25
| | | | | | | | | | | | | | | >> actually having updated the tuple, [...] can we simply >> set the HEAP_XMAX_INVALID hint bit of the tuple? > >AFAICS this is a reasonable thing to do. Thanks for the confirmation. Here's a patch which also contains some more noncritical changes to tqual.c: . make code more readable by introducing local variables for xvac . no longer two separate branches for aborted and crashed. The actions were the same in all cases. Manfred Koizar
* In an attempt to simplify my life I'm submitting this patch thatBruce Momjian2003-06-24
| | | | | | | | restructures the deferred trigger queue. The fundamental change is to put all the static variables to hold the deferred triggers in a single structure. Alvaro Herrera
* Array mega-patch.Bruce Momjian2003-06-24
| | | | Joe Conway
* Prevent compiler warning from sprintf in recent ipv6 patch.Bruce Momjian2003-06-24
|
* Add ipv6 address parsing support to 'inet' and 'cidr' data types.Bruce Momjian2003-06-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regression tests for IPv6 operations added. Documentation updated to document IPv6 bits. Stop treating IPv4 as an "unsigned int" and IPv6 as an array of characters. Instead, always use the array of characters so we can have one function fits all. This makes bitncmp(), addressOK(), and several other functions "just work" on both address families. add family() function which returns integer 4 or 6 for IPv4 or IPv6. (See examples below) Note that to add this new function you will need to dump/initdb/reload or find the correct magic to add the function to the postgresql function catalogs. IPv4 addresses always sort before IPv6. On disk we use AF_INET for IPv4, and AF_INET+1 for IPv6 addresses. This prevents the need for a dump and reload, but lets IPv6 parsing work on machines without AF_INET6. To select all IPv4 addresses from a table: select * from foo where family(addr) = 4 ... Order by and other bits should all work. Michael Graff
* Revise hash join and hash aggregation code to use the same datatype-Tom Lane2003-06-22
| | | | | | | | specific hash functions used by hash indexes, rather than the old not-datatype-aware ComputeHashFunc routine. This makes it safe to do hash joining on several datatypes that previously couldn't use hashing. The sets of datatypes that are hash indexable and hash joinable are now exactly the same, whereas before each had some that weren't in the other.
* Fix for extended-query protocol: in event of error, backend was issuingTom Lane2003-06-20
| | | | | a ReadyForQuery (Z message) immediately and then another one after the Sync message arrives. Suppress the first one to make it work per spec.
* Disallow dollar sign in operator names, instead allow it as a non-firstTom Lane2003-06-19
| | | | | | | character in identifiers. The first change eliminates the current need to put spaces around parameter references, as in "x<=$2". The second change improves compatibility with Oracle and some other RDBMSes. This was discussed and agreed to back in January, but did not get done.
* Make FLOAT(p) measure the precision p in bits, not decimal digits, toTom Lane2003-06-17
| | | | | match the SQL standard. Document FLOAT and FLOAT(p) notations in datatype.sgml. Per recent pghackers discussion.
* More information schema views.Peter Eisentraut2003-06-17
|
* Fix bugs in interval-to-time conversion: HAVE_INT64_TIMESTAMP case did notTom Lane2003-06-16
| | | | work at all, and neither case behaved sanely for negative intervals.
* Allow GROUP BY, ORDER BY, DISTINCT targets to be unknown literals,Tom Lane2003-06-16
| | | | | | | | | silently resolving them to type TEXT. This is comparable to what we do when faced with UNKNOWN in CASE, UNION, and other contexts. It gets rid of this and related annoyances: select distinct f1, '' from int4_tbl; ERROR: Unable to identify an ordering operator '<' for type unknown This was discussed many moons ago, but no one got round to fixing it.
* Adjust nestloop-with-inner-indexscan plan generation so that we catchTom Lane2003-06-15
| | | | | | | some cases of redundant clauses that were formerly not caught. We have to special-case this because the clauses involved never get attached to the same join restrictlist and so the existing logic does not notice that they are redundant.
* Replace cryptic 'Unknown kind of return type' messages with somethingTom Lane2003-06-15
| | | | hopefully a little more useful.
* Cause GROUP BY clause to adopt ordering operators from ORDER BY whenTom Lane2003-06-15
| | | | | | both clauses specify the same targets, rather than always using the default ordering operator. This allows 'GROUP BY foo ORDER BY foo DESC' to be done with only one sort step.
* index() -> strchr().Tom Lane2003-06-15
|
* Fix SQL function executor for case where last command of a function isTom Lane2003-06-12
| | | | not a SELECT. We didn't use to allow that, but we do now.
* Attached is the complete diff against current CVS.Bruce Momjian2003-06-12
| | | | | | Compiles on BCC 5.5 and VC++ 6.0 (with warnings). Karl Waclawek
* Back out patch that got bundled into another patch.Bruce Momjian2003-06-12
|
* New patch with corrected README attached.Bruce Momjian2003-06-12
| | | | | | Also quickly added mention that it may be a qualified schema name. Rod Taylor
* Brief note about sequence cache not being cleared in other backends.Bruce Momjian2003-06-12
| | | | | | | Actually clear the cache in the backend making the alteration. This follows in the footsteps of setval(). Rod Taylor
* IPv6 cleanups.Bruce Momjian2003-06-12
| | | | | Kurt Roeckx Andrew Dunstan
* Back out this patch because it is patched inside a later patch.Bruce Momjian2003-06-12
| | | | | | | | | | | | | | | | --------------------------------------------------------------------------- here is a patch that allows CIDR netmasks in pg_hba.conf. It allows two address/mask forms: . address/maskbits, or . address netmask (as now) If the patch is accepted I will submit a documentation patch to cover it. This is submitted by agreement with Kurt Roeckx, who has worked on a patch that covers this and other IPv6 issues.
* Here is a patch that allows CIDR netmasks in pg_hba.conf. It allows twoBruce Momjian2003-06-12
| | | | | | | | | | | | | | | address/mask forms: . address/maskbits, or . address netmask (as now) If the patch is accepted I will submit a documentation patch to cover it. This is submitted by agreement with Kurt Roeckx, who has worked on a patch that covers this and other IPv6 issues. Andrew Dunstan
* Up to now, SerializableSnapshot and QuerySnapshot are malloc'ed andBruce Momjian2003-06-12
| | | | | | | | | free'd for every transaction or statement, respectively. This patch puts these data structures into static memory, thus saving a few CPU cycles and two malloc calls per transaction or (in isolation level READ COMMITTED) per query. Manfred Koizar
* This patch extracts page buffer pooling and the simpleBruce Momjian2003-06-11
| | | | | | | | | | | | | | | | | least-recently-used strategy from clog.c into slru.c. It doesn't change any visible behaviour and passes all regression tests plus a TruncateCLOG test done manually. Apart from refactoring I made a little change to SlruRecentlyUsed, formerly ClogRecentlyUsed: It now skips incrementing lru_counts, if slotno is already the LRU slot, thus saving a few CPU cycles. To make this work, lru_counts are initialised to 1 in SimpleLruInit. SimpleLru will be used by pg_subtrans (part of the nested transactions project), so the main purpose of this patch is to avoid future code duplication. Manfred Koizar
* Add add_missing_from GUC variable.Bruce Momjian2003-06-11
| | | | Nigel J. Andrews
* Make "log_min_duration_statement" SUSET --- will be adjusted with newBruce Momjian2003-06-11
| | | | USERLIMIT patch.
* Add log_min_duration_statement.Bruce Momjian2003-06-11
| | | | Christopher Kings-Lynne
* Well, the discussion about SSL a bit back perked my interest and I didBruce Momjian2003-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | some reading on the subject. 1) PostgreSQL uses ephemeral keying, for its connections (good thing) 2) PostgreSQL doesn't set the cipher list that it allows (bad thing, fixed) 3) PostgreSQL's renegotiation code wasn't text book correct (could be bad, fixed) 4) The rate of renegotiating was insanely low (as Tom pointed out, set to a more reasonable level) I haven't checked around much to see if there are any other SSL bits that need some review, but I'm doing some OpenSSL work right now and'll send patches for improvements along the way (if I find them). At the very least, the changes in this patch will make security folks happier for sure. The constant renegotiation of sessions was likely a boon to systems that had bad entropy gathering means (read: Slowaris /dev/rand|/dev/urand != ANDIrand). The new limit for renegotiations is 512MB which should be much more reasonable. Sean Chittenden
* During looking stuff up for a discussion on -general, I realized thatBruce Momjian2003-06-11
| | | | | | | | | | I'd placed the check for newly created matching pk rows for on update no action earlier than it needed to be so that it'd check even when the key values hadn't changed. This patch moves it to after checking for NULLs in the old row and comparing the values since the select's probably more expensive. Stephan Szabo
* Represent grant options in the information schema.Peter Eisentraut2003-06-11
|
* Add Rendezvous support to postmaster, from Chris CampbellBruce Momjian2003-06-11
|
* Remove lock* GUC variables from postgresql.conf.Bruce Momjian2003-06-11
| | | | Document why certain GUC variables aren't in postgresql.conf.
* freeaddrinfo2() does need two parameters after all, per comment byTom Lane2003-06-09
| | | | | Kurt Roeckx. Add some documentation to try to prevent others from repeating my mistake.
* libpq can now talk to either 3.0 or 2.0 protocol servers. It first triesTom Lane2003-06-08
| | | | | | | protocol 3, then falls back to 2 if postmaster rejects the startup packet with an old-format error message. A side benefit of the rewrite is that SSL-encrypted connections can now be made without blocking. (I think, anyway, but do not have a good way to test.)
* Add defense in assign_session_authorization() against trying to doTom Lane2003-06-06
| | | | | | catalog lookups when not in a transaction. This prevents bizarre failures if someone tries to set a value for session_authorization in postgresql.conf. Per report from Fernando Nasser.
* Implement outer-level aggregates to conform to the SQL spec, withTom Lane2003-06-06
| | | | | | | | extensions to support our historical behavior. An aggregate belongs to the closest query level of any of the variables in its argument, or the current query level if there are no variables (e.g., COUNT(*)). The implementation involves adding an agglevelsup field to Aggref, and treating outer aggregates like outer variables at planning time.
* Information schema views about functionsPeter Eisentraut2003-06-05
|
* Make the world at least marginally safe for usernames with embedded spaces.Tom Lane2003-06-02
| | | | Per recent gripe.
* markTargetListOrigin neglected to handle outer-scope Vars properly;Tom Lane2003-05-31
| | | | per report from Joe Conway.
* Small performance improvement for hash joins and hash aggregation:Tom Lane2003-05-30
| | | | | | | when the plan is ReScanned, we don't have to rebuild the hash table if there is no parameter change for its child node. This idea has been used for a long time in Sort and Material nodes, but was not in the hash code till now.
* Ensure that in all flex lexers that are part of the backend, aTom Lane2003-05-29
| | | | | | | yy_fatal_error() call results in elog(ERROR) not exit(). This was already fixed in the main lexer and plpgsql, but extend same technique to all the other dot-l files. Also, on review of the possible calls to yy_fatal_error(), it seems safe to use elog(ERROR) not elog(FATAL).
* Adopt latest bison's spelling of 'syntax error' rather than 'parse error'Tom Lane2003-05-29
| | | | | for grammar-detected problems. Revert Makefile hack that kept it looking like the pre-bison-1.875 output.