1. 17 Jan, 2006 1 commit
    • Tom Lane's avatar
      Improve comments about btree's use of ScanKey data structures: there · 73e35660
      Tom Lane authored
      are two basically different kinds of scankeys, and we ought to try harder
      to indicate which is used in each place in the code.  I've chosen the names
      "search scankey" and "insertion scankey", though you could make about
      as good an argument for "operator scankey" and "comparison function
      scankey".
      73e35660
  2. 16 Jan, 2006 4 commits
  3. 15 Jan, 2006 3 commits
  4. 14 Jan, 2006 3 commits
  5. 13 Jan, 2006 3 commits
    • Tom Lane's avatar
      Remove logic in XactLockTableWait() that attempted to mark a crashed · 39fc1fb0
      Tom Lane authored
      transaction as aborted.  Since we only call XactLockTableWait on XIDs
      that we believe to be currently running, the odds of this code ever
      actually firing are minimal.  It's certainly unnecessary, since a
      transaction that's not either running or committed will be presumed
      aborted anyway.  What's more, it's not hard to imagine scenarios where
      this could result in corrupting pg_clog: for instance, if a bogus XID
      somehow got passed to XactLockTableWait.  I think the code probably
      dates from the ancient era when we didn't have TransactionIdIsInProgress;
      back then it may have been necessary, but now I think it's a waste of
      cycles and potentially dangerous.  Per discussion with Qingqing Zhou
      and Karsten Hilbert.
      39fc1fb0
    • Tom Lane's avatar
      Document that CREATE OPERATOR CLASS amounts to granting public execute · 7d6d02b6
      Tom Lane authored
      permissions on the functions and operators contained in the opclass.
      Since we already require superuser privilege to create an operator class,
      there's no expansion-of-privilege hazard here, but if someone were to get
      the idea of building an opclass containing functions that need security
      restrictions, we'd better warn them off.  Also, change the permission
      checks from have-execute-privilege to have-ownership, and then comment
      them all out since they're dead code anyway under the superuser restriction.
      7d6d02b6
    • Tom Lane's avatar
      Require the issuer of CREATE TYPE to own the functions mentioned in the · 1564e92c
      Tom Lane authored
      type definition.  Because use of a type's I/O conversion functions isn't
      access-checked, CREATE TYPE amounts to granting public execute permissions
      on the functions, and so allowing it to anybody means that someone could
      theoretically gain access to a function he's not supposed to be able to
      execute.  The parameter-type restrictions already enforced by CREATE TYPE
      make it fairly unlikely that this oversight is meaningful in practice,
      but still it seems like a good idea to plug the hole going forward.
      Also, document the implicit grant just in case anybody gets the idea of
      building I/O functions that might need security restrictions.
      1564e92c
  6. 12 Jan, 2006 6 commits
  7. 11 Jan, 2006 7 commits
  8. 10 Jan, 2006 5 commits
  9. 09 Jan, 2006 4 commits
  10. 08 Jan, 2006 4 commits