1. 20 2月, 2001 3 次提交
  2. 19 2月, 2001 10 次提交
  3. 18 2月, 2001 7 次提交
  4. 17 2月, 2001 12 次提交
  5. 16 2月, 2001 8 次提交
    • T
      eb90c16d
    • T
      Fix bugs in pltcl's new return_null command: it was liable to go belly up · a2dafc64
      Tom Lane 提交于
      if the return datatype's input converter was at all strict, because the
      converter would get called on junk data when returning NULL.  Also
      ensure that it gives an error rather than coredumping if someone tries
      to use it in a trigger function.
      a2dafc64
    • T
      Fix erroneous sort request in pltcl selftest. · 60d1d671
      Tom Lane 提交于
      60d1d671
    • T
      Clean up two rather nasty bugs in operator selection code. · 13cc7eb3
      Tom Lane 提交于
      1. If there is exactly one pg_operator entry of the right name and oprkind,
      oper() and related routines would return that entry whether its input type
      had anything to do with the request or not.  This is just premature
      optimization: we shouldn't return the single candidate until after we verify
      that it really is a valid candidate, ie, is at least coercion-compatible
      with the given types.
      
      2. oper() and related routines only promise a coercion-compatible result.
      Unfortunately, there were quite a few callers that assumed the returned
      operator is binary-compatible with the given datatype; they would proceed
      to call it without making any datatype coercions.  These callers include
      sorting, grouping, aggregation, and VACUUM ANALYZE.  In general I think
      it is appropriate for these callers to require an exact or binary-compatible
      match, so I've added a new routine compatible_oper() that only succeeds if
      it can find an operator that doesn't require any run-time conversions.
      Callers now call oper() or compatible_oper() depending on whether they are
      prepared to deal with type conversion or not.
      
      The upshot of these bugs is revealed by the following silliness in PL/Tcl's
      selftest: it creates an operator @< on int4, and then tries to use it to
      sort a char(N) column.  The system would let it do that :-( (and evidently
      has done so since 6.3 :-( :-().  The result in this case was just a silly
      sort order, but the reverse combination would've provoked coredump from
      trying to dereference integers.  With this fix you get more reasonable
      behavior:
      pltcl_test=# select * from T_pkey1 order by key1, key2 using @<;
      ERROR:  Unable to identify an operator '@<' for types 'bpchar' and 'bpchar'
              You will have to retype this query using an explicit cast
      13cc7eb3
    • H
      Add casting for numeric/float4/float8 type value · b24b2a5b
      Hiroshi Inoue 提交于
      automatically to compensate the lack of automatic
      conversion functionality of PostgreSQL server.
      For example if there's a numeric type binding
         1.2567 --> 1.2567::numeric.
      I hope this change would enable the use of numeric
      type in MS-Access etc.
      
      Thanks Hiroki Kataoka for his checking my code.
      b24b2a5b
    • B
      Update bsdi faq. · f65ebadd
      Bruce Momjian 提交于
      f65ebadd
    • B
      Update bsdi faq. · d50f3cb9
      Bruce Momjian 提交于
      d50f3cb9
    • T
      Take OUTER JOIN semantics into account when estimating the size of join · b29f68f6
      Tom Lane 提交于
      relations.  It's not very bright, but at least it now knows that
      A LEFT JOIN B must produce at least as many rows as are in A ...
      b29f68f6