aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Jens Glaser found that getPrimaryKeys() had a table called test hardwiredPeter Mount1999-09-15
| | | | into it.
* Some late patches from Jens Glaser (jens@jens.de). These upgrade the protocolPeter Mount1999-09-15
| | | | to version 2, and fixes ResultSetMetaData.getColumnDisplaySize().
* *** empty log message ***Michael Meskes1999-09-15
|
* An abstract declaration for the close() method was missed out of the previousPeter Mount1999-09-14
| | | | commit to CVS.
* Allow ISOLATION and LEVEL as column names. These are SQL92 reserved wordsThomas G. Lockhart1999-09-14
| | | | which do not need to be so for our parser. Apparently omitted earlier.
* Patches for 6.5.2Peter Mount1999-09-14
|
* Allow CASE statement to contain *only* untyped result clauses or nulls.Thomas G. Lockhart1999-09-13
| | | | | | | Almost worked before, but forgot one place to check. Reported by Tatsuo Ishii. Still does not do the right thing if inserting into a non-string target column. Should look for a type coersion later, but doesn't.
* Patch to cure O(N^2) behavior in libpq when reading a longTom Lane1999-09-13
| | | | | | message under a kernel that only returns one packet per recv() call. This didn't use to matter much, but it starts to get annoying with multi-megabyte EXPLAIN VERBOSE responses...
* First cut at doing something reasonable with OR-of-ANDs WHERETom Lane1999-09-13
| | | | | | | | conditions. There are some pretty bogus heuristics in prepqual.c that try to decide whether to output CNF or DNF format; they need to be replaced, likely. Right now the code is probably too willing to choose DNF form, which might hurt performance in some cases that used to work OK. But at least we have a foundation to build on.
* Make sure both SRCH_INC and SRCH_LIB are checked for existances and added toMarc G. Fournier1999-09-12
| | | | the CPPFLAGS/LDFLAGS variables...
* cygwin doesn't have an endian.h, but defines BYTE_ORDER in sys/param.hMarc G. Fournier1999-09-12
|
* Further improvements in cnfify: reduce amount of self-recursionTom Lane1999-09-12
| | | | | | | | | in or_normalize, remove detection of duplicate subexpressions (since it's highly unlikely to be worth the amount of time it takes), and introduce a dnfify() entry point so that unintelligible backwards logic in UNION processing can be eliminated. This is just an intermediate step --- next thing is to look at not forcing the qual into CNF form when it would be better off in DNF form.
* Eliminate query length limitation imposed by pg_client_to_serverTom Lane1999-09-11
| | | | | and pg_server_to_client. Eliminate copy.c's restriction on the length of a single attribute.
* Eliminate token length assumption in scanstr().Tom Lane1999-09-11
|
* Eliminate elog()'s hardwired limit on length of an error message.Tom Lane1999-09-11
| | | | | | | | | This change seems necessary in conjunction with long queries, and it cleans up some bogosity in connection with long EXPLAIN texts anyway. Note that current libpq will accept any length error message (at least until it runs out of memory); prior versions have a limit of 8K, but will cleanly discard excess error text, so there shouldn't be any big compatibility problems with old clients.
* Make pgindent gnu test better.Bruce Momjian1999-09-09
|
* Repair incorrect cleanup of heap memory allocation duringTom Lane1999-09-09
| | | | | | transaction abort --- before it only worked if there was exactly one level of allocation context stacked in the blank portal. Now it does the right thing for any depth, including zero...
* Minor improvement in SI overflow logic: try to deleteTom Lane1999-09-09
| | | | expired messages before concluding that we really have buffer overflow.
* Get rid of elog(DEBUG) in snprintf emulation ... it's justTom Lane1999-09-09
| | | | cluttering the log file...
* Repair error noticed by Roberto Cornacchia: selectivity codeTom Lane1999-09-09
| | | | | | | | was rejecting negative attnums as bogus, which of course they are not. Add code to get_attdisbursion to produce a useful value for OID attribute, since VACUUM does not store stats for system attributes. Also, repair bug that's been in eqjoinsel for a long time: it was taking the max of the two columns' disbursions, whereas it should use the min.
* StreamConnection() mustn't call elog().Tom Lane1999-09-08
|
* Cope with versions of vsnprintf() written by people whoTom Lane1999-09-08
| | | | don't read man pages...
* Repair logic error in LIKE: should not return LIKE_ABORTTom Lane1999-09-07
| | | | when reach end of pattern before end of text. Improve code comments.
* Irix linking fix from Yu Cao <yucao@falcon.kla-tencor.com>Tom Lane1999-09-07
|
* Performance improvements in cnfify(): get rid of exponentialTom Lane1999-09-07
| | | | | | | | space consumption in pull_args, and avoid doing the full CNF transform on operands of operator clauses, where it's really not particularly helpful. This answers the TODO item about large numbers of OR clauses, at least partially. I was able to do a ten-thousand-OR-clause query with about 20Mb memory consumption ... it took an obscenely long time, but it worked...
* Mike Ansley's fixes for long queries. This change justTom Lane1999-09-07
| | | | | | | corrects flex myinput() routine so that it doesn't assume there is only one bufferload of data. We still have the issue of getting rid of YY_USES_REJECT so that the scanner can cope with tokens larger than its initial buffer size.
* Additional long-query fixes from Mike Ansley and yours truly.Tom Lane1999-09-06
| | | | psql.c seems clean of query length restrictions now.
* Mark bpchareq not hashjoinable, since it strips trailing blanksTom Lane1999-09-06
| | | | | | | | | | before comparison; if fields being joined are different widths then hashing will yield wrong answer. Also, remove hashjoinable mark from all uses of array_eq, because array structures may have padding bytes between elements and the pad bytes are of uncertain content. This could be revisited if array code is cleaned up. Modify opr_sanity regress test to complain if array_eq operator is marked hashjoinable.
* I finally understood what sinvaladt.c is doing --- and itTom Lane1999-09-06
| | | | | | offended my aesthestic sensibility that there was so much unreadable code doing so little. Rewritten code is about half the size, faster, and (I hope) much more intelligible.
* Fix relcache.c so that local relations (those created duringTom Lane1999-09-06
| | | | | | | current transaction) are not flushed by shared-cache-inval reset message. SI reset actually works now, for probably the first time in a long time. I was able to run initdb and regression tests with a 16-element SI message array, with a lot of NOTICE: cache state reset messages but no crashes.
* RelationCacheInvalidate thought there were 7 nailed-in-cacheTom Lane1999-09-06
| | | | | system tables, but actually there are only 6 --- see RelationInitialize. Kinda makes you wonder how long ago this code was last executed...
* testBruce Momjian1999-09-06
|
* Per Tatsuo's recommendation, change mdopen so that it won'tTom Lane1999-09-05
| | | | | automatically create the file, except during bootstrap mode where that seems to be necessary.
* Disallow DROP TABLE/DROP INDEX inside a transaction block.Tom Lane1999-09-05
| | | | | | | | | | We can't support these properly, since once the relation's physical files are unlinked, there's no way to roll back the transaction. I suppose we could postpone the unlink till transaction commit, but then what of BEGIN; DROP TABLE foo; CREATE TABLE foo; ? The code does allow dropping a table/index created in the current transaction block, however, since the post-abort state would be that the table doesn't exist anyway.
* IsTransactionBlock() should return true in TBLOCK_ABORT state.Tom Lane1999-09-05
|
* remove elogs used for debugging.Bruce Momjian1999-09-04
|
* Intercept temp table lookups further up to map temp names.Bruce Momjian1999-09-04
|
* In RelationNameGetRelation(), replace temp table name byTom Lane1999-09-04
| | | | | | real name before doing lookup. We only want to index temp tables by their real names in the relcache, to ensure there's not more than one relcache entry for them.
* Avoid transaction overhead when there are no temp tablesTom Lane1999-09-04
| | | | to be deleted.
* Remove no-longer-needed code to update temprel's copy ofTom Lane1999-09-04
| | | | pg_class tuple during ALTER TABLE ADD COLUMN.
* Invalidate temp entries for aborted transactions.Bruce Momjian1999-09-04
|
* Modify RelationFlushRelation so that if the relcache entryTom Lane1999-09-04
| | | | | | | | | | | has positive refcount, it is rebuilt from pg_class data. This ensures that relcache entries will track changes made by other backends. Formerly, a shared inval report would just be ignored if it happened to arrive while the relcache entry was in use. Also, fix relcache to reset ref counts to zero during transaction abort. Finally, change LockRelation() so that it checks for shared inval reports after obtaining the lock. In this way, once any kind of lock has been obtained on a rel, we can trust the relcache entry to be up-to-date.
* Modify sinval so that InvalidateSharedInvalid() does not holdTom Lane1999-09-04
| | | | | | | | the SInval spinlock while it is calling the passed invalFunction or resetFunction. This is necessary to avoid deadlock with lmgr change; InvalidateSharedInvalid can be called recursively now. It should be a good performance improvement anyway --- holding a spinlock for more than a very short interval is a no-no.
* Fix for perl5 on BSD/OS breaks most other platforms, so back it out.Thomas G. Lockhart1999-09-03
| | | | | istm that this would be a job for configure. Most modern OSes actually use perl5 by default ;)
* driver v06-40-0007Byron Nikolaidis1999-09-03
|
* driver v06-40-0007Byron Nikolaidis1999-09-03
|
* Rule deparser didn't handle unary operators correctly.Tom Lane1999-09-02
|
* Repair a bunch of problems in md.c. This builds on Hiroshi'sTom Lane1999-09-02
| | | | | | | | | | | | | | | | | | | insight that RelationFlushRelation ought to invoke smgrclose, and that the way to make that work is to ensure that mdclose doesn't fail if the relation is already closed (or unlinked, if we are looking at a DROP TABLE). While I was testing that, I was able to identify several problems that we had with multiple-segment relations. The system is now able to do initdb and pass the regression tests with a very small segment size (I had it set to 64Kb per segment for testing). I don't believe that ever worked before. File descriptor leaks seem to be gone too. I have partially addressed the concerns we had about mdtruncate(), too. On a Win32 or NFS filesystem it is not possible to unlink a file that another backend is holding open, so what md.c now does is to truncate unwanted files to zero length before trying to unlink them. The other backends will be forced to close their open files by relation cache invalidation --- but I think it would take considerable work to make that happen before vacuum truncates the relation rather than after. Leaving zero-length files lying around seems a usable compromise.
* Document -x properly for pg_dump.Bruce Momjian1999-09-01
|
* Commit the bulk of Mike Ansley's long-query changes in theTom Lane1999-08-31
| | | | backend. Still much left to do.