1. 08 Apr, 2009 1 commit
  2. 07 Apr, 2009 11 commits
  3. 06 Apr, 2009 12 commits
  4. 05 Apr, 2009 7 commits
    • Tom Lane's avatar
      Change cardinality() into a C-code function, instead of a SQL-language · f2110a75
      Tom Lane authored
      alias for array_length(v,1).  The efficiency gain here is doubtless
      negligible --- what I'm interested in is making sure that if we have
      second thoughts about the definition, we will not have to force a
      post-beta initdb to change the implementation.
      f2110a75
    • Tom Lane's avatar
      Make ExecInitExpr build the list of SubPlans found in a plan tree in order · eb4c723e
      Tom Lane authored
      of discovery, rather than reverse order.  This doesn't matter functionally
      (I suppose the previous coding dates from the time when lcons was markedly
      cheaper than lappend).  However now that EXPLAIN is labeling subplans with
      IDs that are based on order of creation, this may help produce a slightly
      less surprising printout.
      eb4c723e
    • Tom Lane's avatar
      Change EXPLAIN output so that subplans and initplans (particularly CTEs) · fbcce080
      Tom Lane authored
      are individually labeled, rather than just grouped under an "InitPlan"
      or "SubPlan" heading.  This in turn makes it possible for decompilation of
      a subplan reference to usefully identify which subplan it's referencing.
      I also made InitPlans identify which parameter symbol(s) they compute,
      so that references to those parameters elsewhere in the plan tree can
      be connected to the initplan that will be executed.  Per a gripe from
      Robert Haas about EXPLAIN output of a WITH query being inadequate,
      plus some longstanding pet peeves of my own.
      fbcce080
    • Teodor Sigaev's avatar
      Fix infinite loop while checking of partial match in pending list. · 329a5322
      Teodor Sigaev authored
      Improve comments. Now GIN-indexable operators should be strict.
      Per Tom's questions/suggestions.
      329a5322
    • Tom Lane's avatar
      Remove a boatload of useless definitions of 'int optreset'. If we · 27fbfd39
      Tom Lane authored
      are using our own ports of getopt or getopt_long, those will define
      the variable for themselves; and if not, we don't need these, because
      we never touch the variable anyway.
      27fbfd39
    • Tom Lane's avatar
      I had always wondered why pg_config.h.win32 claimed that Windows · 2227e2f1
      Tom Lane authored
      provides optreset.  Current mastodon results prove that in fact it
      does not; it was only because getopt.c defined the variable anyway
      that things failed to fall over.
      2227e2f1
    • Tom Lane's avatar
      Remove contrib/intarray's definitions of the <@ and @> operators, so that they · 65e758a4
      Tom Lane authored
      don't cause confusion with the built-in anyarray versions of those operators.
      Adjust the module's index opclasses to support the built-in operators in place
      of the private ones.
      
      The private implementations are still available under their historical
      names @ and ~, so no functionality is lost.  Some quick testing suggests
      that they offer no real benefit over the core operators, however.
      
      Per a complaint from Rusty Conover.
      65e758a4
  5. 04 Apr, 2009 9 commits
    • Tom Lane's avatar
      eb3a10b0
    • Tom Lane's avatar
      Make an attempt at fixing our current Solaris 11 breakage: add a configure · 1d26226d
      Tom Lane authored
      probe for opterr (exactly like the one for optreset) and have getopt.c
      define the variables only if configure doesn't find them in libc.
      1d26226d
    • Tom Lane's avatar
      Remove the recently added node types ReloptElem and OptionDefElem in favor · 090173a3
      Tom Lane authored
      of adding optional namespace and action fields to DefElem.  Having three
      node types that do essentially the same thing bloats the code and leads
      to errors of confusion, such as in yesterday's bug report from Khee Chin.
      090173a3
    • Tom Lane's avatar
      A session that does not have any live snapshots does not have to be waited for · c973051a
      Tom Lane authored
      when we are waiting for old snapshots to go away during a concurrent index
      build.  In particular, this rule lets us avoid waiting for
      idle-in-transaction sessions.
      
      This logic could be improved further if we had some way to wake up when
      the session we are currently waiting for goes idle-in-transaction.  However
      that would be a significantly more complex/invasive patch, so it'll have to
      wait for some other day.
      
      Simon Riggs, with some improvements by Tom.
      c973051a
    • Tom Lane's avatar
      Rewrite interval_hash() so that the hashcodes are equal for values that · 1c2d408c
      Tom Lane authored
      interval_eq() considers equal.  I'm not sure how that fundamental requirement
      escaped us through multiple revisions of this hash function, but there it is;
      it's been wrong since interval_hash was first written for PG 7.1.
      Per bug #4748 from Roman Kononov.
      
      Backpatch to all supported releases.
      
      This patch changes the contents of hash indexes for interval columns.  That's
      no particular problem for PG 8.4, since we've broken on-disk compatibility
      of hash indexes already; but it will require a migration warning note in
      the next minor releases of all existing branches: "if you have any hash
      indexes on columns of type interval, REINDEX them after updating".
      1c2d408c
    • Alvaro Herrera's avatar
      Disallow setting fillfactor for TOAST tables. · 1c855f01
      Alvaro Herrera authored
      To implement this without almost duplicating the reloption table, treat
      relopt_kind as a bitmask instead of an integer value.  This decreases the
      range of allowed values, but it's not clear that there's need for that much
      values anyway.
      
      This patch also makes heap_reloptions explicitly a no-op for relation kinds
      other than heap and TOAST tables.
      
      Patch by ITAGAKI Takahiro with minor edits from me.  (In particular I removed
      the bit about adding relation kind to an error message, which I intend to
      commit separately.)
      1c855f01
    • Tom Lane's avatar
      Improve obsolete comment. · 591f2944
      Tom Lane authored
      591f2944
    • Tom Lane's avatar
      Make \dt \di and friends more consistent about the treatment of · 81fc5df8
      Tom Lane authored
      TOAST tables and indexes; to wit, never show either.  (You can
      examine them with plain \d if you're really so inclined.)
      81fc5df8
    • Tom Lane's avatar
      dbca713c