1. 13 Feb, 2007 3 commits
  2. 12 Feb, 2007 2 commits
  3. 11 Feb, 2007 4 commits
  4. 10 Feb, 2007 6 commits
  5. 09 Feb, 2007 16 commits
    • Neil Conway's avatar
      Unbreak the SGML doc build: ":=" is needed to assign to variables if · fc7de7c2
      Neil Conway authored
      the RHS of the assignment expands to a reference to the LHS.
      fc7de7c2
    • Tom Lane's avatar
      Minor tweak to make rowtypes regression test run faster. We don't · 6be40def
      Tom Lane authored
      currently have any better strategy for this query than re-running the
      sub-select over and over; it seems unlikely that doing so 10000 times
      is a more useful test than doing it a few dozen times.
      6be40def
    • Peter Eisentraut's avatar
      Remove useless CPPFLAGS. · 6e1664be
      Peter Eisentraut authored
      6e1664be
    • Peter Eisentraut's avatar
      994b1cb5
    • Tom Lane's avatar
      Call pgstat_drop_database during DROP DATABASE, so that any stats file · f4427117
      Tom Lane authored
      entries for the victim database go away sooner rather than later.  We already
      did the equivalent thing at the per-relation level, not sure why it's not
      been done for whole databases.  With this change, pgstat_vacuum_tabstat
      should usually not find anything to do; though we still need it as a backstop
      in case DROPDB or TABPURGE messages get lost under load.
      f4427117
    • Peter Eisentraut's avatar
      c138b966
    • Bruce Momjian's avatar
      Remove blank lines in code. · d7fee591
      Bruce Momjian authored
      d7fee591
    • Bruce Momjian's avatar
      bc6fb543
    • Bruce Momjian's avatar
      Add blank line. · 1ad2f04b
      Bruce Momjian authored
      1ad2f04b
    • Bruce Momjian's avatar
    • Bruce Momjian's avatar
      Done! · 19d561cb
      Bruce Momjian authored
      < * Merge xmin/xmax/cmin/cmax back into three header fields
      <
      <   Before subtransactions, there used to be only three fields needed to
      <   store these four values. This was possible because only the current
      <   transaction looks at the cmin/cmax values. If the current transaction
      <   created and expired the row the fields stored where xmin (same as
      <   xmax), cmin, cmax, and if the transaction was expiring a row from a
      <   another transaction, the fields stored were xmin (cmin was not
      <   needed), xmax, and cmax. Such a system worked because a transaction
      <   could only see rows from another completed transaction. However,
      <   subtransactions can see rows from outer transactions, and once the
      <   subtransaction completes, the outer transaction continues, requiring
      <   the storage of all four fields. With subtransactions, an outer
      <   transaction can create a row, a subtransaction expire it, and when the
      <   subtransaction completes, the outer transaction still has to have
      <   proper visibility of the row's cmin, for example, for cursors.
      <
      <   One possible solution is to create a phantom cid which represents a
      <   cmin/cmax pair and is stored in local memory.  Another idea is to
      <   store both cmin and cmax only in local memory.
      <
      > * -Merge xmin/xmax/cmin/cmax back into three header fields
      19d561cb
    • Tom Lane's avatar
      Combine cmin and cmax fields of HeapTupleHeaders into a single field, by · c3983003
      Tom Lane authored
      keeping private state in each backend that has inserted and deleted the same
      tuple during its current top-level transaction.  This is sufficient since
      there is no need to be able to determine the cmin/cmax from any other
      transaction.  This gets us back down to 23-byte headers, removing a penalty
      paid in 8.0 to support subtransactions.  Patch by Heikki Linnakangas, with
      minor revisions by moi, following a design hashed out awhile back on the
      pghackers list.
      c3983003
    • Bruce Momjian's avatar
      Remove blank line from C code. · acb34166
      Bruce Momjian authored
      acb34166
    • Bruce Momjian's avatar
      Update: · aba039df
      Bruce Momjian authored
      < * Consider placing all sequences in a single table
      > * Consider placing all sequences in a single table, or create a system
      >   view
      aba039df
    • Bruce Momjian's avatar
      Update: · 5bdf44c6
      Bruce Momjian authored
      < * Consider placing all sequences in a single table, now that system
      <   tables are full transactional
      > * Consider placing all sequences in a single table
      5bdf44c6
    • Bruce Momjian's avatar
      Add: · 18d36f9e
      Bruce Momjian authored
      > * Consider placing all sequences in a single table, now that system
      >   tables are full transactional
      18d36f9e
  6. 08 Feb, 2007 9 commits
    • Bruce Momjian's avatar
      Add URL for: · 2737f304
      Bruce Momjian authored
      * Add support for SQL-standard GENERATED/IDENTITY columns
      >   http://archives.postgresql.org/pgsql-hackers/2006-08/msg00038.php
      2737f304
    • Tom Lane's avatar
      Add missing #define for mingw, per Magnus. · 4a30da1e
      Tom Lane authored
      4a30da1e
    • Tom Lane's avatar
      Fix an ancient logic error in plpgsql's exec_stmt_block: it thought it could · fe796ea8
      Tom Lane authored
      get away with not (re)initializing a local variable if the variable is marked
      "isconst" and not "isnull".  Unfortunately it makes this decision after having
      already freed the old value, meaning that something like
      
         for i in 1..10 loop
           declare c constant text := 'hi there';
      
      leads to subsequent accesses to freed memory, and hence probably crashes.
      (In particular, this is why Asif Ali Rehman's bug leads to crash and not
      just an unexpectedly-NULL value for SQLERRM: SQLERRM is marked CONSTANT
      and so triggers this error.)
      
      The whole thing seems wrong on its face anyway: CONSTANT means that you can't
      change the variable inside the block, not that the initializer expression is
      guaranteed not to change value across successive block entries.  Hence,
      remove the "optimization" instead of trying to fix it.
      fe796ea8
    • Tom Lane's avatar
      Rearrange use of plpgsql_add_initdatums() so that only the parsing of a · 7ad33ceb
      Tom Lane authored
      DECLARE section needs to know about it.  Formerly, everyplace besides DECLARE
      that created variables needed to do "plpgsql_add_initdatums(NULL)" to prevent
      those variables from being sucked up as part of a subsequent DECLARE block.
      This is obviously error-prone, and in fact the SQLSTATE/SQLERRM patch had
      failed to do it for those two variables, leading to the bug recently exhibited
      by Asif Ali Rehman: a DECLARE within an exception handler tried to reinitialize
      SQLERRM.
      
      Although the SQLSTATE/SQLERRM patch isn't in any pre-8.1 branches, and so
      I can't point to a demonstrable failure there, it seems wise to back-patch
      this into the older branches anyway, just to keep the logic similar to HEAD.
      7ad33ceb
    • Bruce Momjian's avatar
      Fix bug when localized to_char() day or month names were incorectly · b577aa9e
      Bruce Momjian authored
      trnasformed to lower or upper string.
      
      Pavel Stehule
      b577aa9e
    • Bruce Momjian's avatar
      This patch fixes shared_preload_libraries on Windows hosts. It forces · a37b006d
      Bruce Momjian authored
      ach backend to re-load all shared_preload_libraries.
      
      Korry Douglas
      a37b006d
    • Bruce Momjian's avatar
      Add lock matrix to documentation. · eea3749d
      Bruce Momjian authored
      Teodor Sigaev
      eea3749d
    • Bruce Momjian's avatar
      Win32 regression test fixes: · 6fea31b6
      Bruce Momjian authored
      For win32 in general, this makes it possible to run the regression tests
      as an admin user by using the same restricted token method that's used
      by pg_ctl and initdb.
      
      For vc++, it adds building of pg_regress.exe, adds a resultmap, and
      fixes how it runs the install.
      
      Magnus Hagander
      6fea31b6
    • Bruce Momjian's avatar
      Add /contrib/pg_standby: · 51be14e9
      Bruce Momjian authored
        pg_standby is a production-ready program that can be used to
        create a Warm Standby server. Other configuration is required
        as well, all of which is described in the main server manual.
      
      Simon Riggs
      51be14e9