1. 30 9月, 1999 4 次提交
  2. 26 9月, 1999 1 次提交
    • T
      Implement constant-expression simplification per Bernard · 40f65241
      Tom Lane 提交于
      Frankpitt, plus some improvements from yours truly.  The simplifier depends
      on the proiscachable field of pg_proc to tell it whether a function is
      safe to pre-evaluate --- things like nextval() are not, for example.
      Update pg_proc.h to contain reasonable cacheability information; as of
      6.5.* hardly any functions were marked cacheable.  I may have erred too
      far in the other direction; see recent mail to pghackers for more info.
      This update does not force an initdb, exactly, but you won't see much
      benefit from the simplifier until you do one.
      40f65241
  3. 24 9月, 1999 1 次提交
  4. 07 9月, 1999 1 次提交
    • T
      Mark bpchareq not hashjoinable, since it strips trailing blanks · d2f7d1f3
      Tom Lane 提交于
      before comparison; if fields being joined are different widths then hashing
      will yield wrong answer.  Also, remove hashjoinable mark from all uses of
      array_eq, because array structures may have padding bytes between elements
      and the pad bytes are of uncertain content.  This could be revisited if
      array code is cleaned up.
      Modify opr_sanity regress test to complain if array_eq operator is marked
      hashjoinable.
      d2f7d1f3
  5. 29 8月, 1999 1 次提交
    • T
      Correct broken entries for pg_proc OIDs 1364 (time(abstime)) · 1f14a9de
      Tom Lane 提交于
      and 1370 (timestamp(datetime)).  This does not force an initdb, exactly,
      but you won't see the effects of the bug fix until you do one.
      BTW, OID 1358 for timespan(time) is still broken:
      select timespan('21:11:26'::time);
      ERROR:  No such function 'time_timespan' with the specified attributes
      But I couldn't figure out what it ought to be defined as, so I left it be.
      1f14a9de
  6. 09 8月, 1999 1 次提交
  7. 01 8月, 1999 2 次提交
    • T
      First step in fixing selectivity-estimation code. eqsel and · 44878506
      Tom Lane 提交于
      neqsel now behave as per my suggestions in pghackers a few days ago.
      selectivity for < > <= >= should work OK for integral types as well, but
      still need work for nonintegral types.  Since these routines have never
      actually executed before :-(, this may result in some significant changes
      in the optimizer's choices of execution plans.  Let me know if you see
      any serious misbehavior.
      CAUTION: THESE CHANGES REQUIRE INITDB.  pg_statistic table has changed.
      44878506
    • T
      Add comments for attdisbursion field --- NO code change. · cf835f97
      Tom Lane 提交于
      cf835f97
  8. 27 7月, 1999 1 次提交
    • T
      First cut at doing LIKE/regex indexing optimization in · 9e7e29e6
      Tom Lane 提交于
      optimizer rather than parser.  This has many advantages, such as not
      getting fooled by chance uses of operator names ~ and ~~ (the operators
      are identified by OID now), and not creating useless comparison operations
      in contexts where the comparisons will not actually be used as indexquals.
      The new code also recognizes exact-match LIKE and regex patterns, and
      produces an = indexqual instead of >= and <=.
      
      This change does NOT fix the problem with non-ASCII locales: the code
      still doesn't know how to generate an upper bound indexqual for non-ASCII
      collation order.  But it's no worse than before, just the same deficiency
      in a different place...
      
      Also, dike out loc_restrictinfo fields in Plan nodes.  These were doing
      nothing useful in the absence of 'expensive functions' optimization,
      and they took a considerable amount of processing to fill in.
      9e7e29e6
  9. 21 7月, 1999 2 次提交
  10. 17 7月, 1999 1 次提交
  11. 16 7月, 1999 1 次提交
  12. 15 7月, 1999 1 次提交
  13. 14 7月, 1999 1 次提交
  14. 09 7月, 1999 1 次提交
  15. 26 5月, 1999 1 次提交
  16. 10 5月, 1999 2 次提交
  17. 09 5月, 1999 1 次提交
  18. 04 5月, 1999 1 次提交
    • B
      here are some patches for 6.5.0 which I already submitted but have never · 210055ad
      Bruce Momjian 提交于
      been applied. The patches are in the .tar.gz attachment at the end:
      
      varchar-array.patch     this patch adds support for arrays of bpchar() and
                              varchar(), which where always missing from postgres.
      
                              These datatypes can be used to replace the _char4,
                              _char8, etc., which were dropped some time ago.
      
      block-size.patch        this patch fixes many errors in the parser and other
                              program which happen with very large query statements
                              (> 8K) when using a page size larger than 8192.
      
                              This patch is needed if you want to submit queries
                              larger than 8K. Postgres supports tuples up to 32K
                              but you can't insert them because you can't submit
                              queries larger than 8K. My patch fixes this problem.
      
                              The patch also replaces all the occurrences of `8192'
                              and `1<<13' in the sources with the proper constants
                              defined in include files. You should now never find
                              8192 hardwired in C code, just to make code clearer.
      
      
      --
      Massimo Dal Zotto
      210055ad
  19. 20 4月, 1999 1 次提交
  20. 14 4月, 1999 1 次提交
  21. 11 4月, 1999 1 次提交
  22. 08 4月, 1999 1 次提交
    • T
      Fix some more hashjoin-related bugs in pg_operator. Fix · af871480
      Tom Lane 提交于
      hashjoin's hashFunc() so that it does the right thing with pass-by-value
      data types (the old code would always return 0 for int2 or char values,
      which would work but would slow things down a lot).  Extend opr_sanity
      regress test to catch more kinds of errors.
      af871480
  23. 07 4月, 1999 1 次提交
  24. 04 4月, 1999 1 次提交
  25. 29 3月, 1999 1 次提交
    • T
      Modify fmgr so that internal name (compiler name) of a built-in · c537d429
      Tom Lane 提交于
      function is found in prosrc field of pg_proc, not proname.  This allows
      multiple aliases of a built-in to all be implemented as direct builtins,
      without needing a level of indirection through an SQL function.  Replace
      existing SQL alias functions with builtin entries accordingly.
      Save a few K by not storing string names of builtin functions in fmgr's
      internal table (if you really want 'em, get 'em from pg_proc...).
      Update opr_sanity with a few more cross-checks.
      c537d429
  26. 28 3月, 1999 3 次提交
  27. 26 3月, 1999 2 次提交
  28. 25 3月, 1999 1 次提交
  29. 15 3月, 1999 1 次提交
  30. 14 3月, 1999 1 次提交
    • B
      Enclosed below I have a patch to allow a btree index on the int8 type. · 817a3e6d
      Bruce Momjian 提交于
      I would like some feedback on what the hash function for the int8 hash
      function
      in the ./backend/access/hash/hashfunc.c should return.
      
      Also, could someone (maybe Tomas Lockhart?) look-over the patch and make
      sure
      the system table entries are correct?  I've tried to research them as
      much as I
      could, but some of them are still not clear to me.
      
      Thanks,
      -Ryan
      817a3e6d
  31. 10 3月, 1999 1 次提交
    • T
      Fix some typos in argument and result types in pg_proc · 3bca9c6c
      Tom Lane 提交于
      and pg_operator.  The lone error in pg_operator was reported as a bug
      by Michael Reifenberger; the multiple errors in pg_proc would only have
      been noticed if one invoked the functions by name rather than using
      operator syntax.  I guess few people do that.
      3bca9c6c