summaryrefslogtreecommitdiff
path: root/src/include
AgeCommit message (Collapse)Author
2003-07-09Add new USERLIMIT GUC source level so certain options can be disabledBruce Momjian
or increased only by super-users. This fixes problems caused by making certain variables SUSET for security reasons.
2003-07-04Add --help-config facility to dump information about GUC parametersTom Lane
without needing a running backend. Reorder postgresql.conf.sample to match new layout of runtime.sgml. This commit re-adds work lost in Wednesday's crash.
2003-07-04Some early work on error message editing. Operator-not-found andTom Lane
function-not-found messages now distinguish the cases no-match and ambiguous-match, and they follow the style guidelines too.
2003-07-03Do honest transformation and preprocessing of LIMIT/OFFSET clauses,Tom Lane
instead of the former kluge whereby gram.y emitted already-transformed expressions. This is needed so that Params appearing in these clauses actually work correctly. I suppose some might claim that the side effect of 'SELECT ... LIMIT 2+2' working is a new feature, but I say this is a bug fix.
2003-07-03Code review for UPDATE tab SET col = DEFAULT patch ... whack it aroundTom Lane
so it has some chance of working in rules ...
2003-07-01Aggregates can be polymorphic, using polymorphic implementation functions.Tom Lane
It also works to create a non-polymorphic aggregate from polymorphic functions, should you want to do that. Regression test added, docs still lacking. By Joe Conway, with some kibitzing from Tom Lane.
2003-07-01SQL functions can have arguments and results declared ANYARRAY orTom Lane
ANYELEMENT. The effect is to postpone typechecking of the function body until runtime. Documentation is still lacking. Original patch by Joe Conway, modified to postpone type checking by Tom Lane.
2003-06-30Add GUC option log_error_verbosity to control which fields of errorTom Lane
reports get put into the postmaster log. Options are TERSE, DEFAULT, VERBOSE, with the same behavior as implemented on the client side in libpq.
2003-06-29Restructure building of join relation targetlists so that a join planTom Lane
node emits only those vars that are actually needed above it in the plan tree. (There were comments in the code suggesting that this was done at some point in the dim past, but for a long time we have just made join nodes emit everything that either input emitted.) Aside from being marginally more efficient, this fixes the problem noted by Peter Eisentraut where a join above an IN-implemented-as-join might fail, because the subplan targetlist constructed in the latter case didn't meet the expectation of including everything. Along the way, fix some places that were O(N^2) in the targetlist length. This is not all the trouble spots for wide queries by any means, but it's a step forward.
2003-06-29Support expressions of the form 'scalar op ANY (array)' andTom Lane
'scalar op ALL (array)', where the operator is applied between the lefthand scalar and each element of the array. The operator must yield boolean; the result of the construct is the OR or AND of the per-element results, respectively. Original coding by Joe Conway, after an idea of Peter's. Rewritten by Tom to keep the implementation strictly separate from subqueries.
2003-06-27Add is_superuser parameter reporting, soon to be used by psql.Tom Lane
2003-06-27First batch of object rename commands.Peter Eisentraut
2003-06-27Create real array comparison functions (that use the element datatype'sTom Lane
comparison functions), replacing the highly bogus bitwise array_eq. Create a btree index opclass for ANYARRAY --- it is now possible to create indexes on array columns. Arrange to cache the results of catalog lookups across multiple array operations, instead of repeating the lookups on every call. Add string_to_array and array_to_string functions. Remove singleton_array, array_accum, array_assign, and array_subscript functions, since these were for proof-of-concept and not intended to become supported functions. Minor adjustments to behavior in some corner cases with empty or zero-dimensional arrays. Joe Conway (with some editorializing by Tom Lane).
2003-06-25Back out array mega-patch.Bruce Momjian
Joe Conway
2003-06-25UPDATE ... SET <col> = DEFAULTBruce Momjian
Rod Taylor
2003-06-25Updated the pg_get_constraintdef() to use conbin. Update pg_dump to useBruce Momjian
pg_get_constraintdef() for >= 70400. Rod Taylor <rbt@rbt.ca>
2003-06-25Includes:Bruce Momjian
- 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>
2003-06-25Update catversion for ipv6 addition.Bruce Momjian
2003-06-24Add x86_64 support for spinlocks.Bruce Momjian
Jeffrey W. Baker
2003-06-24Small patch to link to the proper place in the "runtime" file,Bruce Momjian
and to add the "schemaname" column to the description of the pg_stats view. Greg Sabino Mullane
2003-06-24Array mega-patch.Bruce Momjian
Joe Conway
2003-06-24 Add ipv6 address parsing support to 'inet' and 'cidr' data types.Bruce Momjian
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
2003-06-24typedef sa_family_t for cygwin.Bruce Momjian
2003-06-24Do not include:Bruce Momjian
#include <pwd.h> #include <netdb.h> in MS CC/Borland builds.
2003-06-23Remove references to sa_family_t, except when SOCKADDR_STORAGE requiresBruce Momjian
it. Also handle __ss_family as a synonym for ss_family. Kurt Roeckx
2003-06-22Revise hash join and hash aggregation code to use the same datatype-Tom Lane
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.
2003-06-16Allow GROUP BY, ORDER BY, DISTINCT targets to be unknown literals,Tom Lane
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.
2003-06-15Adjust nestloop-with-inner-indexscan plan generation so that we catchTom Lane
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.
2003-06-15Cause GROUP BY clause to adopt ordering operators from ORDER BY whenTom Lane
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.
2003-06-15Run autoconf/autoheader for ecpg change.Bruce Momjian
2003-06-14Add thread.c for libpq threading, and hook it into libpq/configure.Bruce Momjian
2003-06-13Add --with-threads configure option to control threaded libpq.Bruce Momjian
2003-06-12Attached is the complete diff against current CVS.Bruce Momjian
Compiles on BCC 5.5 and VC++ 6.0 (with warnings). Karl Waclawek
2003-06-12Back out patch that got bundled into another patch.Bruce Momjian
2003-06-12New patch with corrected README attached.Bruce Momjian
Also quickly added mention that it may be a qualified schema name. Rod Taylor
2003-06-12IPv6 cleanups.Bruce Momjian
Kurt Roeckx Andrew Dunstan
2003-06-12Back out this patch because it is patched inside a later patch.Bruce Momjian
--------------------------------------------------------------------------- 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.
2003-06-12Here is a patch that allows CIDR netmasks in pg_hba.conf. It allows twoBruce Momjian
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
2003-06-12Up to now, SerializableSnapshot and QuerySnapshot are malloc'ed andBruce Momjian
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
2003-06-11This patch extracts page buffer pooling and the simpleBruce Momjian
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
2003-06-11Add add_missing_from GUC variable.Bruce Momjian
Nigel J. Andrews
2003-06-11Add log_min_duration_statement.Bruce Momjian
Christopher Kings-Lynne
2003-06-11Add missing DLLIMPORT for cpu_index_tuple_cost toBruce Momjian
src/include/optimizer/cost.h. This is required to compile the PostGIS extension module with Cygwin http://postgis.refractions.net Norman Vine
2003-06-11Represent grant options in the information schema.Peter Eisentraut
2003-06-11Add Rendezvous support to postmaster, from Chris CampbellBruce Momjian
2003-06-09freeaddrinfo2() does need two parameters after all, per comment byTom Lane
Kurt Roeckx. Add some documentation to try to prevent others from repeating my mistake.
2003-06-08libpq can now talk to either 3.0 or 2.0 protocol servers. It first triesTom Lane
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.)
2003-06-06Implement outer-level aggregates to conform to the SQL spec, withTom Lane
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.
2003-06-05Support for Intel compiler on LinuxPeter Eisentraut
2003-06-02In src/include/mb/pg_wchar.h we have:Bruce Momjian
#define PG_ENCODING_BE_LAST PG_ISO_8859_8 #define PG_ENCODING_FE_LAST PG_WIN1256 but the last client encoding in the enum list is actually PG_GB18030 and it seems that #define PG_ENCODING_IS_CLIEN_ONLY(_enc) \ (((_enc) > PG_ENCODING_BE_LAST && (_enc) <= PG_ENCODING_FE_LAST) can never be true. I think the define should read #define PG_ENCODING_FE_LAST PG_GB18030 On the other hand, perhaps no-one cares, because PG_ENCODING_IS_CLIEN_ONLY is never used. -- Oliver Elphick Oliver.Elphick@lfix.co.uk