1. 03 Dec, 2010 5 commits
    • Robert Haas's avatar
      Remove now-outdated mention of quotes being required in recovery.conf. · 5ef6c913
      Robert Haas authored
      Noted by Itagaki Takahiro.
      5ef6c913
    • Robert Haas's avatar
      Use GUC lexer for recovery.conf parsing. · 970a1868
      Robert Haas authored
      This eliminates some crufty, special-purpose code and, as a non-trivial
      side benefit, allows recovery.conf parameters to be unquoted.
      
      Dimitri Fontaine, with review and cleanup by Alvaro Herrera, Itagaki
      Takahiro, and me.
      970a1868
    • Heikki Linnakangas's avatar
      Remove misleading comments. Move _Clone and _DeClone functions before · 9cea52a5
      Heikki Linnakangas authored
      the "END OF FORMAT CALLBACKS" comment, because they are format callbacks too.
      9cea52a5
    • Itagaki Takahiro's avatar
      Remove unnecessary string null-termination in pg_convert. · fd223c74
      Itagaki Takahiro authored
      We can directly verify the unterminated input with pg_verify_mbstr_len.
      fd223c74
    • Tom Lane's avatar
      Create core infrastructure for KNNGIST. · d583f10b
      Tom Lane authored
      This is a heavily revised version of builtin_knngist_core-0.9.  The
      ordering operators are no longer mixed in with actual quals, which would
      have confused not only humans but significant parts of the planner.
      Instead, ordering operators are carried separately throughout planning and
      execution.
      
      Since the API for ambeginscan and amrescan functions had to be changed
      anyway, this commit takes the opportunity to rationalize that a bit.
      RelationGetIndexScan no longer forces a premature index_rescan call;
      instead, callers of index_beginscan must call index_rescan too.  Aside from
      making the AM-side initialization logic a bit less peculiar, this has the
      advantage that we do not make a useless extra am_rescan call when there are
      runtime key values.  AMs formerly could not assume that the key values
      passed to amrescan were actually valid; now they can.
      
      Teodor Sigaev and Tom Lane
      d583f10b
  2. 02 Dec, 2010 5 commits
  3. 01 Dec, 2010 1 commit
    • Tom Lane's avatar
      Prevent inlining a SQL function with multiple OUT parameters. · 225f0aa3
      Tom Lane authored
      There were corner cases in which the planner would attempt to inline such
      a function, which would result in a failure at runtime due to loss of
      information about exactly what the result record type is.  Fix by disabling
      inlining when the function's recorded result type is RECORD.  There might
      be some sub-cases where inlining could still be allowed, but this is a
      simple and backpatchable fix, so leave refinements for another day.
      Per bug #5777 from Nate Carson.
      
      Back-patch to all supported branches.  8.1 happens to avoid a core-dump
      here, but it still does the wrong thing.
      225f0aa3
  4. 29 Nov, 2010 4 commits
    • Tom Lane's avatar
      Simplify and speed up mapping of index opfamilies to pathkeys. · c0b5fac7
      Tom Lane authored
      Formerly we looked up the operators associated with each index (caching
      them in relcache) and then the planner looked up the btree opfamily
      containing such operators in order to build the btree-centric pathkey
      representation that describes the index's sort order.  This is quite
      pointless for btree indexes: we might as well just use the index's opfamily
      information directly.  That saves syscache lookup cycles during planning,
      and furthermore allows us to eliminate the relcache's caching of operators
      altogether, which may help in reducing backend startup time.
      
      I added code to plancat.c to perform the same type of double lookup
      on-the-fly if it's ever faced with a non-btree amcanorder index AM.
      If such a thing actually becomes interesting for production, we should
      replace that logic with some more-direct method for identifying the
      corresponding btree opfamily; but it's not worth spending effort on now.
      
      There is considerably more to do pursuant to my recent proposal to get rid
      of sort-operator-based representations of sort orderings, but this patch
      grabs some of the low-hanging fruit.  I'll look at the remainder of that
      work after the current commitfest.
      c0b5fac7
    • Heikki Linnakangas's avatar
      3c42efce
    • Robert Haas's avatar
      Fix typo. · fab7fdb9
      Robert Haas authored
      Fujii Masao
      fab7fdb9
    • Simon Riggs's avatar
      Move call to GetTopTransactionId() earlier in LockAcquire(), · ed78384a
      Simon Riggs authored
      removing an infrequently occurring race condition in Hot Standby.
      An xid must be assigned before a lock appears in shared memory,
      rather than immediately after, else GetRunningTransactionLocks()
      may see InvalidTransactionId, causing assertion failures during
      lock processing on standby.
      
      Bug report and diagnosis by Fujii Masao, fix by me.
      ed78384a
  5. 27 Nov, 2010 7 commits
  6. 26 Nov, 2010 11 commits
  7. 25 Nov, 2010 7 commits