aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Translation updatesPeter Eisentraut2005-12-09
|
* Fix core dump in error path of plpgsql_parse_tripwordtype. SomebodyTom Lane2005-12-09
| | | | introduced a copy-and-pasteo while trying to simplify the code.
* I reconfirmed MS-VC6. Thank you for wonderful correspondence.Bruce Momjian2005-12-09
| | | | | | | | | However, Another problem newly occurred. This solves the problem of snprintf and vsnprintf. Patch to HEAD and 8.1.X. Hiroshi Saito
* Stamp 8.1.1.Bruce Momjian2005-12-08
|
* Add missing translation markerPeter Eisentraut2005-12-08
|
* Fix bgwriter's failure to release buffer pins and open files after anTom Lane2005-12-08
| | | | | error. This probably explains bug #2099 and could also account for mysterious VACUUM hangups.
* Disble some Win32-specific code in win32-client-only builds:Bruce Momjian2005-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | I have the problem, when building by MS-VC6. An error occurs in the 8.1.0 present source codes. nmake -f win32.mak ..\..\port\getaddrinfo.c(244) : error C2065: 'WSA_NOT_ENOUGH_MEMORY' ..\..\port\getaddrinfo.c(342) : error C2065: 'WSATYPE_NOT_FOUND' This is used by winsock2.h. However, Construction of a windows base is winsock.h. Then, Since MinGW has special environment, this is right. but, it is not found in VC6. Furthermore, in getaddrinfo.c, IPV6-API is used by LoadLibraryA("ws2_32"); Referring to of dll the external memory generates this violation by VC6 specification. I considered whether the whole should have been converted into winsock2. However, Now, DLL of MinGW creation operates wonderfully as it is. That's right, it has pliability by replacement of simple DLL. Then, I propose the system using winsock(non IPV6) in construction of VC6. Hiroshi Saito
* Add documentation on the use of *printf() macros and libintl.Bruce Momjian2005-12-06
| | | | Backpatch to 8.1.X.
* In a nestloop inner indexscan, it's OK to use pushed-down baserestrictinfoTom Lane2005-12-06
| | | | | | clauses even if it's an outer join. This is a corner case since such clauses could only arise from weird OUTER JOIN ON conditions, but worth fixing. Per example from Ron at cheapcomplexdevices.com.
* ecpg/pgtypeslib seems to need snprintf.c pulled in, too.Tom Lane2005-12-06
|
* Put undef's before extern declarations that need 'em, per Andrew Dunstan.Tom Lane2005-12-06
|
* Make Win32 build use our port/snprintf.c routines, instead of dependingTom Lane2005-12-06
| | | | | on libintl which may or may not provide what we need. Make a few marginal cleanups to ensure this works. Andrew Dunstan and Tom Lane.
* Add regression test to see if the min/max values of int8 convert correctly.Tom Lane2005-12-05
|
* Fix a rather sizable number of problems in our homegrown snprintf, such asTom Lane2005-12-05
| | | | | | | | | incorrect implementation of argument reordering, arbitrary limit of output size for sprintf and fprintf, willingness to access more bytes than "%.Ns" specification allows, wrong formatting of LONGLONG_MIN, various field-padding bugs and omissions. I believe it now accurately implements a subset of the Single Unix Spec requirements (remaining unimplemented features are documented, too). Bruce Momjian and Tom Lane.
* Fix out-of-order inclusion of -L switches from LDFLAGS on AIX and HPUX.Tom Lane2005-12-03
| | | | Per example from Dirk Pirschel.
* Allow to_char(interval) and to_char(time) to use AM/PM specifications.Bruce Momjian2005-12-03
| | | | | | | | | | | Map them to a single day, so '30 hours' is 'AM'. Have to_char(interval) and to_char(time) use "HH", "HH12" as 12-hour intervals, rather than bypass and print the full interval hours. This is neeeded because to_char(time) is mapped to interval in this function. Intervals should use "HH24", and document suggestion. Allow "D" format specifiers for interval/time.
* Added special handling of CONNECTION variable that is used by ECPG instead ↵Michael Meskes2005-12-02
| | | | | | of given to the backend. I failed to notice that CONNECTION had become a keyword in 8.1.
* Rearrange code in ExecInitBitmapHeapScan so that we don't initialize theTom Lane2005-12-02
| | | | | | | | child plan nodes until we have acquired lock on the relation to scan. The relative order of initialization of plan nodes isn't real important in other cases, but it's critical here because one is supposed to lock a relation before its indexes, not vice versa. The original coding was at least vulnerable to deadlock against DROP INDEX, and perhaps worse things.
* Retry in FileRead and FileWrite if Windows returns ERROR_NO_SYSTEM_RESOURCES.Tom Lane2005-12-01
| | | | | | Also add a retry for Unixen returning EINTR, which hasn't been reported as an issue but at least theoretically could be. Patch by Qingqing Zhou, some minor adjustments by me.
* Check for overflow in strtol() while parsing datetime inputs.Tom Lane2005-12-01
| | | | Michael Fuhr.
* Rearrange code in pg_atoi() to avoid assuming that isspace() cannotTom Lane2005-11-30
| | | | change errno. No reported bugs here, but why take a chance?
* Tweak choose_bitmap_and() heuristics in the light of example provided in bugTom Lane2005-11-30
| | | | | | | #2075: consider an index redundant if any of its index conditions were already used, rather than if all of them were. Also, make the selectivity comparison a bit fuzzy, so that very small differences in estimated selectivities don't skew the results.
* - Made several variables "const char *" instead of "char *" as proposed by ↵Michael Meskes2005-11-30
| | | | | | Qingqing Zhou <zhouqq@cs.toronto.edu>. - Replaced all strdup() calls by ECPGstrdup().
* Tweak hash join code to use an additional heuristic for deciding whetherTom Lane2005-11-28
| | | | | | | | it's worth probing the outer relation for emptiness before building the hash table. To wit, if we're rescanning a join previously performed, remember whether we found it nonempty the previous time, and don't bother with the probe if it was nonempty. This buys back the performance lost in examples like Mario Weilguni's.
* Install a more future-proof fix for the snapshot-unset bug just found.Alvaro Herrera2005-11-28
| | | | Per suggestion from Tom Lane.
* Recent changes to allow hash join to exit early given empty input fromTom Lane2005-11-28
| | | | | | | one child or the other had a problem: they did not leave the node in a state that ExecReScanHashJoin would understand. In particular it would tend to fail to reset the child plans when needed. Per report from Mario Weilguni.
* Set a snapshot before running analyze on a single table, to avoid aAlvaro Herrera2005-11-28
| | | | crash when analyzing tables with expressional indexes.
* Add missing semicolon. Recent versions of bison seem to choke on this,Tom Lane2005-11-27
| | | | per buildfarm report from platypus, even though older versions let it pass.
* Get rid of ExecAssignResultTypeFromOuterPlan() and make all plan node typesTom Lane2005-11-23
| | | | | | | | | | | generate their output tuple descriptors from their target lists (ie, using ExecAssignResultTypeFromTL()). We long ago fixed things so that all node types have minimally valid tlists, so there's no longer any good reason to have two different ways of doing it. This change is needed to fix bug reported by Hayden James: the fix of 2005-11-03 to emit the correct column names after optimizing away a SubqueryScan node didn't work if the new top-level plan node used ExecAssignResultTypeFromOuterPlan to generate its tupdesc, since the next plan node down won't have the correct column labels.
* Fix problems with rewriter failing to set Query.hasSubLinks when insertingTom Lane2005-11-23
| | | | | | | a SubLink expression into a rule query. Pre-8.1 we essentially did this unconditionally; 8.1 tries to do it only when needed, but was missing a couple of cases. Per report from Kyle Bateman. Add some regression test cases covering this area.
* Re-run pgindent, fixing a problem where comment lines after a blankBruce Momjian2005-11-22
| | | | | | | | | comment line where output as too long, and update typedefs for /lib directory. Also fix case where identifiers were used as variable names in the backend, but as typedefs in ecpg (favor the backend for indenting). Backpatch to 8.1.X.
* Modify tuptoaster's API so that it does not try to modify the passedTom Lane2005-11-20
| | | | | | | | | tuple in-place, but instead passes back an all-new tuple structure if any changes are needed. This is a much cleaner and more robust solution for the bug discovered by Alexey Beschiokov; accordingly, revert the quick hack I installed yesterday. With this change, HeapTupleData.t_datamcxt is no longer needed; will remove it in a separate commit in HEAD only.
* Stopgap solution for problem reported by Alexey Beschiokov: afterTom Lane2005-11-19
| | | | | | | doing heap_insert or heap_update, wipe out any extracted fields in the TupleTableSlot containing the tuple, because they might not be valid anymore if tuptoaster.c changed the tuple. Safe because slot must be in the materialized state, but mighty ugly --- find a better answer!
* Fix performance issue in exprTypmod(): for a COALESCE expression, itTom Lane2005-11-18
| | | | | | recursed twice on its first argument, leading to exponential time spent on a deep nest of COALESCEs ... such as a deeply nested FULL JOIN would produce. Per report from Matt Carter.
* make psql honor explicit database parameter in -l mode, in case "postgres" ↵Andrew Dunstan2005-11-17
| | | | database is missing - per complaint from Philip Yarra.
* DropRelFileNodeBuffers failed to fix the state of the lookup hash tableTom Lane2005-11-17
| | | | | | | | that was added to localbuf.c in 8.1; therefore, applying it to a temp table left corrupt lookup state in memory. The only case where this had a significant chance of causing problems was an ON COMMIT DELETE ROWS temp table; the other possible paths left bogus state that was unlikely to be used again. Per report from Csaba Nagy.
* make_restrictinfo() failed to attach the specified required_relids toTom Lane2005-11-16
| | | | | its result when the clause was an OR clause. Brain fade exposed by example from Sebastian BÎck.
* Properly document return value of strpos().Bruce Momjian2005-11-16
|
* Have test_fsync honor -f filename argument.Bruce Momjian2005-11-16
|
* Prevent certain symbols that are used for both typedefs and variableBruce Momjian2005-11-15
| | | | | | | names from being added to pgindent's typedef list. The existance of them caused weird formatting in the date/type files, and in keywords.c. Backpatch to 8.1.X.
* Fix recent problems with BSD indent, including indenting past 80Bruce Momjian2005-11-15
| | | | | | | columns, shifting comment to the right when more than 150 'else if' clauses were used, and update typedefs for 8.1.X. NetBSD patched updated, with documentation.
* Restore the former RestrictInfo field valid_everywhere (but invert the flagTom Lane2005-11-14
| | | | | | | | | | sense and rename to "outerjoin_delayed" to more clearly reflect what it means). I had decided that it was redundant in 8.1, but the folly of this is exposed by a bug report from Sebastian Böck. The place where it's needed is to prevent orindxpath.c from cherry-picking arms of an outer-join OR clause to form a relation restriction that isn't actually legal to push down to the relation scan level. There may be some legal cases that this forbids optimizing, but we'd need much closer analysis to determine it.
* Translation typo fixAlvaro Herrera2005-11-14
|
* Re-run pgindent to fix breakage when exceeding 150 'else if' clauses.Bruce Momjian2005-11-14
| | | | Cosmetic fix only.
* Prevent ExecInsert() and ExecUpdate() from scribbling on the result tupleTom Lane2005-11-14
| | | | | | | slot of the topmost plan node when a trigger returns a modified tuple. These appear to be the only places where a plan node's caller did not treat the result slot as read-only, which is an assumption that nodeUnique makes as of 8.1. Fixes trigger-vs-DISTINCT bug reported by Frank van Vugt.
* Force the second argument of SUBSTRING(foo FOR bar) to be int4, to avoidTom Lane2005-11-13
| | | | | | | surprising results when it's some other numeric type. This doesn't solve the generic problem of surprising implicit casts to text, but it's a low-impact way of making sure this particular case behaves sanely. Per gripe from Harald Fuchs and subsequent discussion.
* Revert pgindent length back to 79 because we are going to fix the BSDBruce Momjian2005-11-13
| | | | indent bug.
* add missing quote mark to ident_file sample line - per Hiroshi SaitoAndrew Dunstan2005-11-10
|
* When in transaction-aborted state, reject Bind message for portals containingTom Lane2005-11-10
| | | | | | | | | | anything but transaction-exiting commands (ROLLBACK etc). We already rejected Parse and Execute in such cases, so there seems little point in allowing Bind. This prevents at least an Assert failure, and probably worse things, since there's a lot of infrastructure that doesn't work when not in a live transaction. We can also simplify the Bind logic a bit by rejecting messages with a nonzero number of parameters, instead of the former kluge to silently substitute NULL for each parameter. Per bug #2033 from Joel Stevenson.
* Fix misspelling of 'listen_addresses', per Devrim.Tom Lane2005-11-09
|