aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Cleanup the bootstrap code a little, and rename "dummy procs" in the codeAlvaro Herrera2007-03-07
| | | | comments and variables to "auxiliary proc", per Heikki's request.
* Fix oversight in original coding of inline_function(): sinceTom Lane2007-03-06
| | | | | | | | | | | | | | check_sql_fn_retval allows binary-compatibility cases, the expression extracted from an inline-able SQL function might have a type that is only binary-compatible with the declared function result type. To avoid possibly changing the semantics of the expression, we should insert a RelabelType node in such cases. This has only been shown to have bad consequences in recent 8.1 and up releases, but I suspect there may be failure cases in the older branches too, so patch it all the way back. Per bug #3116 from Greg Mullane. Along the way, fix an omission in eval_const_expressions_mutator: it failed to copy the relabelformat field when processing a RelabelType. No known observable failures from this, but it definitely isn't intended behavior.
* Add script to build documentation on win32 without mingwMagnus Hagander2007-03-06
|
* Revert temp_tablespaces because of coding problems, per Tom.Bruce Momjian2007-03-06
|
* Remove copied comments from geo_ops.c source file and replace with newBruce Momjian2007-03-05
| | | | | comments, and cleanup functions. Remove copyright that is no longer relevant.
* Remove old-style win32 client-only visual c++ build infrastructure for ↵Magnus Hagander2007-03-05
| | | | | | | everything except libpq. We need to keep libpq to build static libraries and to use PQtrace with clients using older versions of MSVC.
* Fix a typo in a comment. Heikki Linnakangas.Neil Conway2007-03-05
|
* Make the newly-added regression tests for lo_truncate() consistentNeil Conway2007-03-03
| | | | with the recent largeobject cosmetic fixes. Jeremy Drake.
* Cosmetic patch to large object regression test.Bruce Momjian2007-03-03
| | | | Jeremy Drake
* Split _bt_insertonpg to two functions.Bruce Momjian2007-03-03
| | | | Heikki Linnakangas
* Fix for COPY-after-truncate feature.Bruce Momjian2007-03-03
| | | | Simon Riggs
* Remove undo information from pg_controldata --- never used.Bruce Momjian2007-03-03
| | | | Florian G. Pflug
* Add lo_truncate() to backend and libpq for large object truncation.Bruce Momjian2007-03-03
| | | | Kris Jurka
* Add resetStringInfo(), which clears the content of a StringInfo, andNeil Conway2007-03-03
| | | | | | fixup various places in the tree that were clearing a StringInfo by hand. Making this function a part of the API simplifies client code slightly, and avoids needlessly peeking inside the StringInfo interface.
* Add GUC log_lock_waits to log long wait times.Bruce Momjian2007-03-03
| | | | Simon Riggs
* Allow \pset and \x, \t to use boolean constants on/off, rather than justBruce Momjian2007-03-03
| | | | | | toggle. Chad Wagner
* Make log_min_error_statement put LOG level at the same priority asTom Lane2007-03-02
| | | | | | log_min_messages does; and arrange to suppress the duplicative output that would otherwise result from log_statement and log_duration messages. Bruce Momjian and Tom Lane.
* Suppress useless searches for unused line pointers in PageAddItem. To doTom Lane2007-03-02
| | | | | | | | | | | | | | this, add a 16-bit "flags" field to page headers by stealing some bits from pd_tli. We use one flag bit as a hint to indicate whether there are any unused line pointers; the remaining 15 are available for future use. This is a cut-down form of an idea proposed by Hiroki Kataoka in July 2005. At the time it was rejected because the original patch increased the size of page headers and it wasn't clear that the benefit outweighed the distributed cost. The flag-bit approach gets most of the benefit without requiring an increase in the page header size. Heikki Linnakangas and Tom Lane
* Fix miscalculation of stats collector's write delay, introduced in revision ↵Tom Lane2007-03-01
| | | | 1.117.
* Fix markQueryForLocking() to work correctly in the presence of nested views.Tom Lane2007-03-01
| | | | | It has been wrong for this case since it was first written for 7.1 :-( Per report from Pavel Hanák.
* Fix date/time formats for XML Schema output.Peter Eisentraut2007-03-01
| | | | Pavel Stehule
* Remove temporary Windows-specific debugging code.Magnus Hagander2007-02-28
|
* Replace direct assignments to VARATT_SIZEP(x) with SET_VARSIZE(x, len).Tom Lane2007-02-27
| | | | | | | | | | | Get rid of VARATT_SIZE and VARATT_DATA, which were simply redundant with VARSIZE and VARDATA, and as a consequence almost no code was using the longer names. Rename the length fields of struct varlena and various derived structures to catch anyplace that was accessing them directly; and clean up various places so caught. In itself this patch doesn't change any behavior at all, but it is necessary infrastructure if we hope to play any games with the representation of varlena headers. Greg Stark and Tom Lane
* Allow information schema definitions to work without requiring implicitPeter Eisentraut2007-02-27
| | | | casts to text.
* Make build.bat return a proper errorcode if the build fails.Magnus Hagander2007-02-27
|
* Get rid of the separate EState for subplans, and just let them share theTom Lane2007-02-27
| | | | | | | | | parent query's EState. Now that there's a single flat rangetable for both the main plan and subplans, there's no need anymore for a separate EState, and removing it allows cleaning up some crufty code in nodeSubplan.c and nodeSubqueryscan.c. Should be a tad faster too, although any difference will probably be hard to measure. This is the last bit of subsidiary mop-up work from changing to a flat rangetable.
* Put back copyObject() call I removed in a fit of brain fade. This oneTom Lane2007-02-25
| | | | | | is still needed despite cleanups in setrefs.c, because the point is to let the inserted Result node compute a different tlist than its input node does. Per example from Jeremy Drake.
* Now that plans have flat rangetable lists, it's a lot easier to get EXPLAIN toTom Lane2007-02-23
| | | | | | | | | | | | drill down into subplan targetlists to print the referent expression for an OUTER or INNER var in an upper plan node. Hence, make it do that always, and banish the old hack of showing "?columnN?" when things got too complicated. Along the way, fix an EXPLAIN bug I introduced by suppressing subqueries from execution-time range tables: get_name_for_var_field() assumed it could look at rte->subquery to find out the real type of a RECORD var. That doesn't work anymore, but instead we can look at the input plan of the SubqueryScan plan node.
* Move BLCKSZ < 1024 check to guc.c.Bruce Momjian2007-02-23
|
* Add psql \prompt capability.Bruce Momjian2007-02-23
| | | | Chad Wagner
* Change Agg and Group nodes so that Vars contained in their targetlistsTom Lane2007-02-22
| | | | | | | and quals have varno OUTER, rather than zero, to indicate a reference to an output of their lefttree subplan. This is consistent with the way that every other upper-level node type does it, and allows some simplifications in setrefs.c and EXPLAIN.
* Fix bug I introduced in recent patch to make hash joins discard null tuplesTom Lane2007-02-22
| | | | | immediately: ExecHashGetHashValue failed to restore the caller's memory context before taking the failure exit.
* Turn the rangetable used by the executor into a flat list, and avoid storingTom Lane2007-02-22
| | | | | | | | | | | | | | | | | useless substructure for its RangeTblEntry nodes. (I chose to keep using the same struct node type and just zero out the link fields for unneeded info, rather than making a separate ExecRangeTblEntry type --- it seemed too fragile to have two different rangetable representations.) Along the way, put subplans into a list in the toplevel PlannedStmt node, and have SubPlan nodes refer to them by list index instead of direct pointers. Vadim wanted to do that years ago, but I never understood what he was on about until now. It makes things a *whole* lot more robust, because we can stop worrying about duplicate processing of subplans during expression tree traversals. That's been a constant source of bugs, and it's finally gone. There are some consequent simplifications yet to be made, like not using a separate EState for subplans in the executor, but I'll tackle that later.
* Update new optional VACUUM FULL hint for translations, per Alvaro.Bruce Momjian2007-02-21
|
* Move increase FSM warning to after lazy_truncate_heap() because theBruce Momjian2007-02-21
| | | | | | | function might reduce the number of free pages in the table. Recommend VACUUM FULL only if 20% free. Simon Riggs.
* btree source code cleanups:Bruce Momjian2007-02-21
| | | | | | | | | | | | | | | | | | | I refactored findsplitloc and checksplitloc so that the division of labor is more clear IMO. I pushed all the space calculation inside the loop to checksplitloc. I also fixed the off by 4 in free space calculation caused by PageGetFreeSpace subtracting sizeof(ItemIdData), even though it was harmless, because it was distracting and I felt it might come back to bite us in the future if we change the page layout or alignments. There's now a new function PageGetExactFreeSpace that doesn't do the subtraction. findsplitloc now tries the "just the new item to right page" split as well. If people don't like the refactoring, I can write a patch to just add that. Heikki Linnakangas
* Add configure --enable-profiling to enable GCC profiling. Patches fromBruce Momjian2007-02-21
| | | | Korry Douglas and Nikhil S
* Revert changes to process pg_proc.h entries without OIDs. We're not supposedMagnus Hagander2007-02-21
| | | | | to have such entries, and want to be notified when we do... Leave the plain bugfix in genbki.
* Allow pltcl args to spi_prepare and plpython args to plpy.prepare to be ↵Andrew Dunstan2007-02-21
| | | | standard type aliases as well as those known in pg_type. Similar to recent change in plperl.
* Prevent BLCKSZ < 1024, and have initdb test shared buffers based on theBruce Momjian2007-02-20
| | | | BLCKSZ value.
* Change $(CC) to $(COMPILER) on Solaris gcc so -m64 is passed into theBruce Momjian2007-02-20
| | | | shared link line.
* Remove the Query structure from the executor's API. This allows us to stopTom Lane2007-02-20
| | | | | | | | | | | | | | | storing mostly-redundant Query trees in prepared statements, portals, etc. To replace Query, a new node type called PlannedStmt is inserted by the planner at the top of a completed plan tree; this carries just the fields of Query that are still needed at runtime. The statement lists kept in portals etc. now consist of intermixed PlannedStmt and bare utility-statement nodes --- no Query. This incidentally allows us to remove some fields from Query and Plan nodes that shouldn't have been there in the first place. Still to do: simplify the execution-time range table; at the moment the range table passed to the executor still contains Query trees for subqueries. initdb forced due to change of stored rules.
* Add comment that on Win32, we don't need to check the .pgpass fileBruce Momjian2007-02-20
| | | | permission, per Magnus.
* Identify schema of inherited table in psql \d when necessary.Peter Eisentraut2007-02-20
| | | | by Bernd Helmle
* Add missing OIDs to pg_proc.Peter Eisentraut2007-02-20
|
* Add "isodow" option to EXTRACT() and date_part() where Sunday = 7.Bruce Momjian2007-02-19
|
* Fix pg_dump on win32 to properly dump files larger than 2Gb when usingMagnus Hagander2007-02-19
| | | | binary dump formats.
* Parse pg_proc.h with entries without OIDs.Magnus Hagander2007-02-19
|
* Get rid of some old and crufty global variables in the planner. WhenTom Lane2007-02-19
| | | | | | | | | this code was last gone over, there wasn't really any alternative to globals because we didn't have the PlannerInfo struct being passed all through the planner code. Now that we do, we can restructure things to avoid non-reentrancy. I'm fooling with this because otherwise I'd have had to add another global variable for the planned compact range table list.
* Improve plpgsql's error message when a datatype declaration is omitted.Tom Lane2007-02-19
| | | | Per example from Jeff Ross.