1. 12 Aug, 2000 2 commits
  2. 11 Aug, 2000 4 commits
  3. 10 Aug, 2000 1 commit
  4. 09 Aug, 2000 1 commit
  5. 08 Aug, 2000 2 commits
  6. 07 Aug, 2000 9 commits
  7. 06 Aug, 2000 7 commits
    • Thomas G. Lockhart's avatar
      Implement LIKE/ESCAPE. Change parser to use like()/notlike() · 259489ba
      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.
      259489ba
    • 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
    • Thomas G. Lockhart's avatar
      Support SQL99 embedded double-quote syntax for quoted identifiers. · df402346
      Thomas G. Lockhart authored
      Allow this in the parser and in pg_dump, but it is probably not enough
       for a complete solution.
      Better to have the feature started then never here.
      df402346
    • Tom Lane's avatar
      Toast all the system-table columns that seem to need it. It turns out · c3e2a951
      Tom Lane authored
      that giving pg_proc a toast table required solving the same problems
      we'd have to solve for pg_class --- pg_proc is one of the relations
      that gets bootstrapped in relcache.c.  Solution is to go back at the
      end of initialization and read in the *real* pg_class row to replace
      the phony entry created by formrdesc().  This should work as long as
      there's no need to touch any toasted values during initialization,
      which seems a reasonable assumption.
      Although I did not add a toast-table for every single system table
      with a varlena attribute, I believe that it would work to just do
      ALTER TABLE pg_class CREATE TOAST TABLE.  So anyone who's really
      intent on having several thousand ACL entries for a rel could do it.
      NOTE: I didn't force initdb, but you must do one to see the effects
      of this patch.
      c3e2a951
    • Tom Lane's avatar
      Clean up inefficiency in ExecRelCheck, and cause it to do the right · 8ae23135
      Tom Lane authored
      thing when there are multiple result relations.  Formerly, during
      something like 'UPDATE foo*', foo's constraints and *only* foo's
      constraints would be applied to all foo's children.  Wrong-o ...
      8ae23135
    • Tom Lane's avatar
      Ensure that catcache 'busy' flags are reset at transaction abort. · 925418d2
      Tom Lane authored
      Without this, an elog during cache-entry load leaves that catcache
      unusable.  elog in that segment of code is pretty unusual but it can
      happen.
      925418d2
    • Tom Lane's avatar
      Copy sub-Query nodes to avoid trouble when same sub-Query is linked to · 465a3b0a
      Tom Lane authored
      multiple times in the parsetree (can happen in COALESCE or BETWEEN
      contexts, for example).  This is a pretty grotty solution --- it will
      do for now, but perhaps we can do better when we redesign querytrees.
      What we need is a consistent policy about whether querytrees should be
      considered read-only structures or not ...
      465a3b0a
  8. 05 Aug, 2000 3 commits
  9. 04 Aug, 2000 5 commits
    • Bruce Momjian's avatar
      Back out to_ascii patch from Karel. · 129f1a31
      Bruce Momjian authored
      129f1a31
    • Bruce Momjian's avatar
      403e522f
    • Bruce Momjian's avatar
      to_ascii( text ) · 317ff59c
      Bruce Momjian authored
              - encode 'text' from database encoding to ASCII
      
              to_ascii('\256\341k')
      
      
       to_ascii( text, int4 )
      
              - encode 'text' from 'int4' encoding to ASCII
      
                to_ascii('\256\341k', 8)
      
      
       to_ascii( text, name )
      
              - encode 'text' from 'name' encoding to ASCII
      
                to_ascii('\256\341k', 'LATIN2')
      
      
        Now is supported LATIN1, LATIN2, WIN1250. For other character sets I
      haven't good resources. Add new encoding is easy...
      
       If encoding is not supported returns ERROR.
      
       Note --- not exists total corect conversion to ASCII, this function try
              convert chars those is _probably_ interpret-able in ASCII for
              others use ' '. But for example for all Czech characters it is
              sufficient ... hmm Chinese / JAP and other complicated langs
      have
              bad luck here :-(
      
                                                      Karel
      317ff59c
    • Hiroshi Inoue's avatar
      a1464e97
    • Tom Lane's avatar
      Fix tuptoaster bugs induced by making bytea toastable. Durn thing was · dd8ad641
      Tom Lane authored
      trying to toast tuples inserted into toast tables!  Fix is two-pronged:
      first, ensure all columns of a toast table are marked attstorage='p',
      and second, alter the target chunk size so that it's less than the
      threshold for trying to toast a tuple.  (Code tried to do that but the
      expression was wrong.)  A few cosmetic cleanups in tuptoaster too.
      NOTE: initdb forced due to change in toaster chunk-size.
      dd8ad641
  10. 03 Aug, 2000 4 commits
    • Tom Lane's avatar
      Convert inet-related functions to new fmgr style. I have also taken it · ed9ca687
      Tom Lane authored
      on myself to do something about the non-self-consistency of the inet
      comparison functions.  The results are probably still semantically wrong
      (inet and cidr should have different comparison semantics, I think)
      but at least the boolean operators now agree with each other and with
      the sort order of indexes on inet/cidr.
      ed9ca687
    • Tom Lane's avatar
      Modify heap_open()/heap_openr() API per pghackers discussion of 11 July. · 61aca818
      Tom Lane authored
      These two routines will now ALWAYS elog() on failure, whether you ask for
      a lock or not.  If you really want to get a NULL return on failure, call
      the new routines heap_open_nofail()/heap_openr_nofail().  By my count there
      are only about three places that actually want that behavior.  There were
      rather more than three places that were missing the check they needed to
      make under the old convention :-(.
      61aca818
    • Tom Lane's avatar
      More functions updated to new fmgr style --- money, name, tid datatypes. · c298d74d
      Tom Lane authored
      We're reaching the mopup stage here (good thing too, this is getting
      tedious).
      c298d74d
    • Tom Lane's avatar
      Repair bug noted by Paul Caskey: neqsel() has been generating a bogus · 1bd3a8f5
      Tom Lane authored
      result, in fact nearly the opposite of what it should, because it
      was passing the not-equal operator to eqsel() which would use it to
      compare the value against the most common value in the column, and
      of course obtain the wrong result therefrom.  Must pass the equality
      operator to eqsel() instead.  Fortunately that's easy to get from
      the oprnegate link.
      1bd3a8f5
  11. 01 Aug, 2000 2 commits
    • Tom Lane's avatar
      Convert all remaining float4 and float8 functions to new fmgr style. · 463f1f5c
      Tom Lane authored
      At this point I think it'd be possible to make float4 be pass-by-value
      without too much work --- and float8 too on machines where Datum is
      8 bytes.  Something to try when the mood strikes, anyway.
      463f1f5c
    • Philip Warner's avatar
      - Added --create, --no-owner, --superuser, --no-reconnect (pg_dump & pg_restore) · 92bd532c
      Philip Warner authored
      - Added code to dump 'Create Schema' statement (pg_dump)
      - Don't bother to disable/enable triggers if we don't have a superuser (pg_restore)
      - Cleaned up code for reconnecting to database.
      - Force a reconnect as superuser before enabling/disabling triggers.
      - Added & Removed --throttle (pg_dump)
      - Fixed minor bug in language dumping code: expbuffres were not being reset.
      - Fixed version number initialization in _allocAH (pg_backup_archiver.c)
      - Added second connection when restoring BLOBs to allow temp. table to survive
        (db reconnection causes temp tables to be lost).
      92bd532c