1. 19 Jan, 2001 1 commit
  2. 14 Jan, 2001 1 commit
  3. 06 Jan, 2001 1 commit
    • Tatsuo Ishii's avatar
      Fix copy to make it more robust against unexpected character · a6944611
      Tatsuo Ishii authored
      sequences. This is done by disabling multi-byte awareness when it's
      not necessary. This is kind of a workaround, not a perfect solution.
      However, there is no ideal way to parse broken multi-byte character
      sequences. So I guess this is the best way what we could do right
      now...
      a6944611
  4. 03 Jan, 2001 1 commit
  5. 27 Dec, 2000 1 commit
    • Tom Lane's avatar
      Fix portability problems recently exposed by regression tests on Alphas. · 8609d4ab
      Tom Lane authored
      1. Distinguish cases where a Datum representing a tuple datatype is an OID
      from cases where it is a pointer to TupleTableSlot, and make sure we use
      the right typlen in each case.
      2. Make fetchatt() and related code support 8-byte by-value datatypes on
      machines where Datum is 8 bytes.  Centralize knowledge of the available
      by-value datatype sizes in two macros in tupmacs.h, so that this will be
      easier if we ever have to do it again.
      8609d4ab
  6. 02 Dec, 2000 1 commit
  7. 16 Nov, 2000 1 commit
  8. 12 Nov, 2000 1 commit
    • Tom Lane's avatar
      Restructure handling of inheritance queries so that they work with outer · 6543d81d
      Tom Lane authored
      joins, and clean things up a good deal at the same time.  Append plan node
      no longer hacks on rangetable at runtime --- instead, all child tables are
      given their own RT entries during planning.  Concept of multiple target
      tables pushed up into execMain, replacing bug-prone implementation within
      nodeAppend.  Planner now supports generating Append plans for inheritance
      sets either at the top of the plan (the old way) or at the bottom.  Expanding
      at the bottom is appropriate for tables used as sources, since they may
      appear inside an outer join; but we must still expand at the top when the
      target of an UPDATE or DELETE is an inheritance set, because we actually need
      a different targetlist and junkfilter for each target table in that case.
      Fortunately a target table can't be inside an outer join...  Bizarre mutual
      recursion between union_planner and prepunion.c is gone --- in fact,
      union_planner doesn't really have much to do with union queries anymore,
      so I renamed it grouping_planner.
      6543d81d
  9. 06 Sep, 2000 1 commit
    • Peter Eisentraut's avatar
      Code cleanup of user name and user id handling in the backend. The current · 6dc24961
      Peter Eisentraut authored
      user is now defined in terms of the user id, the user name is only computed
      upon request (for display purposes). This is kind of the opposite of the
      previous state, which would maintain the user name and compute the user id
      for permission checks.
      
      Besides perhaps saving a few cycles (integer vs string), this now creates a
      single point of attack for changing the user id during a connection, for
      purposes of "setuid" functions, etc.
      6dc24961
  10. 22 Aug, 2000 1 commit
    • Tom Lane's avatar
      Fix a many-legged critter reported by chifungfan@yahoo.com: under the · 0147b193
      Tom Lane authored
      right circumstances a hash join executed as a DECLARE CURSOR/FETCH
      query would crash the backend.  Problem as seen in current sources was
      that the hash tables were stored in a context that was a child of
      TransactionCommandContext, which got zapped at completion of the FETCH
      command --- but cursor cleanup executed at COMMIT expected the tables
      to still be valid.  I haven't chased down the details as seen in 7.0.*
      but I'm sure it's the same general problem.
      0147b193
  11. 06 Aug, 2000 1 commit
  12. 14 Jul, 2000 1 commit
    • Tom Lane's avatar
      Cleanup of code for creating index entries. Functional indexes with · 6bfe6403
      Tom Lane authored
      pass-by-ref data types --- eg, an index on lower(textfield) --- no longer
      leak memory during index creation or update.  Clean up a lot of redundant
      code ... did you know that copy, vacuum, truncate, reindex, extend index,
      and bootstrap each basically duplicated the main executor's logic for
      extracting information about an index and preparing index entries?
      Functional indexes should be a little faster now too, due to removal
      of repeated function lookups.
      CREATE INDEX 'opt_type' clause is deimplemented by these changes,
      but I haven't removed it from the parser yet (need to merge with
      Thomas' latest change set first).
      6bfe6403
  13. 12 Jul, 2000 1 commit
  14. 05 Jul, 2000 1 commit
  15. 28 Jun, 2000 1 commit
  16. 17 Jun, 2000 1 commit
    • Tom Lane's avatar
      Fix performance problems with pg_index lookups (see, for example, · d03a933e
      Tom Lane authored
      discussion of 5/19/00).  pg_index is now searched for indexes of a
      relation using an indexscan.  Moreover, this is done once and cached
      in the relcache entry for the relation, in the form of a list of OIDs
      for the indexes.  This list is used by the parser and executor to drive
      lookups in the pg_index syscache when they want to know the properties
      of the indexes.  Net result: index information will be fully cached
      for repetitive operations such as inserts.
      d03a933e
  17. 15 Jun, 2000 1 commit
  18. 14 Jun, 2000 1 commit
    • Peter Eisentraut's avatar
      Big warnings cleanup for Solaris/GCC. Down to about 40 now, but · 44d1abeb
      Peter Eisentraut authored
      we'll get there one day.
      
      Use `cat' to create aclocal.m4, not `aclocal'. Some people don't
      have automake installed.
      
      Only run the autoconf rule in the top-level GNUmakefile if the
      invoker specified `make configure', don't run it automatically
      because of CVS timestamp skew.
      44d1abeb
  19. 05 Jun, 2000 2 commits
  20. 02 Jun, 2000 1 commit
  21. 30 May, 2000 2 commits
  22. 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
  23. 18 May, 2000 1 commit
    • Tom Lane's avatar
      Reduce COPY IN lock from AccessExclusive to a more reasonable · ba26aeeb
      Tom Lane authored
      RowExclusive (my fault).  Also, install a check to prevent people
      from trying COPY BINARY to stdout/from stdin.  No way that will
      work unless we redesign the frontend COPY protocol ... which is
      not worth the trouble in the near future ...
      ba26aeeb
  24. 16 Apr, 2000 1 commit
  25. 12 Apr, 2000 1 commit
  26. 23 Mar, 2000 1 commit
  27. 09 Mar, 2000 1 commit
  28. 13 Feb, 2000 1 commit
    • Bruce Momjian's avatar
      contrib-array.patch · a2226ad2
      Bruce Momjian authored
              this is an old patch which I have already submitted and never seen
              in the sources. It corrects the datatype oids used in some iterator
              functions. This bug has been reported to me by many other people.
      
      contrib-datetime.patch
      
              some code contributed by Reiner Dassing <dassing@wettzell.ifag.de>
      
      contrib-makefiles.patch
      
              fixes all my contrib makefiles which don't work with some compilers,
              as reported to me by another user.
      
      contrib-miscutil.patch
      
              an old patch for one of my old contribs.
      
      contrib-string.patch
      
              a small change to the c-like text output functions. Now the '{'
              is escaped only at the beginning of the string to distinguish it
              from arrays, and the '}' is no more escaped.
      
      elog-lineno.patch
      
              adds the current lineno of CopyFrom to elog messages. This is very
              useful when you load a 1 million tuples table from an external file
              and there is a bad value somehere. Currently you get an error message
              but you can't know where is the bad data. The patch uses a variable
              which was declared static in copy.c. The variable is now exported
              and initialized to 0. It is always cleared at the end of the copy
              or at the first elog message or when the copy is canceled.
              I know this is very ugly but I can't find any better way of knowing
              where the copy fails and I have this problem quite often.
      
      plperl-makefile.patch
      
              fixes a typo in a makefile, but the error must be elsewhere because
              it is a file generated automatically. Please have a look.
      
      tprintf-timestamp.patch
      
              restores the original 2-digit year format, assuming that the two
              century digits don't carry much information and that '000202' is
              easier to read than 20000202. Being only a log file it shouldn't
              break anything.
      
      Please apply the patches before the next scheduled code freeze.
      
      I also noticed that some of the contribs don't compile correcly. Should we
      ask people to fix their code or rename their makefiles so that they are
      ignored by the top makefile?
      
      --
      Massimo Dal Zotto
      a2226ad2
  29. 09 Feb, 2000 1 commit
  30. 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
  31. 22 Jan, 2000 1 commit
  32. 19 Jan, 2000 1 commit
    • Tom Lane's avatar
      Fix handling of NULL constraint conditions: per SQL92 spec, a NULL result · 6d1efd76
      Tom Lane authored
      from a constraint condition does not violate the constraint (cf. discussion
      on pghackers 12/9/99).  Implemented by adding a parameter to ExecQual,
      specifying whether to return TRUE or FALSE when the qual result is
      really NULL in three-valued boolean logic.  Currently, ExecRelCheck is
      the only caller that asks for TRUE, but if we find any other places that
      have the wrong response to NULL, it'll be easy to fix them.
      6d1efd76
  33. 16 Jan, 2000 1 commit
    • Tom Lane's avatar
      Rearrange coding in COPY so that expansible string buffer for data being · e0bd6017
      Tom Lane authored
      read is reused for successive attributes, instead of being deleted and
      recreated from scratch for each value read in.  This reduces palloc/pfree
      overhead a lot.  COPY IN still seems to be noticeably slower than it was
      in 6.5 --- we need to figure out why.  This change takes care of the only
      major performance loss I can see in copy.c itself, so the performance
      problem is at a lower level somewhere.
      e0bd6017
  34. 14 Jan, 2000 1 commit
    • Peter Eisentraut's avatar
      * User management commands no longer user pg_exec_query_dest -> more robust · 4ceb2d0c
      Peter Eisentraut authored
      * Let unprivileged users change their own passwords.
      
      * The password is now an Sconst in the parser, which better reflects its text datatype and also
      forces users to quote them.
      
      * If your password is NULL you won't be written to the password file, meaning you can't connect
      until you have a password set up (if you use password authentication).
      
      * When you drop a user that owns a database you get an error. The database is not gone.
      4ceb2d0c
  35. 16 Dec, 1999 1 commit
  36. 14 Dec, 1999 1 commit
    • Bruce Momjian's avatar
      Depending on my interpreting (and programming) skills, this might solve · bcaabc56
      Bruce Momjian authored
      anywhere from zero to two TODO items.
      
      * Allow flag to control COPY input/output of NULLs
      
      I got this:
      COPY table .... [ WITH NULL AS 'string' ]
      which does what you'd expect. The default is \N, otherwise you can use
      empty strings, etc. On Copy In this acts like a filter: every data item
      that looks like 'string' becomes a NULL. Pretty straightforward.
      
      This also seems to be related to
      
      * Make postgres user have a password by default
      
      If I recall this discussion correctly, the problem was actually that the
      default password for the postgres (or any) user is in fact "\N", because
      of the way copy is used. With this change, the file pg_pwd is copied out
      with nulls as empty strings, so if someone doesn't have a password, the
      password is just '', which one would expect from a new account. I don't
      think anyone really wants a hard-coded default password.
      
      Peter Eisentraut                  Sernanders väg 10:115
      bcaabc56
  37. 27 Nov, 1999 1 commit
  38. 22 Nov, 1999 1 commit