1. 27 Dec, 2005 3 commits
    • Andrew Dunstan's avatar
      · a37422e0
      Andrew Dunstan authored
      Increase amount of shared buffers initdb tries to allocate to 4000,
      and add logic to try max_fsm_pages up to 200000, plus accompanying minor
      docs changes.
      a37422e0
    • Bruce Momjian's avatar
      Our code had: · a598385f
      Bruce Momjian authored
                      if (c == '\\' && cstate->line_buf.len == 0)
      
      The problem with that is the because of the input and _output_
      buffering, cstate->line_buf.len could be zero even if we are not on the
      first character of a line.  In fact, for a typical line, it is zero for
      all characters on the line.  The proper solution is to introduce a
      boolean, first_char_in_line, that we set as we enter the loop and clear
      once we process a character.
      
      I have restructured the line-reading code in copy.c by:
      
              o  merging the CSV/non-CSV functions into a single function
              o  used macros to centralize and clarify the buffering code
              o  updated comments
              o  renamed client_encoding_only to encoding_embeds_ascii
              o  added a high-bit test to the encoding_embeds_ascii test for
                 performance
              o  in CSV mode, allow a backslash followed by a non-period to
                 continue being processed as a data value
      
      There should be no performance impact from this patch because it is
      functionally equivalent.  If you apply the patch you will see copy.c is
      much clearer in this area now and might suggest additional
      optimizations.
      
      I have also attached a 8.1-only patch to fix the CSV \. handling bug
      with no code restructuring.
      a598385f
    • Bruce Momjian's avatar
  2. 26 Dec, 2005 4 commits
    • Bruce Momjian's avatar
      More uses of IS_HIGHBIT_SET() macro. · a2384d00
      Bruce Momjian authored
      a2384d00
    • Peter Eisentraut's avatar
    • Bruce Momjian's avatar
      Add: · 5c9a46f6
      Bruce Momjian authored
      * %Make row-wise comparisons work per SQL spec
      
        Right now, '(a, b) < (1, 2)' is processed as 'a < 1 and b < 2', but
        the SQL standard requires it to be processed as a column-by-column
        comparison, so the proper comparison is '(a < 1) OR (a = 1 AND b < 2)'.
      5c9a46f6
    • Neil Conway's avatar
      Various cosmetic code cleanup for PL/Python: · 97e1535f
      Neil Conway authored
      - use "bool" rather than "int" for boolean variables
      
      - use "PLy_malloc" rather than "malloc" in two places
      
      - define "PLy_strdup", and use it rather than malloc() + strcpy() in
        two places (which should have been memcpy(), anyway).
      
      - remove a bunch of redundant parentheses from expressions that do not
        need the parentheses for code clarity
      97e1535f
  3. 25 Dec, 2005 2 commits
  4. 24 Dec, 2005 8 commits
  5. 23 Dec, 2005 7 commits
  6. 22 Dec, 2005 3 commits
    • Bruce Momjian's avatar
      Update item: · 2f1a78e2
      Bruce Momjian authored
      >
      >   A more complex solution would be to save multiple plans for different
      >   cardinality and use the appropriate plan based on the EXECUTE values.
      >
      2f1a78e2
    • Tom Lane's avatar
      Adjust string comparison so that only bitwise-equal strings are considered · 656beff5
      Tom Lane authored
      equal: if strcoll claims two strings are equal, check it with strcmp, and
      sort according to strcmp if not identical.  This fixes inconsistent
      behavior under glibc's hu_HU locale, and probably under some other locales
      as well.  Also, take advantage of the now-well-defined behavior to speed up
      texteq, textne, bpchareq, bpcharne: they may as well just do a bitwise
      comparison and not bother with strcoll at all.
      
      NOTE: affected databases may need to REINDEX indexes on text columns to be
      sure they are self-consistent.
      656beff5
    • Bruce Momjian's avatar
  7. 21 Dec, 2005 3 commits
  8. 20 Dec, 2005 2 commits
  9. 18 Dec, 2005 1 commit
  10. 17 Dec, 2005 7 commits
    • Bruce Momjian's avatar
      Fix typo. · ea771743
      Bruce Momjian authored
      ea771743
    • Bruce Momjian's avatar
      Update s_lock.c comments. · 8d26730a
      Bruce Momjian authored
      8d26730a
    • Bruce Momjian's avatar
      Update ASM comments. · 70cab220
      Bruce Momjian authored
      70cab220
    • Bruce Momjian's avatar
      Remove item: · 25af534e
      Bruce Momjian authored
      < * Allow star join optimizations
      <
      <   While our bitmap scan allows multiple indexes to be joined to get
      <   to heap rows, a star joins allows multiple dimension _tables_ to
      <   be joined to index into a larger main fact table.  The join is
      <   usually performed by either creating a cartesian product of all
      <   the dimmension tables and doing a single join on that product or
      <   using subselects to create bitmaps of each dimmension table match
      <   and merge the bitmaps to perform the join on the fact table.  Some
      <   of these algorithms might be patented.
      25af534e
    • Bruce Momjian's avatar
      Update: · 3282b633
      Bruce Momjian authored
      < * Flush cached query plans when the dependent objects change or
      <   when the cardinality of parameters changes dramatically
      > * Flush cached query plans when the dependent objects change,
      >   when the cardinality of parameters changes dramatically, or
      >   when new ANALYZE statistics are available
      3282b633
    • Bruce Momjian's avatar
      Add mention of possible patent problems with star joins, per Joshua · 16843ba3
      Bruce Momjian authored
      Drake:
      
      <   and merge the bitmaps to perform the join on the fact table.
      >   and merge the bitmaps to perform the join on the fact table.  Some
      >   of these algorithms might be patented.
      16843ba3
    • Bruce Momjian's avatar
      Add: · 9e9a844f
      Bruce Momjian authored
      * Allow star join optimizations
      
        While our bitmap scan allows multiple indexes to be joined to get
        to heap rows, a star joins allows multiple dimension _tables_ to
        be joined to index into a larger main fact table.  The join is
        usually performed by either creating a cartesian product of all
        the dimmension tables and doing a single join on that product or
        using subselects to create bitmaps of each dimmension table match
        and merge the bitmaps to perform the join on the fact table.
      9e9a844f