1. 03 Sep, 2010 2 commits
    • Tom Lane's avatar
      Install a data-type-based solution for protecting pg_get_expr(). · 303696c3
      Tom Lane authored
      Since the code underlying pg_get_expr() is not secure against malformed
      input, and can't practically be made so, we need to prevent miscreants
      from feeding arbitrary data to it.  We can do this securely by declaring
      pg_get_expr() to take a new datatype "pg_node_tree" and declaring the
      system catalog columns that hold nodeToString output to be of that type.
      There is no way at SQL level to create a non-null value of type pg_node_tree.
      Since the backend-internal operations that fill those catalog columns
      operate below the SQL level, they are oblivious to the datatype relabeling
      and don't need any changes.
      303696c3
    • Tom Lane's avatar
      In HEAD only, revert kluge solution for preventing misuse of pg_get_expr(). · 8ab6a6b4
      Tom Lane authored
      A data-type-based solution, which is much cleaner and more bulletproof,
      will follow shortly.  It seemed best to make this a separate commit though.
      8ab6a6b4
  2. 02 Sep, 2010 5 commits
    • Tom Lane's avatar
      9.1alpha1 release notes. · c89a1198
      Tom Lane authored
      c89a1198
    • Tom Lane's avatar
      Clean up description of ecpg's dtcvfmtasc function. · 9b3c19d8
      Tom Lane authored
      Per KOIZUMI Satoru.
      9b3c19d8
    • Tom Lane's avatar
      Clean up some bad grammar and punctuation in description of ecpg's decimal · f3b330ec
      Tom Lane authored
      type.  Per KOIZUMI Satoru.
      f3b330ec
    • Tom Lane's avatar
      Fix up flushing of composite-type typcache entries to be driven directly by · 9513918c
      Tom Lane authored
      SI invalidation events, rather than indirectly through the relcache.
      
      In the previous coding, we had to flush a composite-type typcache entry
      whenever we discarded the corresponding relcache entry.  This caused problems
      at least when testing with RELCACHE_FORCE_RELEASE, as shown in recent report
      from Jeff Davis, and might result in real-world problems given the kind of
      unexpected relcache flush that that test mechanism is intended to model.
      
      The new coding decouples relcache and typcache management, which is a good
      thing anyway from a structural perspective.  The cost is that we have to
      search the typcache linearly to find entries that need to be flushed.  There
      are a couple of ways we could avoid that, but at the moment it's not clear
      it's worth any extra trouble, because the typcache contains very few entries
      in typical operation.
      
      Back-patch to 8.2, the same as some other recent fixes in this general area.
      The patch could be carried back to 8.0 with some additional work, but given
      that it's only hypothetical whether we're fixing any problem observable in
      the field, it doesn't seem worth the work now.
      9513918c
    • Robert Haas's avatar
      Fix typo. Pointed out by Kevin Grittner. · f3c903f8
      Robert Haas authored
      f3c903f8
  3. 01 Sep, 2010 2 commits
  4. 31 Aug, 2010 1 commit
  5. 30 Aug, 2010 6 commits
  6. 29 Aug, 2010 2 commits
    • Tom Lane's avatar
      Reduce PANIC to ERROR in some occasionally-reported btree failure cases. · 8fa30f90
      Tom Lane authored
      This patch changes _bt_split() and _bt_pagedel() to throw a plain ERROR,
      rather than PANIC, for several cases that are reported from the field
      from time to time:
      * right sibling's left-link doesn't match;
      * PageAddItem failure during _bt_split();
      * parent page's next child isn't right sibling during _bt_pagedel().
      In addition the error messages for these cases have been made a bit
      more verbose, with additional values included.
      
      The original motivation for PANIC here was to capture core dumps for
      subsequent analysis.  But with so many users whose platforms don't capture
      core dumps by default, or who are unprepared to analyze them anyway, it's hard
      to justify a forced database restart when we can fairly easily detect the
      problems before we've reached the critical sections where PANIC would be
      necessary.  It is not currently known whether the reports of these messages
      indicate well-hidden bugs in Postgres, or are a result of storage-level
      malfeasance; the latter possibility suggests that we ought to try to be more
      robust even if there is a bug here that's ultimately found.
      
      Backpatch to 8.2.  The code before that is sufficiently different that
      it doesn't seem worth the trouble to back-port further.
      8fa30f90
    • Tom Lane's avatar
      Remove obsolete remark that PQprepare() is more flexible than PREPARE. · a9a999bc
      Tom Lane authored
      Spotted by Dmitriy Igrishin.  Back-patch to 8.2, which is when the PREPARE
      statement was improved to allow parameter types to be omitted.
      a9a999bc
  7. 27 Aug, 2010 3 commits
  8. 26 Aug, 2010 7 commits
  9. 25 Aug, 2010 9 commits
  10. 24 Aug, 2010 3 commits