Commit graph

146 commits

Author SHA1 Message Date
Bruce Momjian
6724a50787 Change my-function-name-- to my_function_name, and optimizer renames. 1999-02-13 23:22:53 +00:00
Tom Lane
07c33ba79e pg_dump -d or -D didn't quote special characters in INSERT data
correctly.  -D had problems with tables with inherited fields, also.
1999-02-08 01:46:28 +00:00
Bruce Momjian
289a826dab Here is a new version of my patch for allowing pg_dump to DROP schema
elements prior to CREATEing new ones.  It is under control of the -c
command line option (with the default being status quo).

The DROP TRIGGER portion still needs implementation.  Anyone able to
help clarify what exactly the CREATE TRIGGER portion does so I can fix
this?

Again, I have tried this with tables/indexes/sequences, but do not
have other schema elements in my database.  As a result, I am not 100%
convinced that I got the syntax correct in all cases (but think I did,
nonetheless).  If anyone can check the other cases, I'd appreciate it.

Cheers,
Brook

[I added manual page and sgml additions for the new -c option.]
1999-01-21 22:53:37 +00:00
Bruce Momjian
fd7b963316 Fix for typo in gram.y 1999-01-18 06:32:27 +00:00
Bruce Momjian
7a6b562fdf Apply Win32 patch from Horak Daniel. 1999-01-17 06:20:06 +00:00
Thomas G. Lockhart
e18d900da4 Adjust handling of data type names to suppress double quotes
unless necessary.
Label internal bpchar types as "character" and varchar types as
 "character varying" to be less Postgres-specific. These types map to
 the SQL92 definitions anyway.
Redefine g_force_quotes to be the local variable force_quotes.
Pass this as an argument to fmtId().
These should help with handling the single-byte internal "char" type.
1998-12-13 23:41:32 +00:00
Bruce Momjian
5c431eb1f2 Included patches should fix following problems in the muti-byte
enabled PostgreSQL 6.4.

o binary cursor does not work
o pg_dumpall produces incorrect create database statemnt

Tatsuo Ishii
t-ishii@sra.co.jp
1998-12-12 22:04:09 +00:00
Tom Lane
84107b419e Fix coredumping bug in pg_dump -z; also eliminate memory leaks
in the ACL code, and spell "GRANT RULE" correctly.
Apply patch from Oliver Elphick to not dump inherited constraints.
Apply patch from Constantin Teodorescu to dump table definitions with a
readable layout.
1998-12-05 22:09:57 +00:00
Tom Lane
0856cdf3f7 Fix a couple of bugs involving calling fmtID() twice in
a single printf() ... it'd work if fmtId() didn't use a static return area...
1998-11-15 07:09:13 +00:00
Thomas G. Lockhart
680e4a2950 Add "-N" flag to force double quotes around identifiers.
This is the default, but the new flag will allow overriding an alias,
 for example. So psql -n -N will put in the double quotes,
 and psql -n can be an alias for psql.
Also, add a few braces around a nested single-line conditional construct
 to suppress compiler warnings about "an ambiguous else".
1998-11-06 15:54:47 +00:00
Tom Lane
990fa43c23 Get rid of some minor compiler warnings. 1998-10-26 01:05:07 +00:00
Bruce Momjian
d79f3884f4 cleanup 1998-10-25 02:48:55 +00:00
Bruce Momjian
ba74ce73bb Fix from Tom Lane for pg_shadow in pg_upgrade 1998-10-25 02:47:38 +00:00
Tom Lane
a7cdfdf022 Fix pg_upgrade to notice if psql fails to execute the given
script, and not proceed with the update if so.
Also add #!/bin/sh header line.
1998-10-24 20:09:46 +00:00
Bruce Momjian
b0dfc47794 2) Can't dump/restore varchar fields (See attached bug report/patch)
Cary B. O'Brien
1998-10-12 02:05:42 +00:00
Bruce Momjian
803204bd1e Playing around with pg_dump for a while resulted in some
fixes,  enhancements and some found bugs not yet fixed. After
    all I was able to get useful results  when  dumping/reloading
    the regression database.

Jan
1998-10-06 22:14:21 +00:00
Thomas G. Lockhart
b53d36618f Forgot to initialize double quote option to be enabled. 1998-10-06 05:35:42 +00:00
Bruce Momjian
b7ed6f8512 Hi all
Is it too late to add a feature to pg_dump for 6.4??

I just spent most of the day learning pg_dump and modifing it so it
would
dump views also.

This is the first time I have ever contributed any code changes, so I'm
not sure of how to submit it.

The diff's and a readme as a tgz file are attached.

Thanks
Terry Mackintosh <terry@terrym.com>          http://www.terrym.com
1998-10-06 03:09:02 +00:00
Thomas G. Lockhart
9601964773 Surround all identifiers with double quotes.
Formerly did so only for those which clearly required it, but that
 would still miss things like reserved key words which also require it.
Implement the "-n" switch to revert the double quote behavior
 to put DQs only where there is more than lower-case, digits,
 and underscores.
1998-10-02 16:43:41 +00:00
Tom Lane
0d1aa5ac52 pg_dump -z was careless about ownership of indexes.
Now it's a little less so.
1998-10-01 01:49:12 +00:00
Bruce Momjian
b932b1b1c4 Allow 8-key indexes. 1998-09-23 04:22:14 +00:00
Bruce Momjian
3ac9688ae8 I also noticed that pg_dump contains a copy of the same
prompt_for_password code that psql does.  We fixed psql a month or
two back to permit usernames and passwords longer than 8 characters.
I propagated the same fix into pg_dump.

Tom Lane
1998-09-20 03:18:43 +00:00
Bruce Momjian
f71d0cf64e Attached is a patch to remove the definitions of libpq's internal
structs from libpq-fe.h, as we previously discussed.

There turned out to be sloppy coding practices in more places than
I had realized :-(, but all in all I think it was a well-worth-while
exercise.

I ended up adding several routines to libpq's API in order to respond
to application requirements that were exposed by this work.  I owe the
docs crew updates for libpq.sgml to describe these changes.  I'm way too
tired to work on the docs tonight, however.

This is the last major change I intend to submit for 6.4.  I do want
to see if I can make libpgtcl work with Tcl 8.0 before we go final,
but hopefully that will be a minor bug fix.
1998-09-03 02:10:56 +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
2913d6557e Preserver pg_log and pg_variable in upgrade. Cleanups. 1998-08-31 04:32:18 +00:00
Bruce Momjian
3b7d13a6b0 Make old db directory configurable. 1998-08-30 13:14:00 +00:00
Bruce Momjian
c870be6590 New pg_upgrade command. 1998-08-30 05:06:54 +00:00
Bruce Momjian
88800aac14 Ok. BTW Mr. Kataoka who is maintaing Japanese version of PostgreSQL
ODBC driver have found a bug in 6.3.2 pg_dump and have made patches.
I confirmed that the same bug still exists in the current source
tree. So I made up patches based on Kataoka's. Here are some
explanations.

o fmtId() returns pointer to a static memory in it. In the meantime
there is a line where is fmtId() called twice without saving the
first value returned by fmtId(). So second call to fmtId() will
break the first one.

o findTableByName() looks up a table by its name. if a table name
contanins upper letters or non ascii chars, fmtId() will returns
a name quoted in double quotes, which will not what findTableByName()
wants. The result is SEG fault.  -- Tatsuo Ishii t-ishii@sra.co.jp
1998-08-29 18:06:57 +00:00
Thomas G. Lockhart
6962f86e74 Clean up double-quotes around column and table names.
Had too many in some cases because there was already a routine
 taking care of it.
1998-08-25 15:02:04 +00:00
Bruce Momjian
c0b01461db o note that now pg_database has a new attribuite "encoding" even
if MULTIBYTE is not enabled. So be sure to run initdb.

o these patches are made against the latest source tree (after
Bruce's massive patch, I think) BTW, I noticed that after running
regression, the oid field of pg_type seems disappeared.

	regression=> select oid from pg_type; ERROR:  attribute
	'oid' not found

this happens after the constraints test. This occures with/without
my patches. strange...

o pg_database_mb.h, pg_class_mb.h, pg_attribute_mb.h are no longer
used, and shoud be removed.

o GetDatabaseInfo() in utils/misc/database.c removed (actually in
#ifdef 0). seems nobody uses.

t-ishii@sra.co.jp
1998-08-24 01:14:24 +00:00
Bruce Momjian
af5fde7491 Make large objects their own relkind type. Fix dups in pg_class_mb
files.  Fix sequence creation hack for relkind type.
1998-08-06 05:13:14 +00:00
Bruce Momjian
916710fc91 pg_dump -z has gotten rather thoroughly broken in the last couple
of days --- it was emitting stuff like
	REVOKE ALL on 'table' from PUBLIC; GRANT ALL on "table" to
	"Public"; neither of which work.  While I was at it I
cleaned up a few other things:

* \connect commands are issued only in -z mode.  In this way,
reloading a pg_dump script made without -z will generate a simple
database wholly owned by the invoking user, rather than a mishmash
of tables owned by various people but lacking in access rights.
(Analogy: cp versus cp -p.)

* \connect commands are issued just before COPY FROM stdin commands;
without this, reloading a database containing non-world-writable
tables tended to fail because the COPY was not necessarily attempted
as the table owner.

* Redundant \connect commands are suppressed (each one costs a
backend launch, so...).

* Man page updated (-z wasn't ever documented).

The first two items were discussed in a pgsql-hackers thread around
6 May 98 ("An item for the TODO list: pg_dump and multiple table
owners") but no one had bothered to deal with 'em yet.

			regards, tom lane
1998-07-19 05:24:51 +00:00
Marc G. Fournier
3a3c1b85a3 From: Tom Lane <tgl@sss.pgh.pa.us>
I see someone missed an ancient bit of shell-scripting lore:
on some older shells, if your script's argument list is empty,
then "$@" generates an empty-string word rather than no word
at all.  You need to write ${1+"$@"} to get the latter behavior.
(Read your shell man page to see exactly how that works,
but it does the Right Thing on every Bourne shell.)

In particular, pg_dumpall fails when invoked without any switches
on HPUX 9.*, because pg_dump gets an empty-string argument that it
thinks is the name of the database to dump.  I expect this bug
also affects some other OSes, but couldn't tell you just which ones.
Patch attached.
1998-07-09 03:35:39 +00:00
Thomas G. Lockhart
8bf61820f0 Surround table and column names with double-quotes
in generated SQL code to preserve case (SQL92 syntax).
1998-07-08 14:33:19 +00:00
Bruce Momjian
454913c19a Remove -c option for Constraint syntax so we us it by default. 1998-06-20 02:49:38 +00:00
Bruce Momjian
8ed5918faa Solaris cleanup. 1998-06-19 02:55:19 +00:00
Bruce Momjian
cb7cbc16fa Hi, here are the patches to enhance existing MB handling. This time
I have implemented a framework of encoding translation between the
backend and the frontend. Also I have added a new variable setting
command:

SET CLIENT_ENCODING TO 'encoding';

Other features include:
	Latin1 support more 8 bit cleaness

See doc/README.mb for more details. Note that the pacthes are
against May 30 snapshot.

Tatsuo Ishii
1998-06-16 07:29:54 +00:00
Bruce Momjian
32eef5ad1e I've hacked up pg_dump so that it generates CONSTRAINT and CHECK
syntax that can be read back in with psql.  I did this by adding
a
 "-c" switch that controls moving the CONTSTRAINT statements inside
the CREATE TABLE statements and adding () around the CHECK arguments.
Here's diffs against the 6.3.2 version of pg_dump.c.

ccb
1998-06-16 06:52:15 +00:00
Bruce Momjian
6bd323c6b3 Remove un-needed braces around single statements. 1998-06-15 19:30:31 +00:00
Bruce Momjian
1c2d9cb637 It seems the regression tests don't cover copy in/out at all, so
code that I had assumed was working had not been tested.  Naturally,
it was broken ...

Tom Lane
1998-05-06 23:53:48 +00:00
Bruce Momjian
bf7b72109f Re-add pg_dump fix. 1998-04-07 22:36:38 +00:00
Bruce Momjian
e83621aa13 Reverse out pg_dump changes. 1998-04-07 22:00:37 +00:00
Bruce Momjian
6a3c751448 Fix for ACL's from Thomas A. Szybist. 1998-04-07 16:41:11 +00:00
Bruce Momjian
471dbbc223 DESTDIR removed, again. 1998-04-06 16:53:15 +00:00
Bruce Momjian
5523beb949 Re-introduce $DISTDIR. 1998-04-06 01:16:55 +00:00
Bruce Momjian
1e801a8f16 Hi,
Attached you'll find a (big) patch that fixes make dep and make
depend in all Makefiles where I found it to be appropriate.

It also removes the dependency in Makefile.global for NAMEDATALEN
and OIDNAMELEN by making backend/catalog/genbki.sh and bin/initdb/initdb.sh
a little smarter.

This no longer requires initdb.sh that is turned into initdb with
a sed script when installing Postgres, hence initdb.sh should be
renamed to initdb (after the patch has been applied :-) )

This patch is against the 6.3 sources, as it took a while to
complete.

Please review and apply,

Cheers,

Jeroen van Vianen
1998-04-06 00:32:26 +00:00
Bruce Momjian
2dfee93457 Remove DISTDIR. 1998-04-05 22:02:56 +00:00
Bruce Momjian
9a0dd4fb18 There's a patch attached to fix gcc 2.8.x warnings, except for the
yyerror ones from bison. It also includes a few 'enhancements' to
the C programming style (which are, of course, personal).

The other patch removes the compilation of backend/lib/qsort.c, as
qsort() is a standard function in stdlib.h and can be used any
where else (and it is). It was only used in
backend/optimizer/geqo/geqo_pool.c, backend/optimizer/path/predmig.c,
and backend/storage/page/bufpage.c

> > Some or all of these changes might not be appropriate for v6.3,
since we > > are in beta testing and since they do not affect the
current functionality.  > > For those cases, how about submitting
patches based on the final v6.3 > > release?

There's more to come. Please review these patches. I ran the
regression tests and they only failed where this was expected
(random, geo, etc).

Cheers,

Jeroen
1998-03-30 16:47:35 +00:00
Bruce Momjian
4799bb8d33 Fix for pg_dump of large objects, from alvin@camberlo.demon.co.uk. 1998-03-16 05:41:39 +00:00