1. 30 Jul, 2000 1 commit
    • Tom Lane's avatar
      Type lztext is toast. · 8f9fa0e1
      Tom Lane authored
      (Sorry, couldn't help it...)
      
      Removed type filename as well, since it's unused and probably useless.
      INITDB FORCED, because pg_rewrite columns are now plain text again.
      8f9fa0e1
  2. 17 Jul, 2000 1 commit
    • Tom Lane's avatar
      Revise aggregate functions per earlier discussions in pghackers. · bec98a31
      Tom Lane authored
      There's now only one transition value and transition function.
      NULL handling in aggregates is a lot cleaner.  Also, use Numeric
      accumulators instead of integer accumulators for sum/avg on integer
      datatypes --- this avoids overflow at the cost of being a little slower.
      Implement VARIANCE() and STDDEV() aggregates in the standard backend.
      
      Also, enable new LIKE selectivity estimators by default.  Unrelated
      change, but as long as I had to force initdb anyway...
      bec98a31
  3. 07 Jul, 2000 1 commit
  4. 06 Jul, 2000 1 commit
  5. 03 Jul, 2000 1 commit
  6. 19 Jun, 2000 1 commit
  7. 16 Jun, 2000 1 commit
  8. 13 Jun, 2000 1 commit
  9. 12 Jun, 2000 2 commits
  10. 09 Jun, 2000 2 commits
    • Bruce Momjian's avatar
      I have large database and with this DB work more users and I very need · 85add42a
      Bruce Momjian authored
      more restriction for fretful users. The current PG allow define only
      NO-CREATE-DB and NO-CREATE-USER restriction, but for some users I need
      NO-CREATE-TABLE and NO-LOCK-TABLE.
      
      This patch add to current code NOCREATETABLE and NOLOCKTABLE feature:
      
      CREATE USER username
          [ WITH
           [ SYSID uid ]
           [ PASSWORD 'password' ] ]
          [ CREATEDB   | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ]
      ->  [ CREATETABLE | NOCREATETABLE ] [ LOCKTABLE | NOLOCKTABLE ]
          ...etc.
      
       If CREATETABLE or LOCKTABLE is not specific in CREATE USER command,
      as default is set CREATETABLE or LOCKTABLE (true).
      
       A user with NOCREATETABLE restriction can't call CREATE TABLE or
      SELECT INTO commands, only create temp table is allow for him.
      
                                                      Karel
      85add42a
    • Tom Lane's avatar
  11. 07 Jun, 2000 2 commits
  12. 05 Jun, 2000 1 commit
  13. 29 May, 2000 1 commit
  14. 28 May, 2000 1 commit
    • Tom Lane's avatar
      First round of changes for new fmgr interface. fmgr itself and the · 0a7fb4e9
      Tom Lane authored
      key call sites are changed, but most called functions are still oldstyle.
      An exception is that the PL managers are updated (so, for example, NULL
      handling now behaves as expected in plperl and plpgsql functions).
      NOTE initdb is forced due to added column in pg_proc.
      0a7fb4e9
  15. 05 May, 2000 1 commit
  16. 12 Apr, 2000 1 commit
  17. 07 Apr, 2000 1 commit
    • Thomas G. Lockhart's avatar
      Add transcendental math functions (sine, cosine, etc) · a349733b
      Thomas G. Lockhart authored
      Add a random number generator and seed setter (random(), SET SEED)
      Fix up the interval*float8 math to carry partial months
       into the time field.
      Add float8*interval so we have symmetry in the available math.
      Fix the parser and define.c to accept SQL92 types as field arguments.
      Fix the parser to accept SQL92 types for CREATE TYPE, etc. This is
       necessary to allow...
      Bit/varbit support in contrib/bit cleaned up to compile and load
       cleanly. Still needs some work before final release.
      Implement the "SOME" keyword as a synonym for "ANY" per SQL92.
      Implement ascii(text), ichar(int4), repeat(text,int4) to help
       support the ODBC driver.
      Enable the TRUNCATE() function mapping in the ODBC driver.
      a349733b
  18. 14 Mar, 2000 1 commit
    • 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
  19. 27 Feb, 2000 1 commit
  20. 17 Feb, 2000 1 commit
    • Tom Lane's avatar
      Finish repairing 6.5's problems with r-tree indexes: create appropriate · 598ea2c3
      Tom Lane authored
      selectivity functions and make the r-tree operators use them.  The
      estimation functions themselves are just stubs, unfortunately, but
      perhaps someday someone will make them compute realistic estimates.
      Change pg_am so that the optimizer can reliably tell the difference
      between ordered and unordered indexes --- before it would think that
      an r-tree index can be scanned in '<<' order, which is not right AFAIK.
      Repair broken negator links for network_sup and related ops.
      Initdb forced.  This might be my last initdb force for 7.0 ... hope so
      anyway ...
      598ea2c3
  21. 16 Feb, 2000 1 commit
    • 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
  22. 15 Feb, 2000 1 commit
    • Tom Lane's avatar
      New cost model for planning, incorporating a penalty for random page · b1577a7c
      Tom Lane authored
      accesses versus sequential accesses, a (very crude) estimate of the
      effects of caching on random page accesses, and cost to evaluate WHERE-
      clause expressions.  Export critical parameters for this model as SET
      variables.  Also, create SET variables for the planner's enable flags
      (enable_seqscan, enable_indexscan, etc) so that these can be controlled
      more conveniently than via PGOPTIONS.
      
      Planner now estimates both startup cost (cost before retrieving
      first tuple) and total cost of each path, so it can optimize queries
      with LIMIT on a reasonable basis by interpolating between these costs.
      Same facility is a win for EXISTS(...) subqueries and some other cases.
      
      Redesign pathkey representation to achieve a major speedup in planning
      (I saw as much as 5X on a 10-way join); also minor changes in planner
      to reduce memory consumption by recycling discarded Path nodes and
      not constructing unnecessary lists.
      
      Minor cleanups to display more-plausible costs in some cases in
      EXPLAIN output.
      
      Initdb forced by change in interface to index cost estimation
      functions.
      b1577a7c
  23. 27 Jan, 2000 1 commit
    • 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
  24. 26 Jan, 2000 1 commit
    • 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
  25. 24 Jan, 2000 2 commits
    • Tom Lane's avatar
      First cut at making useful selectivity estimates for range queries · 0dbffa70
      Tom Lane authored
      (ie, WHERE x > lowbound AND x < highbound).  It's not very bright yet
      but it does something useful.  Also, rename intltsel/intgtsel to
      scalarltsel/scalargtsel to reflect usage better.  Extend convert_to_scalar
      to do something a little bit useful with string data types.  Still need
      to make it do something with date/time datatypes, but I'll wait for
      Thomas's datetime unification dust to settle first.  Eventually the
      routine ought not have any type-specific knowledge at all; it ought to
      be calling a type-dependent routine found via a pg_type column; but
      that's a task for another day.
      0dbffa70
    • Bruce Momjian's avatar
      da5aba10
  26. 22 Jan, 2000 1 commit
  27. 18 Jan, 2000 1 commit
  28. 14 Jan, 2000 1 commit
  29. 10 Jan, 2000 1 commit
  30. 13 Dec, 1999 1 commit
  31. 24 Nov, 1999 1 commit
  32. 22 Nov, 1999 1 commit
  33. 04 Nov, 1999 1 commit
    • Hiroshi Inoue's avatar
      Make it possible to execute crashed CREATE/DROP commands again. · 2e2189a5
      Hiroshi Inoue authored
      Now indexes of pg_class and pg_type are unique indexes
      and guarantee the uniqueness of correponding attributes.
      heap_create() was changed to take another boolean parameter
      which allows to postpone the creation of disk file.
      The name of rd_nonameunlinked was changed to rd_unlinked.
      It is used generally(not only for noname relations) now.
      Requires initdb.
      2e2189a5
  34. 24 Oct, 1999 1 commit
    • Tom Lane's avatar
      Add a notion of a 'catalog version number' that can indicate · eae456cd
      Tom Lane authored
      when an initdb-forcing change has been applied within a development cycle.
      PG_VERSION serves this purpose for official releases, but we can't bump
      the PG_VERSION number every time we make a change to the catalogs during
      development.  Instead, increase the catalog version number to warn other
      developers that you've made an incompatible change.  See my mail to
      pghackers for more info.
      eae456cd