aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* Patch from Massimo Dal Zotto <dz@cs.unitn.it>Marc G. Fournier1997-02-12
| | | | | | | | | | The following patches add to the backend a new debugging flag -K which prints a debug trace of all locking operations on user relations (those with oid greater than 20000). The code is compiled only if LOCK_MGR_DEBUG is defined, so the patch should be harmless if not explicitly enabled. I'm using the code to trace deadlock conditions caused by application queries using the command "$POSTMASTER -D $PGDATA -o '-d 1 -K 1'. The patches are for version 6.0 dated 970126.
* What looks like some *major* improvements to btree indexing...Marc G. Fournier1997-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patches from: aoki@CS.Berkeley.EDU (Paul M. Aoki) i gave jolly my btree bulkload code a long, long time ago but never gave him a bunch of my bugfixes. here's a diff against the 6.0 baseline. for some reason, this code has slowed down somewhat relative to the insertion-build code on very small tables. don't know why -- it used to be within about 10%. anyway, here are some (highly unscientific!) timings on a dec 3000/300 for synthetic tables with 10k, 100k and 1000k tuples (basically, 1mb, 10mb and 100mb heaps). 'c' means clustered (pre-sorted) inputs and 'u' means unclustered (randomly ordered) inputs. the 10k table basically fits in the buffer pool, but the 100k and 1000k tables don't. as you can see, insertion build is fine if you've sorted your heaps on your index key or if your heap fits in core, but is absolutely horrible on unordered data (yes, that's 7.5 hours to index 100mb of data...) because of the zillions of random i/os. if it doesn't work for you for whatever reason, you can always turn it back off by flipping the FastBuild flag in nbtree.c. i don't have time to maintain it. good luck! baseline code: time psql -c 'create index c10 on k10 using btree (c int4_ops)' bttest real 8.6 time psql -c 'create index u10 on k10 using btree (b int4_ops)' bttest real 9.1 time psql -c 'create index c100 on k100 using btree (c int4_ops)' bttest real 59.2 time psql -c 'create index u100 on k100 using btree (b int4_ops)' bttest real 652.4 time psql -c 'create index c1000 on k1000 using btree (c int4_ops)' bttest real 636.1 time psql -c 'create index u1000 on k1000 using btree (b int4_ops)' bttest real 26772.9 bulkloading code: time psql -c 'create index c10 on k10 using btree (c int4_ops)' bttest real 11.3 time psql -c 'create index u10 on k10 using btree (b int4_ops)' bttest real 10.4 time psql -c 'create index c100 on k100 using btree (c int4_ops)' bttest real 59.5 time psql -c 'create index u100 on k100 using btree (b int4_ops)' bttest real 63.5 time psql -c 'create index c1000 on k1000 using btree (c int4_ops)' bttest real 636.9 time psql -c 'create index u1000 on k1000 using btree (b int4_ops)' bttest real 701.0
* Assign priorities when creating jobs in lock queue.Bruce Momjian1997-02-11
|
* Remove machine.h, since it wasn't doing anything that config.h wasn'tMarc G. Fournier1997-02-09
| | | | | | already doing Removed only reference to a machine.h I could find in c.h, to win32/machine.h
* Add attribute optimization statistics.Bruce Momjian1997-02-07
|
* Remove extra paren in ifdef.Bruce Momjian1997-02-06
|
* Various changes to improve/support MklinuxMarc G. Fournier1997-02-06
| | | | Submitted by: Tatsuo Ishii
* autoconf test for and set HAVE_VFORKMarc G. Fournier1997-02-06
|
* Get in there...Marc G. Fournier1997-02-05
|
* Test for existence of inet_aton on the system, and only include inet_aton.c ifMarc G. Fournier1997-02-04
| | | | | | required Pointed out by Brian E. Gallew
* Change references to NEED_RUSAGE to HAVE_RUSAGEMarc G. Fournier1997-02-03
| | | | Pointed out by:" Tatsuo Ishii <t-ishii@sra.co.jp>
* New func _vc_scanoneind: scan one index relation to update statisticVadim B. Mikheev1997-01-29
| | | | in pg_class if no one page was reapped by vacuum.
* Apply usage patches for European Dates patch from KeithMarc G. Fournier1997-01-27
|
* Slight change to nabstime.c so that configure is able to handle a systemMarc G. Fournier1997-01-27
| | | | | | | whereby timezone isn't an int, but tzset() exists... This isn't a definitive fix, as there is probably an easier way of fixing the bug...
* Convert MISSING_SYSCONF to !HAVE_SYSCONF for autoconfMarc G. Fournier1997-01-27
| | | | From: Keith Parks
* More removals for next/nextstep. Fix IPC lib for them.Bruce Momjian1997-01-26
|
* Change next to nextstep where missed.Bruce Momjian1997-01-26
|
* |From: Keith Parks <emkxp01@mtcc.demon.co.uk>Marc G. Fournier1997-01-26
| | | | | | | | | | | | | | | | | | | | | | |Subject: [PATCH] adding SYS_TIME just for fun. | |Hi, | |Whilst I was playing round with the European dates patch I noticed the sysfunc() |that allows you to do :- | |create table test ( da date); |insert into test values (SYS_DATE); | |and have the current system date inserted. | |So I thought it would be nice to have the SYS_TIME facility too. | |I've cloned the function and changed a few things and there you have it, |you can now do: | |create table test2 ( ti time); |insert into test2 values (SYS_TIME);
* Linux defines MAXINT in values.h, which causes an error when compiling.Marc G. Fournier1997-01-26
| | | | Wrap it in an #ifndef to prevent this
* Bring in a patch from Keith Parks to move the use of European datesMarc G. Fournier1997-01-26
| | | | | | from a #define to a run-time option '-e' Man page was updated to reflect new option
* Fix typo in struct name.Bruce Momjian1997-01-26
|
* would you mind committing the following changes for me? (the firstBruce Momjian1997-01-25
| | | | | bug causes compilation to fail on alpha, the second causes a compiler in this environment
* More autosize structure error checks.Bruce Momjian1997-01-25
|
* The check should be for getrusage(), not rusage() ... change the definesMarc G. Fournier1997-01-25
| | | | to reflect what configure is going to define when the time comes
* remove asm/bitops.h, as its causing more problems then it fixes.Marc G. Fournier1997-01-25
|
* Switch over NEED_RUSAGE to HAVE_RUSAGE for configureMarc G. Fournier1997-01-24
|
* Change NEED_SIG_JMP to HAVE_SIGSETJMP in preparation for configureMarc G. Fournier1997-01-24
|
* Another switch for configure: NEED_SYS_SELECT_H to HAVE_SYS_SELECT_HMarc G. Fournier1997-01-24
|
* Convert NEED_{RINT,CBRT,ISINF} to HAVE_* in prepration for configure...Marc G. Fournier1997-01-24
|
* Replace occurances of USE_{LIMITS,VALUES}_H with HAVE_* in preparationMarc G. Fournier1997-01-24
| | | | for switch over to configure
* The second patch adds a more explicative error message to BufferPoolCheckLeak.Marc G. Fournier1997-01-23
| | | | | | It should be completely harmless. Submitted by: Massimo Dal Zotto <dz@cs.unitn.it>
* Patch from Massimo Dal Zotto <dz@cs.unitn.it>Marc G. Fournier1997-01-23
| | | | | | | | | The first patch changes the behavior of aclcheck for groups. Currently an user can access a table only if he has the required permission for ALL the groups defined for that table. With my patch he can access a table if he has the permission for ONE of the groups, which seems to me a more useful thing. If you think this should be the correct behavior of the acl group check feel free to remove the #ifdef, if not please add a commented line to config.h.
* Remove SB_PAD. Compute padding at compile time.Bruce Momjian1997-01-23
|
* Small fixes for SVR4 port by Frank RidderbuschMarc G. Fournier1997-01-23
|
* Removed unlinked patch that is not neede now that Vadim has properly fixed it.Bruce Momjian1997-01-23
|
* INDEXSCAN_PATCH changes: should work for (Param OP VAR) tooVadim B. Mikheev1997-01-22
| | | | (but I didn't test FUNC OP PARAM and PARAM OP FUNC - no time)
* 1. INDEXSCAN_PATCH changes: (op Param Var) should work tooVadim B. Mikheev1997-01-22
| | | | | | 2. IndexScanableOperand now uses match_indexkey_operand instead of equal_indexkey_var (if we have some index on attribute X then we shouldn't use it for 'where some_func(X) OP CONST').
* Fixing bug in INDEXSCAN_PATCH:Vadim B. Mikheev1997-01-22
| | | | | | ExecInitIndexScan now works with operands of Param type and (!!!) postquel_execute() now substitutes param values before calling postquel_start().
* Another change from /usr/include/machine/limits.h to just limits.hMarc G. Fournier1997-01-22
|
* Another one that should be including limits.h vs machine/limits.hMarc G. Fournier1997-01-22
|
* Taking a chance here. Under both Solaris and FreeBSD, there is aMarc G. Fournier1997-01-22
| | | | | | | | /usr/include/limits.h (which quiets the costsize.c warnings)...under FreeBSD, /usr/include/limits.h *includes* machine/limits.h, while under Solaris, there is no such things as /usr/include/machine... Problem with Solaris pointed out by Mark Wahl
* the i386_solaris port requires inet_aton.oMarc G. Fournier1997-01-22
| | | | Pointed out by Mark Wahl
* Cast constants to the type of the other binary operand.Bruce Momjian1997-01-22
| | | | Invalidate vacuum relation cache to use new row counts from vacuum.
* Fixing possible losing data changes:Vadim B. Mikheev1997-01-20
| | | | | | | | | | 1. New flag - BM_JUST_DIRTIED - added for BufferDesc; 2. All data "dirtiers" (WriteBuffer and WriteNoReleaseBuffer) set this flag (and BM_DIRTY too); 3. All data "flushers" (FlushBuffer, BufferSync and BufferReplace) turn this flag off just before calling smgr[blind]write/smgrflush and check this flag after flushing buffer: if it turned ON then BM_DIRTY will stay ON.
* 1. Setting rdesc->rd_tmpunlinked to FALSE in heap_creatr () just afterVadim B. Mikheev1997-01-20
| | | | | | smgrcreate (). 2. Checking rdesc->rd_tmpunlinked in heap_destroy () & heap_destroyr () before calling smgrunlink ().
* Add missing #.Bruce Momjian1997-01-18
|
* Add include files needed for stat().Bruce Momjian1997-01-18
|
* Prevent UNIQUE indexes for non-btree access methods.Bruce Momjian1997-01-18
|
* Minor change to file point out by AndrewMarc G. Fournier1997-01-16
|
* Change EXPLAIN options to just use VERBOSE.Bruce Momjian1997-01-16
|