aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* Standardize output buffer size and display format for strftime;Tom Lane2004-03-22
| | | | followup to complaint from Korean User's Group.
* Increase xlog str_time() static string variable, per Korean User's Group.Bruce Momjian2004-03-22
|
* Adds DLLIMPORT modifier to check_function_bodiesBruce Momjian2004-03-22
| | | | Claudio Natoli
* Add timestamp-versus-timestamptz cross-type comparison functions,Tom Lane2004-03-22
| | | | | flesh out the index operator classes to include these. In passing, fix erroneous volatility marking of ACL functions.
* Revise syntax-error reporting behavior to give pleasant results forTom Lane2004-03-21
| | | | | errors in internally-generated queries, such as those submitted by plpgsql functions. Per recent discussions with Fabien Coelho.
* Translation updatesDennis Bjorklund2004-03-21
|
* Code review for log_line_prefix patch. Cooperate with StringInfo insteadTom Lane2004-03-19
| | | | | | of fighting it, avoid hard-wired (and wrong) assumption about max length of prefix, cause %l to actually work as documented, don't compute data we may not need.
* Fix log_executor_stats if() test.Bruce Momjian2004-03-18
|
* During btree index build, sort equal-keyed tuples according to theirTom Lane2004-03-17
| | | | | | | | TID (heap position). This doesn't do anything to the validity of the finished index, but by pretending to qsort() that there are no really equal keys in the sort, we can avoid performance problems with qsort implementations that have trouble with large numbers of equal keys. Patch from Manfred Koizar.
* Reimplement CASE val WHEN compval1 THEN ... WHEN compval2 THEN ... ENDTom Lane2004-03-17
| | | | | | | | so that the 'val' is computed only once, per recent discussion. The speedup is not much when 'val' is just a simple variable, but could be significant for larger expressions. More importantly this avoids issues with multiple evaluations of a volatile 'val', and it allows the CASE expression to be reverse-listed in its original form by ruleutils.c.
* Document SPI_push() and SPI_pop().Bruce Momjian2004-03-17
|
* Replace the switching function ExecEvalExpr() with a macro that jumpsTom Lane2004-03-17
| | | | | | | | | | | directly to the appropriate per-node execution function, using a function pointer stored by ExecInitExpr. This speeds things up by eliminating one level of function call. The function-pointer technique also enables further small improvements such as only making one-time tests once (and then changing the function pointer). Overall this seems to gain about 10% on evaluation of simple expressions, which isn't earthshaking but seems a worthwhile gain for a relatively small hack. Per recent discussion on pghackers.
* Remove double-rename used by Win32 on busy files. Not needed anymore.Bruce Momjian2004-03-16
|
* Check for EOF on pipe differs under win32, as it is based on a socketBruce Momjian2004-03-15
| | | | | | implementation. Claudio Natoli
* * postmaster.c: cleanup pmdaemonize under win32; missed failure messageBruce Momjian2004-03-15
| | | | | | | | | in CreateOptsFile * s_lock.c: minor comment fix * findbe.c: variables not used under win32 moved within #ifndef WIN32 case Claudio Natoli
* Windows uses codepages rather than the environment, so we work aroundBruce Momjian2004-03-15
| | | | | | | | that by querying the environment explicitly first for LC_COLLATE and LC_CTYPE. We have to do this because initdb passes those values in the environment. If there is nothing there we fall back on the codepage. Andrew Dunstan
* Remove GUC log_statement, log_pid, log_timestamp, log_source_port.Bruce Momjian2004-03-15
| | | | | | Functionality superceeded by log_line_prefix. Andrew Dunstan
* Add PQmbdsplen() which returns the "display length" of a character.Tatsuo Ishii2004-03-15
| | | | | Still some works needed: - UTF-8, MULE_INTERNAL always returns 1
* Localize our dependencies on the way to create NAN or INFINITY.Tom Lane2004-03-15
| | | | Per recent proposal to pghackers.
* Remove grotty special-case code in coerce_to_target_type() thatTom Lane2004-03-15
| | | | | | | implemented casts to varchar and bpchar using a cast-to-text function. This is a holdover from before we had pg_cast; it now makes more sense to just list these casts in pg_cast. While at it, add pg_cast entries for the other direction (casts from varchar/bpchar) where feasible.
* Tweak planner so that index expressions and predicates are matched toTom Lane2004-03-14
| | | | | queries without regard to whether coercions are stated explicitly or implicitly. Per suggestion from Stephan Szabo.
* Portability fixes and bug fixes for recent floating point input changes.Neil Conway2004-03-14
| | | | | | | | In particular, don't depend on strtod() to accept 'NaN' and 'Infinity' inputs (while this is required by C99, not all platforms are compliant with that yet). Also, don't require glibc's behavior from isinf(): it seems that on a lot of platforms isinf() does not itself distinguish between negative and positive infinity.
* Arrange to emit a CONTEXT: SQL function "foo" entry in an errorTom Lane2004-03-14
| | | | | | message that is reporting a prechecking error in a SQL function. This is to cue client-side code that the syntax error position, if any, is with respect to the function body and not the outer command.
* Generate a WARNING when the column types in a foreign key constraint areTom Lane2004-03-13
| | | | | | | incompatible enough to prevent indexscanning the referenced table. Also, improve the error message that pops out when we can't implement the FK at all for lack of a usable equality operator. Fabien Coelho, with some review by Tom Lane.
* Repair memory leakage introduced into the non-hashed aggregate case byTom Lane2004-03-13
| | | | | | | 7.4 rewrite for hashed aggregate support. If the transition data type is pass-by-reference, the transValue must be pfreed when starting a new group boundary, else we have a one-value-per-group leakage. Thanks to Rae Steining for providing a reproducible test case.
* Translation updatesDennis Bjorklund2004-03-12
|
* Translation updatesDennis Bjorklund2004-03-12
|
* Allow 'Infinity' and '-Infinity' as input to the float4 and float8Neil Conway2004-03-12
| | | | | | | | | types. Update the regression tests and the documentation to reflect this. Remove the UNSAFE_FLOATS #ifdef. This is only half the story: we still unconditionally reject floating point operations that result in +/- infinity. See recent thread on -hackers for more information.
* Revise int2/int4/int8/float4/float8 input routines to allow forNeil Conway2004-03-11
| | | | | | | | | | any amount of leading or trailing whitespace (where "whitespace" is defined by isspace()). This is for SQL conformance, as well as consistency with other numeric types (e.g. oid, numeric). Also refactor pg_atoi() to avoid looking at errno where not necessary, and add a bunch of regression tests for the input to these types.
* Add NOWAIT option to LOCK commandTatsuo Ishii2004-03-11
|
* Move non-blocking code into its own /port file, for code clarity.Bruce Momjian2004-03-10
|
* Corrects a typo, introduces missing variables, and rearranges theBruce Momjian2004-03-09
| | | | | | | | | | | initialization of stats process under EXEC_BACKEND. [A cleaner, rationalized approach to stat/backend/SSDataBase child processes under EXEC_BACKEND is on my TODO list. However this patch takes care of immediate concerns (ie. stats test now passes under win32)] Claudio Natoli
* Determines the PKGLIBDIR equivalent under win32. Requires pgsql lib andBruce Momjian2004-03-09
| | | | | | | | bin directories to be packaged under the same root directory (eg. <some path>/pgsql/bin and <some path>/pgsql/lib) for the win32 port, which does not appear to be an onerous restriction. Claudio Natoli
* Add ALSO keyword to CREATE RULE.Bruce Momjian2004-03-09
| | | | Fabien COELHO
* Add:Bruce Momjian2004-03-09
| | | | | | | | | | | | | #log_line_prefix = '' # e.g. '<%u%%%d> ' # %u=user name %d=database name # %r=remote host and port # %p=PID %t=timestamp %i=command tag # %c=session id %l=session line number # %s=session start timestamp # %x=stop here in non-session processes # %%='%' Andrew Dunstan
* Add comment about why ON COMMENT in non-current database throws just anBruce Momjian2004-03-08
| | | | warning.
* Test for whether a previous IN join restricts the current join was tooTom Lane2004-03-08
| | | | | strict, per discussion with Dennis Haney. Also, rearrange the preceding tests to avoid redundancy.
* When testing usability of a partial index, recognize that an indexTom Lane2004-03-07
| | | | | | | predicate of the form 'foo IS NOT NULL' is implied by a WHERE clause that uses 'foo' in any strict operator or function. Per suggestion and preliminary implementation by John Siracusa; some further hacking by moi.
* Per a brief conversation with Tom, I've created a patch for addingBruce Momjian2004-03-05
| | | | | | | | | support for 'week' within the date_trunc function. Within the patch I added a couple of test cases and associated target output, and changed the documentation to add 'week' appropriately. Robert Creager
* Win32:Bruce Momjian2004-03-05
| | | | | | | | | | | | | * Mostly, casting etc to remove compilation warnings in win32 only code. * main.c: set _IONBF to stdout/stderr under win32 (under win32, _IOLBF defaults to full buffering) * pg_resetxlog/Makefile: ensures dirmod.o gets cleaned (got bitten by this when, after "make clean"ing, switching compilation between Ming + Cygwin) Claudio Natoli
* Add new SPI functions for use by PL/Java:Bruce Momjian2004-03-05
| | | | | | | | +extern Oid SPI_getargtypeid(void *plan, int argIndex); +extern int SPI_getargcount(void *plan); +extern bool SPI_is_cursor_plan(void *plan); Thomas Hallgren
* Fix log_executor_stats for non-multi queries. Backpatch to 7.4.X.Bruce Momjian2004-03-05
|
* Emit a warning when an empty string is input to the oid, float4, andNeil Conway2004-03-04
| | | | | | | | float8 types. This begins the deprecation of this feature: in 7.6, this input will be rejected. Also added a new error code for warnings about deprecated features, and updated the regression tests.
* Remove useless rebuilding of subPlan list during ExecInitNode. Wouldn'tTom Lane2004-03-02
| | | | | have been there to start with, except for overly enthusiastic copy-and- paste ...
* Update obsolete comment.Tom Lane2004-03-02
|
* Junkfilter logic to force a projection step during SELECT INTO was tooTom Lane2004-03-02
| | | | | simplistic; it recognized SELECT * FROM but not SELECT * FROM LIMIT. Per bug report from Jeff Bohmer.
* Teach is_distinct_query to recognize that GROUP BY forces a subquery'sTom Lane2004-03-02
| | | | | output to be distinct, if all the GROUP BY columns appear in the output. Per suggestion from Dennis Haney.
* make_sort_from_pathkeys()'s method for choosing which of severalTom Lane2004-02-29
| | | | | | | | | | equivalent sort expressions to use was broken: you can't just look at the relation membership, you have to actually grovel over the individual Vars in each expression. I think this did work when it was written, but it was broken by subsequent optimizations that made join relations not propagate every single input variable upward. Must find the Var that got propagated, not choose one at random. Per bug report from Daniel O'Neill.
* Remove unneeded indxqual field in IndexScanState, and the useless workTom Lane2004-02-28
| | | | spent initializing it during indexscan startup.
* Adjust remove_redundant_join_clauses() so that when it has a choiceTom Lane2004-02-27
| | | | | | | of which redundant clause to remove, it removes the more expensive one. In simple scenarios the clauses will be like 'var = var' and there's no difference, but we are now capable of considering cases where there are sub-selects in the clauses, and it makes a BIG difference.