Commit Graph

  • c14f2ba7a4 Use just NULL not NULL::TEXT --- the latter coding is unnecessary and not schema-safe. Per report from Jochem van Dieten. Tom Lane 2005-06-07 14:04:48 +00:00
  • 657c098e41 Add a function lastval(), which returns the value returned by the last nextval() or setval() performed by the current session. Update the docs, add regression tests, and bump the catalog version. Patch from Dennis Björklund, various improvements by Neil Conway. Neil Conway 2005-06-07 07:08:35 +00:00
  • c59887f916 Add support for an optional INTO clause to PL/PgSQL's EXECUTE command. This allows the result of executing a SELECT to be assigned to a row variable, record variable, or list of scalars. Docs and regression tests updated. Per Pavel Stehule, improvements and cleanup by Neil Conway. Neil Conway 2005-06-07 02:47:23 +00:00
  • 0f011f6daa Update text for RESET CONNECTION: Bruce Momjian 2005-06-07 01:59:39 +00:00
  • 1b000116fb Ipcrm -> ipcclean in error message: Bruce Momjian 2005-06-07 01:36:40 +00:00
  • d714560658 Add rtee box index discussion. Bruce Momjian 2005-06-06 22:12:00 +00:00
  • 5859215015 Add: Bruce Momjian 2005-06-06 22:03:44 +00:00
  • ee7ac7b11e Modify XLogInsert API to make callers specify whether pages to be backed up have the standard layout with unused space between pd_lower and pd_upper. When this is set, XLogInsert will omit the unused space without bothering to scan it to see if it's zero. That saves time in XLogInsert, and also allows reversion of my earlier patch to make PageRepairFragmentation et al explicitly re-zero freed space. Per suggestion by Heikki Linnakangas. Tom Lane 2005-06-06 20:22:58 +00:00
  • 4c8495a1f2 Remove the mostly-stubbed-out-anyway support routines for WAL UNDO. That code is never going to be used in the foreseeable future, and where it's more than a stub it's making the redo routines harder to read. Tom Lane 2005-06-06 17:01:25 +00:00
  • 928b06a6cc Update Hungarian FAQ and add an HTML version. Bruce Momjian 2005-06-06 16:30:42 +00:00
  • 128c25b52f Trivial markup improvement. Tom Lane 2005-06-06 16:29:01 +00:00
  • 9a586fe0c5 Nab some low-hanging fruit: replace the planner's base_rel_list and other_rel_list with a single array indexed by rangetable index. This reduces find_base_rel from O(N) to O(1) without any real penalty. While find_base_rel isn't one of the major bottlenecks in any profile I've seen so far, it was starting to creep up on the radar screen for complex queries --- so might as well fix it. Tom Lane 2005-06-06 04:13:36 +00:00
  • 9ab4d98168 Remove planner's private fields from Query struct, and put them into a new PlannerInfo struct, which is passed around instead of the bare Query in all the planning code. This commit is essentially just a code-beautification exercise, but it does open the door to making larger changes to the planner data structures without having to muck with the widely-known Query struct. Tom Lane 2005-06-05 22:32:58 +00:00
  • 22dbd54047 Add description for backend termination: Bruce Momjian 2005-06-05 03:39:54 +00:00
  • bebe7c5600 Here's a patch to do the following: Bruce Momjian 2005-06-05 03:16:42 +00:00
  • 7ef90f5aad Code for SET/SHOW TIME ZONE with a fixed-interval timezone was not prepared for HAVE_INT64_TIMESTAMP. Per report from Guillaume Beaudoin. Tom Lane 2005-06-05 01:49:06 +00:00
  • 39c9398956 Code for SET/SHOW TIME ZONE with a fixed-interval timezone was not prepared for HAVE_INT64_TIMESTAMP. Per report from Guillaume Beaudoin. Tom Lane 2005-06-05 01:48:55 +00:00
  • 2f5b2558d3 Code for SET/SHOW TIME ZONE with a fixed-interval timezone was not prepared for HAVE_INT64_TIMESTAMP. Per report from Guillaume Beaudoin. Tom Lane 2005-06-05 01:48:45 +00:00
  • 27bdb0c40d Code for SET/SHOW TIME ZONE with a fixed-interval timezone was not prepared for HAVE_INT64_TIMESTAMP. Per report from Guillaume Beaudoin. Tom Lane 2005-06-05 01:48:34 +00:00
  • 82468b428b Add 2phase TODO.detail. Bruce Momjian 2005-06-05 00:46:13 +00:00
  • ec480a5277 Add TODO.detail for 2phase commit: > * Add two-phase commit [2phase] Bruce Momjian 2005-06-05 00:45:22 +00:00
  • a4996a8953 Replace the parser's namespace tree (which formerly had the same representation as the jointree) with two lists of RTEs, one showing the RTEs accessible by qualified names, and the other showing the RTEs accessible by unqualified names. I think this is conceptually simpler than what we did before, and it's sure a whole lot easier to search. This seems to eliminate the parse-time bottleneck for deeply nested JOIN structures that was exhibited by phil@vodafone. Tom Lane 2005-06-05 00:38:11 +00:00
  • efe0d0808b Add TODO.detail. Bruce Momjian 2005-06-05 00:28:36 +00:00
  • 8805c835c8 Remove duplicate emails. Bruce Momjian 2005-06-05 00:22:35 +00:00
  • 3a272cf032 Add TODO.detail for timezone: Bruce Momjian 2005-06-05 00:20:02 +00:00
  • 32f4ae568c Add TODO.detail of standard timezone data type. Bruce Momjian 2005-06-05 00:18:42 +00:00
  • f54f142a61 Add pg_upgrade TODO.detail. Bruce Momjian 2005-06-04 23:33:17 +00:00
  • 581a8c9f6d Add TODO.detail: Bruce Momjian 2005-06-04 23:32:34 +00:00
  • d95fad64d4 Add pg_dump TODO.detail for multiple -t / -n flags. Bruce Momjian 2005-06-04 23:07:15 +00:00
  • 249880ffae Add pg_dump to TODO.detail. Bruce Momjian 2005-06-04 23:06:29 +00:00
  • 24af7d4b68 Back out patch: Bruce Momjian 2005-06-04 22:57:22 +00:00
  • 954108f92d Add comment for multi-byte computation. Bruce Momjian 2005-06-04 20:56:13 +00:00
  • 72c53ac3a7 Allow kerberos name and username case sensitivity to be specified from postgresql.conf. Bruce Momjian 2005-06-04 20:42:43 +00:00
  • d995014fac At 2005-05-21 20:18:50 +0530, ams@oryx.com wrote: > > > The second issue is where plperl returns a large result set. Bruce Momjian 2005-06-04 20:33:06 +00:00
  • 3cf1fd3263 Tom Lane <tgl@sss.pgh.pa.us> writes: > a_ogawa <a_ogawa@hi-ho.ne.jp> writes: > > It is a reasonable idea. However, the majority part of MemSet was not > > able to be avoided by this idea. Because the per-tuple contexts are used > > at the early stage of executor. > > Drat. Well, what about changing that? We could introduce additional > contexts or change the startup behavior so that the ones that are > frequently reset don't have any data in them unless you are working > with pass-by-ref values inside the inner loop. Bruce Momjian 2005-06-04 20:14:12 +00:00
  • e18e8f8735 Change expandRTE() and ResolveNew() back to taking just the single RTE of interest, rather than the whole rangetable list. This makes the API more understandable and avoids duplicate RTE lookups. This patch reverts no-longer-needed portions of my patch of 2004-08-19. Tom Lane 2005-06-04 19:19:42 +00:00
  • fb91a83e0e Back out make_mkid change. Bruce Momjian 2005-06-04 18:20:43 +00:00
  • 00750f3f30 Improve readability of config location params by adding newline. Bruce Momjian 2005-06-04 18:13:59 +00:00
  • 3360bc1351 Add: Bruce Momjian 2005-06-04 18:12:38 +00:00
  • 487990e1f1 Add description: > > O_DIRECT doesn't have the same media write guarantees as fsync, so it > is in addition to the fsync method, not in place of it. > Bruce Momjian 2005-06-04 16:53:48 +00:00
  • 1bc9235224 Fix NUMERIC modulus to properly truncate division in computation. Division rounding was causing incorrect results. Test case: Bruce Momjian 2005-06-04 14:12:50 +00:00
  • 272f23c814 Update Chinese FAQ to fix XHTML format. Bruce Momjian 2005-06-04 03:33:25 +00:00
  • a76606454c Update Chinese FAQ to fix XHTML format. Bruce Momjian 2005-06-04 03:28:57 +00:00
  • 5788cca558 Remove unused 'printCost' field from ExplainState, and simplify the code accordingly (this field was always initialized to true). Patch from Alvaro Herrera. Neil Conway 2005-06-04 02:07:09 +00:00
  • ba42002461 Revise handling of dropped columns in JOIN alias lists to avoid a performance problem pointed out by phil@vodafone: to wit, we were spending O(N^2) time to check dropped-ness in an N-deep join tree, even in the case where the tree was freshly constructed and couldn't possibly mention any dropped columns. Instead of recursing in get_rte_attribute_is_dropped(), change the data structure definition: the joinaliasvars list of a JOIN RTE must have a NULL Const instead of a Var at any position that references a now-dropped column. This costs nothing during normal parse-rewrite-plan path, and instead we have a linear-time update to make when loading a stored rule that might contain now-dropped columns. While at it, move the responsibility for acquring locks on relations referenced by rules into this separate function (which I therefore chose to call AcquireRewriteLocks). This saves effort --- namely, duplicated lock grabs in parser and rewriter --- in the normal path at a cost of one extra non-locked heap_open() in the stored-rule path; seems a good tradeoff. A fringe benefit is that it is now *much* clearer that we acquire lock on relations referenced in rules before we make any rewriter decisions based on their properties. (I don't know of any bug of that ilk, but it wasn't exactly clear before.) Tom Lane 2005-06-03 23:05:30 +00:00
  • 7e209f6ce3 Put back WAL TODO.detail entries. Bruce Momjian 2005-06-03 21:46:02 +00:00
  • bace84cca1 Remove because it is partly done and we might not want to go farther: < * -Compress WAL entries [wal] Bruce Momjian 2005-06-03 21:42:21 +00:00
  • 3531383224 Just noticed that you can't Query-Cancel a long planner run, because no part of the planner did CHECK_FOR_INTERRUPTS(). Add one in a suitably strategic spot. Tom Lane 2005-06-03 19:00:12 +00:00
  • 1d03f3f027 Update Russian FAQ. Bruce Momjian 2005-06-03 18:17:54 +00:00
  • 1bdec3424b Update Russian FAQ. Bruce Momjian 2005-06-03 18:17:07 +00:00
  • 97e455c9b9 Trim TODO.detail for wal completed items. Bruce Momjian 2005-06-03 17:14:17 +00:00
  • 2a61c090a9 Done: > * -Compress WAL entries [wal] Bruce Momjian 2005-06-03 16:38:02 +00:00
  • a14fb14f7f Done: > * -Change WAL to use 32-bit CRC, for performance reasons Bruce Momjian 2005-06-03 16:36:50 +00:00
  • cd48aa0e96 Push enable/disable of notify and catchup interrupts all the way down to just around the bare recv() call that gets a command from the client. The former placement in PostgresMain was unsafe because the intermediate processing layers (especially SSL) use facilities such as malloc that are not necessarily re-entrant. Per report from counterstorm.com. Tom Lane 2005-06-02 21:04:30 +00:00
  • b38bcb2fa0 Push enable/disable of notify and catchup interrupts all the way down to just around the bare recv() call that gets a command from the client. The former placement in PostgresMain was unsafe because the intermediate processing layers (especially SSL) use facilities such as malloc that are not necessarily re-entrant. Per report from counterstorm.com. Tom Lane 2005-06-02 21:04:08 +00:00
  • 543bb05a8b Push enable/disable of notify and catchup interrupts all the way down to just around the bare recv() call that gets a command from the client. The former placement in PostgresMain was unsafe because the intermediate processing layers (especially SSL) use facilities such as malloc that are not necessarily re-entrant. Per report from counterstorm.com. Tom Lane 2005-06-02 21:03:46 +00:00
  • b5ebef7c41 Push enable/disable of notify and catchup interrupts all the way down to just around the bare recv() call that gets a command from the client. The former placement in PostgresMain was unsafe because the intermediate processing layers (especially SSL) use facilities such as malloc that are not necessarily re-entrant. Per report from counterstorm.com. Tom Lane 2005-06-02 21:03:25 +00:00
  • 8dfb616606 The no-lexer-backup speedup hadn't been there a week before somebody broke it. Maybe we do need an automated check ... Tom Lane 2005-06-02 17:45:19 +00:00
  • e0632407aa Fixed memory leak in ecpglib by adding some missing free() commands. Michael Meskes 2005-06-02 12:50:30 +00:00
  • 53b4a1ce4b Added patch by Gavin Scott <gavin@planetacetech.com> for Intel 64bit hardware. [One half already was committed with the last commit.] Michael Meskes 2005-06-02 12:49:26 +00:00
  • d014a21624 Fixed memory leak in ecpglib by adding some missing free() commands. Michael Meskes 2005-06-02 12:37:25 +00:00
  • 2d5d691d15 - Fixed memory leak in ecpglib by adding some missing free() commands. - Added patch by Gavin Scott <gavin@planetacetech.com> for Intel 64bit hardware. Michael Meskes 2005-06-02 12:35:11 +00:00
  • 21fda22ec4 Change CRCs in WAL records from 64bit to 32bit for performance reasons. Instead of a separate CRC on each backup block, include backup blocks in their parent WAL record's CRC; this is important to ensure that the backup block really goes with the WAL record, ie there was not a page tear right at the start of the backup block. Implement a simple form of compression of backup blocks: drop any run of zeroes starting at pd_lower, so as not to store the unused 'hole' that commonly exists in PG heap and index pages. Tweak PageRepairFragmentation and related routines to ensure they keep the unused space zeroed, so that the above compression method remains effective. All per recent discussions. Tom Lane 2005-06-02 05:55:29 +00:00
  • c196c7ae8b Completed: < o Allow COPY to understand \x as a hex byte > o -Allow COPY to understand \x as a hex byte Bruce Momjian 2005-06-02 01:27:58 +00:00
  • b51366396b Add support for \x hex strings in psql variables. Bruce Momjian 2005-06-02 01:23:48 +00:00
  • 65537ac1b4 Add support for \x hex escapes in backend strings. Octal was already supported. This follows the C standard escapes. Bruce Momjian 2005-06-02 01:23:08 +00:00
  • 202e6e73e6 Add support for \x hex escapes in COPY. Bruce Momjian 2005-06-02 01:21:22 +00:00
  • 7b21f26ea7 Fix log_statement to properly recognize SELECT INTO and CREATE TABLE AS and DDL statements. Bruce Momjian 2005-06-01 23:27:12 +00:00
  • b6e5c4ad0a Fix log_statement to properly recognize SELECT INTO and CREATE TABLE AS and DDL statements. Bruce Momjian 2005-06-01 23:27:03 +00:00
  • 64f40008ec patternsel() was improperly stripping RelabelType from the derived expressions it constructed, causing scalarineqsel to become confused if the underlying variable was of a domain type. Per report from Kevin Grittner. Tom Lane 2005-06-01 17:05:25 +00:00
  • 1e85fa2008 patternsel() was improperly stripping RelabelType from the derived expressions it constructed, causing scalarineqsel to become confused if the underlying variable was of a domain type. Per report from Kevin Grittner. Tom Lane 2005-06-01 17:05:11 +00:00
  • 1891938e9c Prevent to divide by zero and range out of 0..1 Teodor Sigaev 2005-06-01 11:46:09 +00:00
  • babd4714f6 Prevent to divide by zero and range out of 0..1 Teodor Sigaev 2005-06-01 11:45:42 +00:00
  • 7148de1fa8 Prevent to divide by zero and range out of 0..1 Teodor Sigaev 2005-06-01 11:45:03 +00:00
  • e4ce3e76ce Add test to WAL replay to verify that xl_prev points back to the previous WAL record; this is necessary to be sure we recognize stale WAL records when a WAL page was only partially written during a system crash. Tom Lane 2005-05-31 19:11:28 +00:00
  • 2e1229671a Add test to WAL replay to verify that xl_prev points back to the previous WAL record; this is necessary to be sure we recognize stale WAL records when a WAL page was only partially written during a system crash. Tom Lane 2005-05-31 19:11:14 +00:00
  • 5205024b5a Add test to WAL replay to verify that xl_prev points back to the previous WAL record; this is necessary to be sure we recognize stale WAL records when a WAL page was only partially written during a system crash. Tom Lane 2005-05-31 19:10:57 +00:00
  • 3b3600148d Add test to WAL replay to verify that xl_prev points back to the previous WAL record; this is necessary to be sure we recognize stale WAL records when a WAL page was only partially written during a system crash. Tom Lane 2005-05-31 19:10:39 +00:00
  • a91fa39028 Add test to WAL replay to verify that xl_prev points back to the previous WAL record; this is necessary to be sure we recognize stale WAL records when a WAL page was only partially written during a system crash. Tom Lane 2005-05-31 19:10:28 +00:00
  • 5b3625f1b7 Tab cleanup for SGML. Bruce Momjian 2005-05-31 14:48:47 +00:00
  • 982888bddc Fix information_schema for OUT and INOUT parameters. Tom Lane 2005-05-31 03:36:24 +00:00
  • 6dfe64ee57 Teach ruleutils to drill down into RECORD-type Vars in the same way that the parser now can, so that it can reverse-list cases involving FieldSelect from a RECORD Var. Tom Lane 2005-05-31 03:03:59 +00:00
  • 83b72ee286 ParseComplexProjection should make use of expandRecordVariable so that it can handle cases like (foo.x).y where foo is a subquery and x is a function-returning-RECORD RTE in that subquery. Tom Lane 2005-05-31 01:03:23 +00:00
  • 12a323b7a8 Change relblocknumber field of pg_buffercache view from numeric to int8 for efficiency's sake. Mark Kirkwood. Tom Lane 2005-05-31 00:07:47 +00:00
  • 978129f28e Document get_call_result_type() and friends; mark TypeGetTupleDesc() and RelationNameGetTupleDesc() as deprecated; remove uses of the latter in the contrib library. Along the way, clean up crosstab() code and documentation a little. Tom Lane 2005-05-30 23:09:07 +00:00
  • b215fae891 Move to ALTER section: Bruce Momjian 2005-05-30 21:12:23 +00:00
  • 09439e212e Add: Bruce Momjian 2005-05-30 21:08:27 +00:00
  • 25146d3c29 Add support for NUMERIC ^ NUMERIC based on power(numeric, numeric). Bruce Momjian 2005-05-30 20:59:17 +00:00
  • a54c21a59c Wording improvement (may -> can) Bruce Momjian 2005-05-30 19:32:44 +00:00
  • ac25dbd84b Add support for FUNCTION RTEs to build_physical_tlist(), so that the physical-tlist optimization can be applied to FunctionScan nodes as well as regular tables and SubqueryScans. Tom Lane 2005-05-30 18:55:49 +00:00
  • 3e8dbc846c Support only octal for psql PROMPT values, rather than the confusing hex/decimal/octal. Documentation already updated. Bruce Momjian 2005-05-30 18:28:11 +00:00
  • 33294d57c7 Use {xqoctesc} lex macro now that \ddd is standard. Bruce Momjian 2005-05-30 16:48:47 +00:00
  • a2cce84349 Update psql docs for recent octal-only string behavior. Bruce Momjian 2005-05-30 15:24:23 +00:00
  • f13c132072 Have psql escape bytes in strings for variables follow the backend conventions of only allowing octal, like \045. Remove support for \decimal, \0octal, and \0xhex which matches the strtol() function but didn't make sense with backslashes. Bruce Momjian 2005-05-30 14:50:35 +00:00
  • 6616e23264 Add missing <P>. Bruce Momjian 2005-05-30 13:11:06 +00:00
  • adfeef55cb When enqueueing after-row triggers for updates of a table with a foreign key, compare the new and old row versions. If the foreign key column has not changed, we needn't enqueue the trigger, since the update cannot violate the foreign key. This optimization was previously applied in the RI trigger function, but it is more efficient to avoid firing the trigger altogether. Per recent discussion on pgsql-hackers. Neil Conway 2005-05-30 07:20:59 +00:00
  • f99b75b0a0 Create separate ON INSERT and ON UPDATE triggers on tables with foreign keys, rather than a single trigger for both events. This should not change functionality, but it is more consistent: previously, there were trigger functions for both "check_insert" and "check_update", but the former was used for both events. Neil Conway 2005-05-30 06:52:38 +00:00
  • 0832fb74df Fix longstanding oversight in ruleutils.c: it doesn't regurgitate a FOR UPDATE clause, if one is present. Tom Lane 2005-05-30 01:57:27 +00:00
  • cfd9be939e Change the UNKNOWN type to have an internal representation matching cstring, rather than text, so as to eliminate useless conversions inside the parser. Per recent discussion. Tom Lane 2005-05-30 01:20:50 +00:00
  • c8f81df41b Skip eval_const_expressions when the query is such that the expression would be evaluated only once anyway (ie, it's just a SELECT with no FROM or an INSERT ... VALUES). The planner can't do it any faster than the executor, so no point in an extra copying of the expression tree. Tom Lane 2005-05-30 01:04:44 +00:00