summaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAgeFilesLines
* Eliminate local inefficiencies in updateTargetListEntry, make_var, andTom Lane1999-11-013-73/+101
| | | | make_const --- don't repeat cache searches that aren't needed.
* formatting cleanupBruce Momjian1999-11-011-9/+5
|
* Allow indexes on system catalogs for use in cache code.Bruce Momjian1999-11-014-38/+203
| | | | Thanks to Hiroshi
* Rule dumper failed to affix '*' to inheritable RTEs.Tom Lane1999-10-311-20/+24
|
* Avoid duplicate ExecTypeFromTL() call in ExecInitJunkFilter() by passingTom Lane1999-10-303-47/+38
| | | | | | | in the TupleDesc that the caller already has (for call from ExecMain) or can make just as easily as ExecInitJunkFilter() can (for call from ExecAppend). Also, don't bother to build a junk filter for an INSERT operation that doesn't actually need one, which is the normal case.
* Rearrange heap_beginscan to eliminate extra call onTom Lane1999-10-301-10/+16
| | | | | mdnblocks. Bad enough it does an lseek, but to do it twice for no reason...
* Skip invoking set_uppernode_references() for a RESULT nodeTom Lane1999-10-301-3/+8
| | | | | that has no subplan --- saves a material amount of time for a simple INSERT ... VALUES query.
* Rewrite preprocess_targetlist() to reduce overhead for simple INSERTs.Tom Lane1999-10-301-238/+160
| | | | | | In particular, don't bother to look up type information for attributes where we're not actually going to use it, and avoid copying entire tlist structure when it's not necessary.
* Further performance improvements in sorting: reduce number of comparisonsTom Lane1999-10-301-185/+417
| | | | | | | | during initial run formation by keeping both current run and next-run tuples in the same heap (yup, Knuth is smarter than I am). And, during merge passes, make use of available sort memory to load multiple tuples from any one input 'tape' at a time, thereby improving locality of access to the temp file.
* Ooops ... 6.5 coding wasn't quite right anymore. Should learnTom Lane1999-10-301-6/+10
| | | | never to commit without running regress tests...
* Put back code in nodeAgg to generate a dummy all-nulls input tupleTom Lane1999-10-301-16/+35
| | | | | | | before calling execProject, when the outerPlan has returned zero tuples. I took this out under the mistaken impression that the input tuple couldn't be referenced by execProject if we weren't in GROUP BY mode. But it can, if we're in an UPDATE or DELETE...
* Make USING in COPY optional.Bruce Momjian1999-10-291-4/+8
|
* Fix wording.Bruce Momjian1999-10-291-5/+5
|
* Fix compile after COMMENT problem.Bruce Momjian1999-10-262-10/+17
|
* Hello.Bruce Momjian1999-10-2611-221/+993
| | | | | | | | | | | | | | | | | | | The following patch extends the COMMENT ON functionality to the rest of the database objects beyond just tables, columns, and views. The grammer of the COMMENT ON statement now looks like: COMMENT ON [ [ DATABASE | INDEX | RULE | SEQUENCE | TABLE | TYPE | VIEW ] <objname> | COLUMN <relation>.<attribute> | AGGREGATE <aggname> <aggtype> | FUNCTION <funcname> (arg1, arg2, ...) | OPERATOR <op> (leftoperand_typ rightoperand_typ) | TRIGGER <triggername> ON relname> Mike Mascari (mascarim@yahoo.com)
* Standardize on MAXPGPATH as the size of a file pathname buffer,Tom Lane1999-10-2511-104/+113
| | | | | | | eliminating some wildly inconsistent coding in various parts of the system. I set MAXPGPATH = 1024 in config.h.in. If anyone is really convinced that there ought to be a configure-time test to set the value, go right ahead ... but I think it's a waste of time.
* 'extern char *pg_pathname' in these files fails to agree withTom Lane1999-10-253-5/+5
| | | | | postgres.c's declaration of 'char pg_pathname[...]'. I dunno when these ports were last used, but they are sure broken now...
* Add a notion of a 'catalog version number' that can indicateTom Lane1999-10-242-11/+34
| | | | | | | | | when an initdb-forcing change has been applied within a development cycle. PG_VERSION serves this purpose for official releases, but we can't bump the PG_VERSION number every time we make a change to the catalogs during development. Instead, increase the catalog version number to warn other developers that you've made an incompatible change. See my mail to pghackers for more info.
* Look Ma, no MAX_PARSE_BUFFER! (At least not in the backend.Tom Lane1999-10-2311-71/+79
| | | | pg_dump and interfaces/odbc still need some work.)
* I have a patch for postgresql-snapshot(1999-10-22).Bruce Momjian1999-10-221-5/+11
| | | | | | | | | | | | This patch fix a TODO list item. * require SELECT DISTINCT target list to have all ORDER BY columns example ogawa=> select distinct x from t1 order by y; ERROR: ORDER BY columns must appear in SELECT DISTINCT target list --- Atsushi Ogawa
* Bugfix for CREATE RULE invoked via SPI --- from Hiroshi,Tom Lane1999-10-211-2/+3
| | | | 23 Jul 99. Not sure why this didn't get applied before...
* Remove fixed-size buffers in rule storage routine.Tom Lane1999-10-211-35/+40
|
* BufFileSeek's behavior at segment boundaries wasn't whatTom Lane1999-10-191-13/+26
| | | | logfile.c wanted ... seems easier to fix BufFileSeek.
* Drive a stake through the heart of the last use of MAX_PARSE_BUFFERTom Lane1999-10-181-21/+25
| | | | | in the backend. Still a few stragglers, but we're getting closer to being rid of query length limits...
* Remove fixed-size literal buffer from scan.l, and repairTom Lane1999-10-182-62/+73
| | | | | | | | boundary-condition bug in myinput() which caused flex scanner to fail on tokens larger than a bufferload. Turns out flex doesn't want null- terminated input ... and if it gives you a 1-character buffer, you'd better supply a character, not a null, lest you be thought to be reporting end of input.
* Except_Intersect_Rewrite() forgot to move LIMIT info to newTom Lane1999-10-171-1/+8
| | | | topmost SELECT node after rearranging query tree.
* Change fd.c so that temp files are closed and deleted atTom Lane1999-10-171-5/+9
| | | | | | | proc_exit time. I discovered that if the frontend closes the connection when you're inside a transaction block, there is nothing ensuring that temp files go away ... I wonder whether proc_exit ought to try to do an explicit transaction abort?
* Remove now-dead sort modules.Tom Lane1999-10-172-1380/+0
|
* Final stage of psort reconstruction work: replace psort.c withTom Lane1999-10-176-996/+1664
| | | | | | | a generalized module 'tuplesort.c' that can sort either HeapTuples or IndexTuples, and is not tied to execution of a Sort node. Clean up memory leakages in sorting, and replace nbtsort.c's private implementation of mergesorting with calls to tuplesort.c.
* Actually, nodeMergejoin shouldn't include psort.h at all...Tom Lane1999-10-171-2/+1
|
* nodeMergejoin was depending on an inclusion from psort.h...Tom Lane1999-10-161-1/+2
|
* Second phase of psort reconstruction project: add bookkeeping logic toTom Lane1999-10-164-366/+1245
| | | | | | recycle storage within sort temp file on a block-by-block basis. This reduces peak disk usage to essentially just the volume of data being sorted, whereas it had been about 4x the data volume before.
* Check RELSEG_SIZE when postmaster starting up.Tatsuo Ishii1999-10-161-0/+10
| | | | | this is neccesary to make sure that the backend and the database uses same RELSEG_SIZE.
* This patch implements ORACLE's COMMENT SQL command.Bruce Momjian1999-10-156-16/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | >From the ORACLE 7 SQL Language Reference Manual: ----------------------------------------------------- COMMENT Purpose: To add a comment about a table, view, snapshot, or column into the data dictionary. Prerequisites: The table, view, or snapshot must be in your own schema or you must have COMMENT ANY TABLE system privilege. Syntax: COMMENT ON [ TABLE table ] | [ COLUMN table.column] IS 'text' You can effectively drop a comment from the database by setting it to the empty string ''. ----------------------------------------------------- Example: COMMENT ON TABLE workorders IS 'Maintains base records for workorder information'; COMMENT ON COLUMN workorders.hours IS 'Number of hours the engineer worked on the task'; to drop a comment: COMMENT ON COLUMN workorders.hours IS ''; The current patch will simply perform the insert into pg_description, as per the TODO. And, of course, when the table is dropped, any comments relating to it or any of its attributes are also dropped. I haven't looked at the ODBC source yet, but I do know from an ODBC client standpoint that the standard does support the notion of table and column comments. Hopefully the ODBC driver is already fetching these values from pg_description, but if not, it should be trivial. Hope this makes the grade, Mike Mascari (mascarim@yahoo.com)
* Split 'BufFile' routines out of fd.c into a new module, buffile.c. ExtendTom Lane1999-10-137-277/+648
| | | | | | | | BufFile so that it handles multi-segment temporary files transparently. This allows sorts and hashes to work with data exceeding 2Gig (or whatever the local limit on file size is). Change psort.c to use relative seeks instead of absolute seeks for backwards scanning, so that it won't fail when the data volume exceeds 2Gig.
* I have created a small patch that makes possible to compile pgsql on newerBruce Momjian1999-10-121-3/+3
| | | | | | | | | | | Cygwin snapshots (tested on 990115 which is recommended to use - it fixes some errors in B20.1) And I have another patch for including <sys/ipc.h> before <sys/sem.h> in backend/storage/lmgr/proc.c - it is required due the design of cygipc headers Dan
* Add blcksz to struct ControlFileData to check BLCKSZ is sameTatsuo Ishii1999-10-121-0/+5
| | | | as BLCKSZ which the backend was compiled in.
* The 1st step to implement new type of scan,TidScan.Hiroshi Inoue1999-10-112-5/+216
| | | | | Now WHERE restriction on ctid is allowed though it is sequentially scanned.
* Re-add mention of FAQ's for shared memory/ipc errors.Bruce Momjian1999-10-101-6/+9
|
* Allow \r as whitespace.Bruce Momjian1999-10-091-2/+2
|
* First real FOREIGN KEY constraint trigger functionality.Jan Wieck1999-10-081-12/+942
| | | | | | | | | Implemented now: FOREIGN KEY ... REFERENCES ... MATCH FULL FOREIGN KEY ... MATCH FULL ... ON DELETE CASCADE Jan
* Update display of debug levels.Bruce Momjian1999-10-082-5/+5
|
* clean up debug flags.Bruce Momjian1999-10-081-11/+3
|
* Comment cleanup.Bruce Momjian1999-10-081-3/+3
|
* Fix for "--" comment and no trailing newline, as seen in Perl.Bruce Momjian1999-10-081-2/+2
|
* Cleanup -is flag to -l for SSL. Another PERL variable name fix. CleanBruce Momjian1999-10-083-31/+27
| | | | | up debugging options for postmaster and postgres programs. postmaster -d is no longer optional. Documentation updates.
* Remove a no-longer-needed kluge for degenerate aggregate cases,Tom Lane1999-10-082-23/+12
| | | | and update some comments.
* More startup/shutdown log messages.Vadim B. Mikheev1999-10-081-10/+43
|
* Somehow missed this call to addRangeTableEntry() ...Tom Lane1999-10-071-2/+2
|
* Fix planner and rewriter to follow SQL semantics for tables that areTom Lane1999-10-0717-355/+356
| | | | | | | | | | | mentioned in FROM but not elsewhere in the query: such tables should be joined over anyway. Aside from being more standards-compliant, this allows removal of some very ugly hacks for COUNT(*) processing. Also, allow HAVING clause without aggregate functions, since SQL does. Clean up CREATE RULE statement-list syntax the same way Bruce just fixed the main stmtmulti production. CAUTION: addition of a field to RangeTblEntry nodes breaks stored rules; you will have to initdb if you have any rules.