1. 06 Aug, 2000 1 commit
    • Thomas G. Lockhart's avatar
      Implement LIKE/ESCAPE. Change parser to use like()/notlike() · 30ab107d
      Thomas G. Lockhart authored
       rather than the "~~" operator; this made it easy to add ESCAPE features.
      Implement ILIKE, NOT ILIKE, and the ESCAPE clause for them.
       afaict this is not MultiByte clean, but lots of other stuff isn't either.
      Fix up underlying support code for LIKE/NOT LIKE.
       Things should be faster and does not require internal string copying.
      Update regression test to add explicit checks for
       LIKE/NOT LIKE/ILIKE/NOT ILIKE.
      Remove colon and semi-colon operators as threatened in 7.0.
      Implement SQL99 COMMIT/AND NO CHAIN.
       Throw elog(ERROR) on COMMIT/AND CHAIN per spec
       since we don't yet support it.
      Implement SQL99 CREATE/DROP SCHEMA as equivalent to CREATE DATABASE.
       This is only a stopgap or demo since schemas will have another
       implementation soon.
      Remove a few unused production rules to get rid of warnings
       which crept in on the last commit.
      Fix up tabbing in some places by removing embedded spaces.
      30ab107d
  2. 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
  3. 28 Jul, 2000 1 commit
  4. 15 Jul, 2000 1 commit
  5. 14 Jul, 2000 1 commit
    • Thomas G. Lockhart's avatar
      Implement nested block comments in the backend and in psql. · be703cd9
      Thomas G. Lockhart authored
       Include updates for the comment.sql regression test.
      Implement SET SESSION CHARACTERISTICS and SET DefaultXactIsoLevel.
      Implement SET SESSION CHARACTERISTICS TRANSACTION COMMIT
       and SET AutoCommit in the parser only.
       Need to add code to actually do something.
      Implement WITHOUT TIME ZONE type qualifier.
      Define SCHEMA keyword, along with stubbed-out grammar.
      Implement "[IN|INOUT|OUT] [varname] type" function arguments
       in parser only; INOUT and OUT throws an elog(ERROR).
      Add PATH as a type-specific token, since PATH is in SQL99
       to support schema resource search and resolution.
      be703cd9
  6. 09 Jul, 2000 1 commit
  7. 07 Jul, 2000 1 commit
  8. 03 Jul, 2000 1 commit
    • Jan Wieck's avatar
      TOAST · 57d8080a
      Jan Wieck authored
          WARNING: This is actually broken - we have self-deadlocks
      	         due to concurrent changes in buffer management.
      			 Vadim and me are working on it.
      
      Jan
      57d8080a
  9. 22 Jun, 2000 1 commit
    • Peter Eisentraut's avatar
      Second pass over run-time configuration system. Adjust priorities on some · c4465095
      Peter Eisentraut authored
      option settings. Sort out SIGHUP vs BACKEND -- there is no total ordering
      here, so make explicit checks. Add comments explaining all of this.
      Removed permissions check on SHOW command.
      
      Add examine_subclass to the game, rename to SQL_inheritance to fit the
      official data model better. Adjust documentation.
      
      Standalone backend needs to reset all options before it starts. To
      facilitate that, have IsUnderPostmaster be set by the postmaster itself,
      don't wait for the magic -p switch.
      
      Also make sure that all environment variables and argv's survive
      init_ps_display(). Use strdup where necessary.
      
      Have initdb make configuration files (postgresql.conf, pg_hba.conf) mode
      0600 -- having configuration files is no fun if you can't edit them.
      c4465095
  10. 12 Jun, 2000 2 commits
  11. 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
    • Bruce Momjian's avatar
  12. 31 May, 2000 1 commit
    • Peter Eisentraut's avatar
      The heralded `Grand Unified Configuration scheme' (GUC) · 6a68f426
      Peter Eisentraut authored
      That means you can now set your options in either or all of $PGDATA/configuration,
      some postmaster option (--enable-fsync=off), or set a SET command. The list of
      options is in backend/utils/misc/guc.c, documentation will be written post haste.
      
      pg_options is gone, so is that pq_geqo config file. Also removed were backend -K,
      -Q, and -T options (no longer applicable, although -d0 does the same as -Q).
      
      Added to configure an --enable-syslog option.
      
      changed all callers from TPRINTF to elog(DEBUG)
      6a68f426
  13. 25 May, 2000 1 commit
    • Tom Lane's avatar
      Modify raw parsetree representation returned by gram.y for SubLinks: · ff566b22
      Tom Lane authored
      the oper field should be a valid Node structure so it can be dumped by
      outfuncs.c without risk of coredump.  (We had been using a raw pointer
      to character string, which surely is NOT a valid Node.)  This doesn't
      cause any backwards compatibility problems for stored rules, since
      raw unanalyzed parsetrees are never stored.
      ff566b22
  14. 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
  15. 31 Mar, 2000 1 commit
  16. 30 Mar, 2000 1 commit
  17. 27 Mar, 2000 1 commit
  18. 24 Mar, 2000 1 commit
    • Tom Lane's avatar
      transformCreateStmt should put Ident nodes, not ColumnDef nodes, into · 5c462bae
      Tom Lane authored
      keys lists of Constraint nodes.  This eliminates a type pun that would
      probably have caused trouble someday, and eliminates circular references
      in the parsetree that were causing trouble now.
      Also, change parser's uses of strcasecmp() to strcmp().  Since scan.l
      has downcased any unquoted identifier, it is never correct to check an
      identifier with strcasecmp() in the parser.  For example,
      	CREATE TABLE FOO (f1 int, UNIQUE("F1"));
      was accepted, which is wrong, and xlateSqlFunc did more than it should:
      select datetime();
      ERROR:  Function 'timestamp()' does not exist
      (good)
      select "DateTime"();
      ERROR:  Function 'timestamp()' does not exist
      (bad)
      5c462bae
  19. 21 Mar, 2000 1 commit
  20. 20 Mar, 2000 2 commits
  21. 18 Mar, 2000 2 commits
  22. 15 Mar, 2000 1 commit
  23. 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
  24. 12 Mar, 2000 2 commits
  25. 01 Mar, 2000 1 commit
  26. 26 Feb, 2000 1 commit
  27. 24 Feb, 2000 2 commits
  28. 22 Feb, 2000 1 commit
  29. 21 Feb, 2000 1 commit
    • Tom Lane's avatar
      Change parse-time representation of float literals (which include oversize · 393f3132
      Tom Lane authored
      integers) to be strings instead of 'double'.  We convert from string form
      to internal representation only after type resolution has determined the
      correct type for the constant.  This eliminates loss-of-precision worries
      and gets rid of the change in behavior seen at 17 digits with the
      previous kluge.
      393f3132
  30. 20 Feb, 2000 1 commit
  31. 19 Feb, 2000 2 commits
  32. 18 Feb, 2000 1 commit
  33. 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