1. 22 Aug, 2000 5 commits
  2. 21 Aug, 2000 4 commits
  3. 20 Aug, 2000 5 commits
  4. 19 Aug, 2000 1 commit
  5. 13 Aug, 2000 1 commit
    • Tom Lane's avatar
      Clean up handling of variable-free qual clauses. System now does the · 37168b8d
      Tom Lane authored
      right thing with variable-free clauses that contain noncachable functions,
      such as 'WHERE random() < 0.5' --- these are evaluated once per
      potential output tuple.  Expressions that contain only Params are
      now candidates to be indexscan quals --- for example, 'var = ($1 + 1)'
      can now be indexed.  Cope with RelabelType nodes atop potential indexscan
      variables --- this oversight prevents 7.0.* from recognizing some
      potentially indexscanable situations.
      37168b8d
  6. 12 Aug, 2000 2 commits
  7. 11 Aug, 2000 4 commits
  8. 10 Aug, 2000 1 commit
  9. 09 Aug, 2000 1 commit
  10. 08 Aug, 2000 2 commits
  11. 07 Aug, 2000 9 commits
  12. 06 Aug, 2000 5 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