Skip to content
Snippets Groups Projects
  1. Jun 09, 2000
  2. Jun 03, 2000
  3. May 12, 2000
  4. Apr 12, 2000
  5. Mar 20, 2000
  6. Mar 17, 2000
  7. Mar 16, 2000
  8. Mar 15, 2000
    • Thomas G. Lockhart's avatar
      Implement column aliases on views "CREATE VIEW name (collist)". · 64568100
      Thomas G. Lockhart authored
      Implement TIME WITH TIME ZONE type (timetz internal type).
      Remap length() for character strings to CHAR_LENGTH() for SQL92
       and to remove the ambiguity with geometric length() functions.
      Keep length() for character strings for backward compatibility.
      Shrink stored views by removing internal column name list from visible rte.
      Implement min(), max() for time and timetz data types.
      Implement conversion of TIME to INTERVAL.
      Implement abs(), mod(), fac() for the int8 data type.
      Rename some math functions to generic names:
       round(), sqrt(), cbrt(), pow(), etc.
      Rename NUMERIC power() function to pow().
      Fix int2 factorial to calculate result in int4.
      Enhance the Oracle compatibility function translate() to work with string
       arguments (from Edwin Ramirez).
      Modify pg_proc system table to remove OID holes.
      64568100
  9. Feb 26, 2000
    • Tom Lane's avatar
      Fix exprTypmod to recognize length-coercion function expressions, · 7173c485
      Tom Lane authored
      such as bpchar(char_expression, N), and pull out the attrtypmod that
      the function is coercing to.  This allows correct deduction of the
      column type in examples such as
      CREATE VIEW v AS SELECT f1::char(8) FROM tbl;
      Formerly we labeled v's column as char-of-unknown-length not char(8).
      Also, this change causes the parser not to insert a redundant length
      coercion function if the user has explicitly casted an INSERT or UPDATE
      expression to the right length.
      7173c485
  10. Feb 16, 2000
    • Thomas G. Lockhart's avatar
      Implement "date/time grand unification". · 41f1f5b7
      Thomas G. Lockhart authored
       Transform datetime and timespan into timestamp and interval.
       Deprecate datetime and timespan, though translate to new types in gram.y.
       Transform all datetime and timespan catalog entries into new types.
       Make "INTERVAL" reserved word allowed as a column identifier in gram.y.
       Remove dt.h, dt.c files, and retarget datetime.h, datetime.c as utility
        routines for all date/time types.
       date.{h,c} now deals with date, time types.
       timestamp.{h,c} now deals with timestamp, interval types.
       nabstime.{h,c} now deals with abstime, reltime, tinterval types.
      Make NUMERIC a known native type for purposes of type coersion. Not tested.
      41f1f5b7
  11. Feb 15, 2000
  12. Jan 27, 2000
    • Tom Lane's avatar
      Redesign DISTINCT ON as discussed in pgsql-sql 1/25/00: syntax is now · dd979f66
      Tom Lane authored
      SELECT DISTINCT ON (expr [, expr ...]) targetlist ...
      and there is a check to make sure that the user didn't specify an ORDER BY
      that's incompatible with the DISTINCT operation.
      Reimplement nodeUnique and nodeGroup to use the proper datatype-specific
      equality function for each column being compared --- they used to do
      bitwise comparisons or convert the data to text strings and strcmp().
      (To add insult to injury, they'd look up the conversion functions once
      for each tuple...)  Parse/plan representation of DISTINCT is now a list
      of SortClause nodes.
      initdb forced by querytree change...
      dd979f66
  13. Jan 26, 2000
    • Bruce Momjian's avatar
      Add: · 5c25d602
      Bruce Momjian authored
        * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
      
      to all files copyright Regents of Berkeley.  Man, that's a lot of files.
      5c25d602
  14. Jan 20, 2000
  15. Jan 17, 2000
  16. Jan 10, 2000
  17. Dec 12, 1999
  18. Dec 10, 1999
  19. Nov 01, 1999
  20. Oct 07, 1999
    • Tom Lane's avatar
      Fix planner and rewriter to follow SQL semantics for tables that are · 3eb1c822
      Tom Lane authored
      mentioned in FROM but not elsewhere in the query: such tables should be
      joined over anyway.  Aside from being more standards-compliant, this allows
      removal of some very ugly hacks for COUNT(*) processing.  Also, allow
      HAVING clause without aggregate functions, since SQL does.  Clean up
      CREATE RULE statement-list syntax the same way Bruce just fixed the
      main stmtmulti production.
      CAUTION: addition of a field to RangeTblEntry nodes breaks stored rules;
      you will have to initdb if you have any rules.
      3eb1c822
  21. Aug 24, 1999
    • Tom Lane's avatar
      Remove bogus code in oper_exact --- if it didn't find an exact · a23faeee
      Tom Lane authored
      match then it tried for a self-commutative operator with the reversed input
      data types.  This is pretty silly; there could never be such an operator,
      except maybe in binary-compatible-type scenarios, and we have oper_inexact
      for that.  Besides which, the oprsanity regress test would complain about
      such an operator.  Remove nonfunctional code and simplify routine calling
      convention accordingly.
      a23faeee
  22. Aug 21, 1999
    • Tom Lane's avatar
      Major revision of sort-node handling: push knowledge of query · db436adf
      Tom Lane authored
      sort order down into planner, instead of handling it only at the very top
      level of the planner.  This fixes many things.  An explicit sort is now
      avoided if there is a cheaper alternative (typically an indexscan) not
      only for ORDER BY, but also for the internal sort of GROUP BY.  It works
      even when there is no other reason (such as a WHERE condition) to consider
      the indexscan.  It works for indexes on functions.  It works for indexes
      on functions, backwards.  It's just so cool...
      
      CAUTION: I have changed the representation of SortClause nodes, therefore
      THIS UPDATE BREAKS STORED RULES.  You will need to initdb.
      db436adf
  23. Aug 05, 1999
  24. Jul 19, 1999
    • Tom Lane's avatar
      Rewrite parser's handling of INSERT ... SELECT so that processing · 7f76eab1
      Tom Lane authored
      of the SELECT part of the statement is just like a plain SELECT.  All
      INSERT-specific processing happens after the SELECT parsing is done.
      This eliminates many problems, e.g. INSERT ... SELECT ... GROUP BY using
      the wrong column labels.  Ensure that DEFAULT clauses are coerced to
      the target column type, whether or not stored clause produces the right
      type.  Substantial cleanup of parser's array support.
      7f76eab1
  25. Jul 16, 1999
  26. Jul 15, 1999
  27. Jul 14, 1999
  28. Jul 13, 1999
  29. Jun 18, 1999
  30. May 29, 1999
  31. May 26, 1999
  32. May 25, 1999
  33. May 22, 1999
  34. May 17, 1999
  35. May 13, 1999
    • Tom Lane's avatar
      Rip out QueryTreeList structure, root and branch. Querytree · 507a0a2a
      Tom Lane authored
      lists are now plain old garden-variety Lists, allocated with palloc,
      rather than specialized expansible-array data allocated with malloc.
      This substantially simplifies their handling and eliminates several
      sources of memory leakage.
      Several basic types of erroneous queries (syntax error, attempt to
      insert a duplicate key into a unique index) now demonstrably leak
      zero bytes per query.
      507a0a2a
Loading