1. 20 Jun, 2005 3 commits
  2. 19 Jun, 2005 8 commits
  3. 18 Jun, 2005 6 commits
  4. 17 Jun, 2005 6 commits
  5. 16 Jun, 2005 3 commits
  6. 15 Jun, 2005 13 commits
    • Bruce Momjian's avatar
    • Bruce Momjian's avatar
      Improve comment wording. · 07b80eb3
      Bruce Momjian authored
      07b80eb3
    • Tom Lane's avatar
      Improve hash method for bitmapsets: some examination of actual outputs · e5a11a88
      Tom Lane authored
      shows that adding a circular shift between words greatly improves the
      distribution of hash outputs.
      e5a11a88
    • Bruce Momjian's avatar
      Fix display of database name during autovacuum. · 1f01d59e
      Bruce Momjian authored
       Cosimo Streppone
      1f01d59e
    • Bruce Momjian's avatar
      2becf484
    • Neil Conway's avatar
      Change the implementation of hash join to attempt to avoid unnecessary · c119c5bd
      Neil Conway authored
      work if either of the join relations are empty. The logic is:
      
      (1) if the inner relation's startup cost is less than the outer
          relation's startup cost and this is not an outer join, read
          a single tuple from the inner relation via ExecHash()
            - if NULL, we're done
      
      (2) read a single tuple from the outer relation
            - if NULL, we're done
      
      (3) build the hash table on the inner relation
            - if hash table is empty and this is not an outer join,
              we're done
      
      (4) otherwise, do hash join as usual
      
      The implementation uses the new MultiExecProcNode API, per a
      suggestion from Tom: invoking ExecHash() now produces the first
      tuple from the Hash node's child node, whereas MultiExecHash()
      builds the hash table.
      
      I had to put in a bit of a kludge to get the row count returned
      for EXPLAIN ANALYZE to be correct: since ExecHash() is invoked to
      return a tuple, and then MultiExecHash() is invoked, we would
      return one too many tuples to EXPLAIN ANALYZE. I hacked around
      this by just manually detecting this situation and subtracting 1
      from the EXPLAIN ANALYZE row count.
      c119c5bd
    • Neil Conway's avatar
      Minor SGML markup cleanup. · 4aaff553
      Neil Conway authored
      4aaff553
    • Bruce Momjian's avatar
      Remove old *.backup files when we do pg_stop_backup(). This · f4d907ca
      Bruce Momjian authored
      prevents a large number of *.backup files from existing in pg_xlog/
      f4d907ca
    • Bruce Momjian's avatar
      Mention we now support BETWEEN SYMMETRIC. · 713507b0
      Bruce Momjian authored
      Christopher Kings-Lynne
      713507b0
    • Bruce Momjian's avatar
      > Here's a patch I added against plperl, originally against beta5, now · d0925244
      Bruce Momjian authored
      > against rc1. It simply checks with GetDatabaseEncoding() if the current
      > database is in UTF-8, and if so, sets the UTF-8 flag on the arguments
      > that are passed to perl. This means that it isn't necessary to
      > utf8::upgrade() every string, as perl has no way of knowing offhand
      > that a string is UTF-8 -- but postgres does, because the database
      > encoding is specified, so it makes sense to turn the flag on. You
      > should also be able to properly manipulate UTF-8 strings now from
      > plperl as opposed to plperlu, because otherwise you'd have to use
      > encoding 'utf8' which was not allowed. It could also eliminate some
      > unexpected bugs if you assume that perl knows the string is unicode.
      It
      > is enabled only for perl 5.6 and higher, so earlier versions will not
      > be affected.
      >
      > I have been assured by crab that the patch is quite harmless and will
      > not break anything. It would be great to see it in 8 final! :-)
      
      David Kamholz
      d0925244
    • Bruce Momjian's avatar
      This patch makes it possible to use the full set of timezones when doing · 0851a6fb
      Bruce Momjian authored
      "AT TIME ZONE", and not just the shorlist previously available. For
      example:
      
      SELECT CURRENT_TIMESTAMP AT TIME ZONE 'Europe/London';
      
      works fine now. It will also obey whatever DST rules were in effect at
      just that date, which the previous implementation did not.
      
      It also supports the AT TIME ZONE on the timetz datatype. The whole
      handling of DST is a bit bogus there, so I chose to make it use whatever
      DST rules are in effect at the time of executig the query. not sure if
      anybody is actuallyi *using* timetz though, it seems pretty
      unpredictable just because of this...
      
      Magnus Hagander
      0851a6fb
    • Bruce Momjian's avatar
      Support 3 and 4-byte unicode characters. · 59559458
      Bruce Momjian authored
      John Hansen
      59559458
    • Bruce Momjian's avatar
      >> Do you agree that using a hashtable for it in general is a good idea · f4c4f1ce
      Bruce Momjian authored
      >> assuming this sideeffect is removed, though?
      >
      >I have no problem with the hashtable, only with preloading it with
      >everything.  What I'd like to see is that the table inherited at fork()
      >contains just the data for the default timezone.  (At least in the
      >normal case where that setting hasn't been changed since postmaster
      >start.)
      
      Here's a patch doing this. Changes score_timezone not to use pg_tzset(),
      and thus not loading all the zones in the cache. The actual timezone
      being picked will be set using set_global_timezone() which in turn calls
      pg_tzset() and loads it in the cache.
      
      Magnus Hagander
      f4c4f1ce
  7. 14 Jun, 2005 1 commit
    • Bruce Momjian's avatar
      Now \d show tablespace of indices per discussion. · b4132fd0
      Bruce Momjian authored
      test=# \d e
             Table "public.e"
       Column |  Type   | Modifiers
      --------+---------+-----------
       i      | integer | not null
       j      | integer | not null
       k      | integer |
      Indexes:
          "e_pkey" PRIMARY KEY, btree (i, j), tablespace "haha"
          "ei" btree (i)
          "ej" btree (j), tablespace "haha"
          "ek" btree (k)
      Tablespace: "haha"
      
      Qingqing Zhou
      b4132fd0