Commit Graph

338 Commits

Author SHA1 Message Date
Bruce Momjian
beac8c1c46 Fix for vacuum and cache use. Fix for BSDI 4.0. 1998-10-12 00:53:42 +00:00
Bruce Momjian
6799af7d80 Reverse out vacuum change. 1998-10-09 21:31:34 +00:00
Bruce Momjian
2ac3173d75 major/minor shared name cleanup 1998-10-09 21:28:50 +00:00
Bruce Momjian
30debec6e5 Hello!
Here are two new patches for the Win32 support.

1) The patch based on the one from Hiroshi Inoue [Inoue@tpf.co.jp], to
load
Winsock.dll from libpq.dll.
2) A patch for psql.c to remove the call to WSAStartup(), since it is
not
required when it's done in libpq.dll.

I'm still looking for the possibility of having a crypt() function in
libpq.dll too, the same way getopt was included. Any chance of getting
this
before 6.4, or should we wait for the next one?


//Magnus
1998-10-08 00:10:49 +00:00
Bruce Momjian
cb4292ea64 vacuum cleanups 1998-10-07 22:31:50 +00:00
Bruce Momjian
9549a8cd7d Fix snprintf.c for machines that don't have long long, like some Irix. 1998-10-07 17:12:52 +00:00
Bruce Momjian
b932b1b1c4 Allow 8-key indexes. 1998-09-23 04:22:14 +00:00
Bruce Momjian
58fdae0ddf Fix for indexing problems. 1998-09-02 23:05:37 +00:00
Bruce Momjian
fa1a8d6a97 OK, folks, here is the pgindent output. 1998-09-01 04:40:42 +00:00
Bruce Momjian
af74855a60 Renaming cleanup, no pgindent yet. 1998-09-01 03:29:17 +00:00
Bruce Momjian
d8dbbc8cf9 vacuum fix. 1998-08-28 04:57:21 +00:00
Bruce Momjian
a53ea467e1 Hi all,
I  don't know if this is really related to the initdb problem
    discussion (haven't followed it enough). But seems so because
    it  fixes  a  damn  problem  during  index tuple insertion on
    CREATE TABLE into pg_attribute_relid_attnum_index.

    Anyway - this bug was really hard to find. During startup the
    relcache  reads  in  some  prepared  information  about index
    strategies from a file and then  reinitializes  the  function
    pointers  inside  the  scanKey data.  But for sake it assumed
    single attribute index tuples (hasn't that changed recently).
    Thus not all the strategies scanKey entries where initialized
    properly,  resulting  in  invalid  addresses  for  the  btree
    comparision functions.

    With  the  patch  at  the  end  the  regression  tests passed
    excellent except for the sanity_check that crashed at  vacuum
    and the misc test where the select unique1 from onek2 outputs
    the two rows in different order.

Jan
1998-08-28 03:36:31 +00:00
Bruce Momjian
4a70002149 fix for index problem. 1998-08-20 22:07:46 +00:00
Bruce Momjian
31309423c9 Another vacuum fix. 1998-08-20 15:16:59 +00:00
Bruce Momjian
09e125084a Fix for vacuum introduced today. 1998-08-19 23:48:23 +00:00
Bruce Momjian
a4d3695f28 Vacuum cleanup. 1998-08-19 22:01:18 +00:00
Bruce Momjian
bd5aaca391 Vacuum fix. Was modifying cache. 1998-08-19 19:59:49 +00:00
Bruce Momjian
9c4eceb4e3 Fix for vacuum updating problem. 1998-08-19 15:47:36 +00:00
Bruce Momjian
7971539020 heap_fetch requires buffer pointer, must be released; heap_getnext
no longer returns buffer pointer, can be gotten from scan;
	descriptor; bootstrap can create multi-key indexes;
pg_procname index now is multi-key index; oidint2, oidint4, oidname
are gone (must be removed from regression tests); use System Cache
rather than sequential scan in many places; heap_modifytuple no
longer takes buffer parameter; remove unused buffer parameter in
a few other functions; oid8 is not index-able; remove some use of
single-character variable names; cleanup Buffer variables usage
and scan descriptor looping; cleaned up allocation and freeing of
tuples; 18k lines of diff;
1998-08-19 02:04:17 +00:00
Vadim B. Mikheev
be8300b18f Use Snapshot in heap access methods. 1998-07-27 19:38:40 +00:00
Marc G. Fournier
5979d73841 From: t-ishii@sra.co.jp
As Bruce mentioned, this is due to the conflict among changes we made.
Included patches should fix the problem(I changed all MB to
MULTIBYTE). Please let me know if you have further problem.

P.S. I did not include pathces to configure and gram.c to save the
file size(configure.in and gram.y modified).
1998-07-26 04:31:41 +00:00
Marc G. Fournier
bf00bbb0c4 I really hope that I haven't missed anything in this one...
From: t-ishii@sra.co.jp

Attached are patches to enhance the multi-byte support.  (patches are
against 7/18 snapshot)

* determine encoding at initdb/createdb rather than compile time

Now initdb/createdb has an option to specify the encoding. Also, I
modified the syntax of CREATE DATABASE to accept encoding option. See
README.mb for more details.

For this purpose I have added new column "encoding" to pg_database.
Also pg_attribute and pg_class are changed to catch up the
modification to pg_database.  Actually I haved added pg_database_mb.h,
pg_attribute_mb.h and pg_class_mb.h. These are used only when MB is
enabled. The reason having separate files is I couldn't find a way to
use ifdef or whatever in those files. I have to admit it looks
ugly. No way.

* support for PGCLIENTENCODING when issuing COPY command

commands/copy.c modified.

* support for SQL92 syntax "SET NAMES"

See gram.y.

* support for LATIN2-5
* add UNICODE regression test case
* new test suite for MB

New directory test/mb added.

* clean up source files

Basic idea is to have MB's own subdirectory for easier maintenance.
These are include/mb and backend/utils/mb.
1998-07-24 03:32:46 +00:00
Bruce Momjian
2a8996f631 Print relation name before vacuum, results after vacuum. 1998-07-12 04:37:55 +00:00
Bruce Momjian
6bd323c6b3 Remove un-needed braces around single statements. 1998-06-15 19:30:31 +00:00
Bruce Momjian
09baa3cc81 This patch...
1. Removes the unnecessary "#define AbcRegProcedure 123"'s from
pg_proc.h.

2. Changes those #defines to use the names already defined in
fmgr.h.

3. Forces the make of fmgr.h in backend/Makefile instead of having
it
   made as a dependency in access/common/Makefile  *hack*hack*hack*

4. Rearranged the #includes to a less helter-skelter arrangement,
also
    changing <file.h> to "file.h" to signify a non-system header.

5. Removed "pg_proc.h" from files where its only purpose was for
the
   #defines removed in item #1.

6. Added "fmgr.h" to each file changed for completeness sake.

Turns out that #6 was not necessary for some files because fmgr.h
was being included in a roundabout way SIX levels deep by the first
include.

"access/genam.h"
 ->"access/relscan.h"
   ->"utils/rel.h"
     ->"access/strat.h"
       ->"access/skey.h"
	 ->"fmgr.h"

So adding fmgr.h really didn't add anything to the compile, hopefully
just made it clearer to the programmer.

S Darren.
1998-04-27 04:08:07 +00:00
Bruce Momjian
a32450a585 pgindent run before 6.3 release, with Thomas' requested changes. 1998-02-26 04:46:47 +00:00
Vadim B. Mikheev
20ef87171c Fix 6.X vacuum bug in shrinking code. 1998-02-25 23:40:32 +00:00
Bruce Momjian
bced35f1e1 Vacuum parameter fix. 1998-02-03 21:57:27 +00:00
Bruce Momjian
00f325d510 Subselects with =, >, etc.
Cleanup for vacuum help, manual page, and error message
1998-02-03 19:27:30 +00:00
Bruce Momjian
726c3854cb Inline fastgetattr and others so data access does not use function
calls.
1998-01-31 04:39:26 +00:00
PostgreSQL Daemon
baef78d96b Thank god for searchable mail archives.
Patch by: wieck@sapserv.debis.de (Jan Wieck)

   One  of  the design rules of PostgreSQL is extensibility. And
   to follow this rule means (at least for me) that there should
   not  only  be a builtin PL.  Instead I would prefer a defined
   interface for PL implemetations.
1998-01-15 19:46:37 +00:00
Bruce Momjian
deea69b90e Change some ABORTS to ERROR. Add line number when COPY Failure. 1998-01-05 16:40:20 +00:00
Bruce Momjian
0d9fc5afd6 Change elog(WARN) to elog(ERROR) and elog(ABORT). 1998-01-05 03:35:55 +00:00
Marc G. Fournier
5379b84eff More cleanups. I can now compile without PORTNAME being defined n
Makefile.global.

End result, if all goes well, should allow for much easier porting, since
there will no longer be a concept of a "port".  Most, if not everything,
*should* be determined by configure, or by the compiler itself.  Still
work to be done though :)
1997-12-19 02:09:10 +00:00
Marc G. Fournier
9ef6b32c47 Makefile cleaned up
async.c: #include <port-protos.h> surrounded by an #ifdef HAVE_STRDUP

vacuum.c: #include <port-protos.h> commented out...can someone comment as
          to why it was included, as it doesn't seem to have any effect
          under FreeBSD so far...would like some sort of #ifdef wrapper
          like async.c if possible
1997-12-17 04:44:50 +00:00
Bruce Momjian
4a5b781d71 Break parser functions into smaller files, group together. 1997-11-25 22:07:18 +00:00
Bruce Momjian
f4253b0b49 Archive cleanups. 1997-11-21 19:59:39 +00:00
Bruce Momjian
3fa2bb316c Remove archive stuff. 1997-11-21 18:12:58 +00:00
Bruce Momjian
e9e1ff226f Remove all time travel stuff. Small parser cleanup. 1997-11-20 23:24:03 +00:00
Vadim B. Mikheev
32cd09ac6d Good Bye, Time Travel! 1997-11-02 15:27:14 +00:00
Vadim B. Mikheev
708f67c7a9 Blowaway relation buffers from buffer pool before truncation. 1997-09-22 07:12:33 +00:00
Bruce Momjian
1ea01720d5 heapattr functions now return a Datum, not char *. 1997-09-12 04:09:08 +00:00
Bruce Momjian
59f6a57e59 Used modified version of indent that understands over 100 typedefs. 1997-09-08 21:56:23 +00:00
Bruce Momjian
075cede748 Add typdefs to pgindent run. 1997-09-08 20:59:27 +00:00
Bruce Momjian
319dbfa736 Another PGINDENT run that changes variable indenting and case label indenting. Also static variable indenting. 1997-09-08 02:41:22 +00:00
Bruce Momjian
1ccd423235 Massive commit to run PGINDENT on all *.c and *.h files. 1997-09-07 05:04:48 +00:00
Bruce Momjian
7515bb484e Fix for psql pager when no tty, cleanup for vacuum attdisbursion type. 1997-08-22 04:13:18 +00:00
Bruce Momjian
e482462960 Rename pg_attribute.attnvals to attdisbursion. 1997-08-21 03:02:13 +00:00
Bruce Momjian
f1edf02cc1 Change pg_attribute.attnvals to float4, change #ifdef 0 to #if 0, fix aix call to strNcpy, fix pg_super_user_id in pg_dumpall, change pg_database.dtadba from oid to int4. 1997-08-21 02:28:55 +00:00
Bruce Momjian
b99c63cfc0 Now that names are null terminated, no need to do all that NAMEDATALEN stuff. 1997-08-18 20:53:48 +00:00
Bruce Momjian
ea5b5357cd Remove more (void) and fix -Wall warnings. 1997-08-12 22:55:25 +00:00
Bruce Momjian
79e78f0b80 Added SCO support, from Daniel Harris. 1997-07-28 00:57:08 +00:00
Bruce Momjian
858f35510e Cleanup on xinv# table names. 1997-06-07 17:34:35 +00:00
Bruce Momjian
51b03770d7 avoid xinv* table name conflict with large objects. 1997-06-07 05:19:06 +00:00
Bruce Momjian
a089cdd9d3 lowercase large object table name fix. 1997-06-06 03:41:16 +00:00
Vadim B. Mikheev
2f8c2e997b Fix deleted tuples re-incarnation possible when vacuum transaction
start time equal to tuple->t_tmax.

Privent shrinking if there are tuples modifyed by running transactions
(it concerns system relations only, currently).
1997-06-03 01:29:26 +00:00
Vadim B. Mikheev
b45128f1c3 Kill re-incarnated bug arround
Assert ( --Vnpages > 0 );
	and
Assert ( --Fnpages > 0 );
1997-05-05 10:01:02 +00:00
Vadim B. Mikheev
3055eeff93 More informative NOTICEs in tuple checks. 1997-04-30 03:05:43 +00:00
Vadim B. Mikheev
3c461c8397 Analyze data only if specified and specified attrs only. 1997-04-23 06:28:48 +00:00
Vadim B. Mikheev
a0d63ac98c The patch fixes a rare bug that may occur when one tries to vacuum a single
table. The table name is de-allocated by the CommitTransactionCommand()
in vc_init() before it is copied in VacRel.data and sometimes this causes
a SIGSEGV. My patch simply moves the strcpy before vc_init.

Submitted by Massimo Dal Zotto <dz@cs.unitn.it>.
1997-04-17 01:45:36 +00:00
Marc G. Fournier
5dcc9bef6e Patch for Solaris 2.5 from: adrian@waltham.harvard.net 1997-04-15 18:18:45 +00:00
Vadim B. Mikheev
1a3c7371e8 vc_getrels(p, VacRelP) returns NIL for special relations (indices,
sequences,...) and vc_delhilowstats(NULL->vrl_relid) ...
1997-04-02 03:48:01 +00:00
Bruce Momjian
ea36b0d3cd Add missing paren. 1997-03-10 15:08:57 +00:00
Bruce Momjian
766bdd2bb5 Vacuum cleanups from Massimo. 1997-03-09 23:29:15 +00:00
Bruce Momjian
d8023a00bd Fix vacuum crash Vadim found. 1997-03-09 07:12:36 +00:00
Bruce Momjian
22cabc5514 Reverse patch for Vadims problem. 1997-03-07 00:59:05 +00:00
Bruce Momjian
da90363c12 Fix vacuum bug Vadim found with text fields. 1997-03-06 18:38:35 +00:00
Vadim B. Mikheev
74bd93d597 Not understandable fix of strange bug in vacuum statistic functions. 1997-03-06 11:41:09 +00:00
Bruce Momjian
e230c0b672 Clarify clearing of attribute stats memory. 1997-02-18 04:13:57 +00:00
Bruce Momjian
2300ac0dc4 Add attribute optimization statistics. 1997-02-07 16:24:12 +00:00
Vadim B. Mikheev
daf75276d4 New func _vc_scanoneind: scan one index relation to update statistic
in pg_class if no one page was reapped by vacuum.
1997-01-29 02:59:03 +00:00
Marc G. Fournier
37e8621623 The check should be for getrusage(), not rusage() ... change the defines
to reflect what configure is going to define when the time comes
1997-01-25 19:29:47 +00:00
Marc G. Fournier
60265ee651 Switch over NEED_RUSAGE to HAVE_RUSAGE for configure 1997-01-24 23:48:32 +00:00
Bruce Momjian
84876289cc Cast constants to the type of the other binary operand.
Invalidate vacuum relation cache to use new row counts from vacuum.
1997-01-22 01:44:02 +00:00
Bruce Momjian
0d3bf78e0b Added VERBOSE option to vacuum command. 1997-01-13 03:45:33 +00:00
Vadim B. Mikheev
c6a605705c index_insert has now HeapRelation as last param (for unique index
implementation).
1997-01-10 10:00:39 +00:00
Vadim B. Mikheev
068a4c53af Closing opened indices. 1997-01-05 10:58:15 +00:00
Vadim B. Mikheev
03659a262e Added: dynamic re-moving page from list of pages usable for shrinking
if its free-space < min_tuple_len.
1996-11-29 10:27:59 +00:00
Vadim B. Mikheev
c7cba5780f Fix for "might be used uninitialized" warnings. 1996-11-28 04:37:38 +00:00
Vadim B. Mikheev
f0c5a6c614 Shrinking and other things. 1996-11-27 07:27:20 +00:00
Marc G. Fournier
7385619f14 Clean it up so that it compiles 1996-11-06 08:21:43 +00:00
Marc G. Fournier
ce4c0ce1de Some compile failure fixes from Keith Parks <emkxp01@mtcc.demon.co.uk> 1996-11-06 06:52:23 +00:00
Marc G. Fournier
510ebf75a1 Another first pass at cleaning up the #includes 1996-11-03 23:57:43 +00:00
Marc G. Fournier
f36b2560a4 Major code cleanups from D'arcy (-Wall -Werror) 1996-10-23 07:42:13 +00:00
Vadim B. Mikheev
bc50067426 1. Reap deleted/unused tuples on page-base
2. Reap unused tuples too
3. Reap empty pages
4. Check if a page is initialized, initialize it if not
   and reap it
5. Binary search in list of reapped pages/tids to check
   is the heap' tid pointed by a index' tuple on this list
   (it's mu-u-uch faster)
1996-10-18 08:13:36 +00:00
Bruce Momjian
aefb294e13 Added restriction to tables vacuum'able.
Added NOTICE messages for bad table names.
1996-10-03 20:11:41 +00:00
Bruce Momjian
267ef0a642 Allow vacuum to run for only one table. Fixes allocation bug. 1996-10-03 04:19:29 +00:00
Marc G. Fournier
d31084e9d1 Postgres95 1.01 Distribution - Virgin Sources 1996-07-09 06:22:35 +00:00