1. 28 Dec, 2005 1 commit
    • Tom Lane's avatar
      Implement SQL-compliant treatment of row comparisons for < <= > >= cases · 6e077097
      Tom Lane authored
      (previously we only did = and <> correctly).  Also, allow row comparisons
      with any operators that are in btree opclasses, not only those with these
      specific names.  This gets rid of a whole lot of indefensible assumptions
      about the behavior of particular operators based on their names ... though
      it's still true that IN and NOT IN expand to "= ANY".  The patch adds a
      RowCompareExpr expression node type, and makes some changes in the
      representation of ANY/ALL/ROWCOMPARE SubLinks so that they can share code
      with RowCompareExpr.
      
      I have not yet done anything about making RowCompareExpr an indexable
      operator, but will look at that soon.
      
      initdb forced due to changes in stored rules.
      6e077097
  2. 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
  3. 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
  4. 25 Dec, 2005 2 commits
  5. 24 Dec, 2005 8 commits
  6. 23 Dec, 2005 7 commits
  7. 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
  8. 21 Dec, 2005 3 commits
  9. 20 Dec, 2005 2 commits
  10. 18 Dec, 2005 1 commit
  11. 17 Dec, 2005 6 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