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
probleme number 1 :
- configure can find the library readline , but don't
find the header file . so in this case we don't use lib readline
.
probleme number 2 :
- when you have postgres 6.2.1 and readline installed
with the same prefix( and generally all your software ) . you
can compile the version 6.3 . I use this prefix , when configure
ask me for "Additional directories to search for include files"
.
( because there a conflict in the header when you
compile psql.c ) In this case, you must permut the sequence of
directive -I .
Erwan MAS
the configuration of v6.3.1. I have replaced the queries for
include/lib directories with --with configuration options. I have
also included a list of potential tcl/tk include directories directly
in the CPPFLAGS variable. As new versions are needed, these should
be added to the list in reverse numerical order (libraries are in
a separate list near the end). This greatly simplifies the later
checks if --with-tcl is set. I hope this solution works for
everyone.
I also added a check to disable the perl support if postgres was
not already installed (as per the instructions in the directory).
By the way, why must there be an installed pgsql to compile perl
support? This seems odd, at best.
Finally, I changed the Makefile in the libpgtcl interface to place
the shared libraries at the end of the list of files, not at the
beginning. With NetBSD at least, libraries are linked in order,
so the original sequence does not work.
Brook Milligan
However somebody else also applied a patch to the same part of
configure to fix a different problem. So part of my patch was not
applied or got reversed or ... whatever.
The attached patch will restore configure --with-tcl to working
order and should remove a lot of the messages complaining about
tcl not working.
Alvin
After applying the following patch there remain two
probable buffer overruns detected by Electric Fence during
the regression test.
I'll try find out what causes the remain two ones.
This patch also corrects a typo in smgr.c.
3) Add "#include "config.h" to src/interfaces/ecpg/preproc/pgc.l
to correct "strings.h not found". config.h has the proper define to
make this work and should probably be near the top of pgc.l before
the first include.
2) Add "#define gettimeofday(a,b) gettimeofday(a) to src/include/config.h
On the 88k SVR4, gettimeofday only has one argument. This is
checked for in a few other packages by configure, so there should
be some examples of the configure test out there.
was detected by Electric Fence and triggered by statements like:
SELECT * into table t from pg_database;
The system would crash on a memmove call in DataFile() with arguments
like this:
memmove(0x0, 0x0, 0);
Maurice Gittens
was a 2000 character buffer allocated for results, and the files
you refer to produce a 2765 byte column called formsource. This
should not have worked with any version of libpgtcl.
Nevertheless, the limit is an artificial one, since there is no
need to use this intermediate buffer where it is being used and
abused.
Randy Kunkee <kunkee@pluto.ops.NeoSoft.com>
1. Remove the char2, char4, char8 and char16 types from postgresql
2. Change references of char16 to name in the regression tests.
3. Rename the char16.sql regression test to name.sql. 4. Modify
the regression test scripts and outputs to match up.
Might require new regression.{SYSTEM} files...
Darren King
access overrun. For the sake of doing things properly here is a
patch which fixes it.
This patch is for the file backend/commands/sequence.c.
Maurice Gittens
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
sequential scans! (I think it will also work with hash, index, etc
but I did not check it out! I made some High level changes which
should work for all access methods, but maybe I'm wrong. Please
let me know.)
Now it is possible to make queries like:
select s.sname, max(p.pid), min(p.pid) from part p, supplier s
where s.sid=p.sid group by s.sname having max(pid)=6 and min(pid)=1
or avg(pid)=4;
Having does not work yet for queries that contain a subselect
statement in the Having clause, I'll try to fix this in the next
days.
If there are some bugs, please let me know, I'll start to read the
mailinglists now!
Now here is the patch against the original 6.3 version (no snapshot!!):
Stefan
a dumpall. This has been happening when a second \connect is
encountered.
The faulty code was in fe-connect.c, where the memory for the user
password was freed, but the pointer itself was not set to NULL.
Later, the memory was reused and the password appeared not to be
empty, so that an attempt was made to reference it.
Oliver Elphick
1) DatabaseMetaData.getPrimaryKeys() would fail saying that there
is no
table t.
2) PreparedStatement.getObject() was missing some break statements,
which
was causing updates not to work with JBuilder (supplied by Aaron
Dunlop).
jdbc fixes from Peter.
manager to not try to split files in 2 gig chunks. It will just
try to get another block.
If applied, everything is just as before. But if LET_OS_MANAGE_FILESIZE
is defined, the chaining disappears and the file just keeps on
going, and going, and going, til the OS barfs.
Darren King
--------------------------------------------------------------------------
Test Case: ----------
--------------------------------------------------------------------------
Solution: --------- Add this to the libpq and libpq++ Makefiles
to build shared libs:
Mike Ferrara
extern char *sys_errlist[]; #define strerror(A) (sys_errlist[(A)])
#endif /* sunos4
*/
is picked up by Solaris when the above is intended only for SunOS.
Fix Solaris. Albert Chin-A-Young
to main.c are only to add some extra includes to support some code
that's suddenly being used.
The #define ASSEMBLER is to prevent most of the code of sys/proc.h
from being included, as it ends up conflicting with some of the
postgresql definitions. This may or may not work on other versions
of Digital Unix.
Get alpha working. Yea. Dwayne Bailey
> > characters in them. Dumping and reloading using pg_dumpall >
> doesn't work with this and dumping the entire array and > > then
trying to parse it is hopeless.
Doug Gibson
Make "TABLE" optional in "LOCK TABLE" command
and "... INTO TABLE..." clause.
Explicitly parse CREATE SEQUENCE options to allow a negative integer
as an argument; this is an artifact of unary minus handling in scan.l.
Add "PASSWORD" as an allowed column identifier.
These fixes will require a "make clean install" but not a dump/reload.
a while back I posted a patch for pg_ident, the patch worked but I didn't
diagnose the problem properly.
on my compiler(gcc2.7.2) this compiles with no errors...
char buf[1000]; if(buf != '\0') {
...but it doesn't compare '\0' with the first char of buf.
There is an error in the configure script when using
--with-pgport= that will cause the compiled version of
PostgreSQL to no longer allow connections to the
new port and to treat shared memory improperly.
What happens is that if the port is changed, the configure
script defines DEF_PGPORT as "", which atoi() will return
as 0, which makes the IPC_KEY value 0. This then causes
semaphores to be allocated, but never released. Postgres
eventually returns from semget() with
"no space left on device". The source of this error could
easily be overlooked in version 6.3 since it is possible
to connect via UNIX domain sockets, and having DEF_PGPORT
defined as "0" would not be noticed until TCP was used.
The following patch is to src/interfaces/libpq of postgresql-6.3.
The purpose of the patch is to make the initialization of
const char *pgresStatus[] match the ExecStatusType enum.
6.3 postmaster is supposed to work with pre 6.3 protocol. This is true
for little endian architecture servers. But for big endian machines
such as Sparc the backward compatibility function do not work.
Attached are patches to fix the problem.
For substr() and substring() on the text data type, the relevant code is in
varlena.c. You are right, there is a problem. I have a patch which I will
apply to the source tree soon. The copy enclosed below probably does not
preserve tabs correctly so cannot be applied directly; the relevant change
is simply changing the ">=" to ">"...
It is my hope that the following "patches" to libpgtcl get included
in the next release.
See the update to the README file to get a full description of the changes.
This version of libpgtcl is completely interpreter-safe, implements the
database connection handle as a channel (no events yet, but will make it
a lot easier to do fileevents on it in the future), and supports the SQL
"copy table to stdout" and "copy table from stdin" commands, with the
I/O being from and to the connection handle. The connection and result
handles are formatted in a way to make access to the tables more efficient.
Included are patches intended for allowing PostgreSQL to handle
multi-byte charachter sets such as EUC(Extende Unix Code), Unicode and
Mule internal code. With the MB patch you can use multi-byte character
sets in regexp and LIKE. The encoding system chosen is determined at
the compile time.
To enable the MB extension, you need to define a variable "MB" in
Makefile.global or in Makefile.custom. For further information please
take a look at README.mb under doc directory.
(Note that unlike "jp patch" I do not use modified GNU regexp any
more. I changed Henry Spencer's regexp coming with PostgreSQL.)
Included are patches intended for allowing PostgreSQL to handle
multi-byte charachter sets such as EUC(Extende Unix Code), Unicode and
Mule internal code. With the MB patch you can use multi-byte character
sets in regexp and LIKE. The encoding system chosen is determined at
the compile time.
To enable the MB extension, you need to define a variable "MB" in
Makefile.global or in Makefile.custom. For further information please
take a look at README.mb under doc directory.
(Note that unlike "jp patch" I do not use modified GNU regexp any
more. I changed Henry Spencer's regexp coming with PostgreSQL.)
Ok, this fixes three things:
1. It seems (from tests submitted by two people with JBuilder) that
JBuilder expects a responce from ResultSetMetaData.getPrecision() &
getScale() when used on non numeric types. This patch makes these
methods return 0, instead of throwing an exception.
2. Fixes a small bug where getting the postgresql type name returns null.
3. Fixes a problem with ResultSet.getObject() where getting it's string
value returns null if you case the object as (PGobject), but returns
the value if you case it as it's self.
Patch1:
Postgres thinks dist_pl (dist of a point to a line) is expecting a box (603)
for the right arg, but it really should be a line (628).
Otherwise the left & right args match those of dist_pb (dist of a point to a
box) two lines further down.
Patch2:
Anyways, these two functions take a path (602) whereas in pg_proc.h they are
listed as taking a lseg (601).
1. Make 'all' works without complaint. Don't have to add the .exp
files to the files list. They are made automagically when
making the respective shared lib file.
Only port that actually uses EXPSUFF (from makefiles/Makefile.*)
is Aix, so if this breaks anybody else, let me know, asap.
2. Make 'clean' actually cleans up correctly. Previously, it would
leave the .o files in C-code directory.
3. Changed references to reflect new location of .c files.
4. Added DELETE statements to complex.source so that it tidies up
when done. Previously, it would leave things in pg_amop,
pg_amproc and pg_opclass. Only possible to do this with the
new SUBSELECT code in 6.3. Nice work, fellas...
Not deleting the index entries would cause a non-fatal error if
complex.sql was run again on the same database. Much tidier now.
5. Corrected the README. obj directory hasn't existed since Bryan
redid the make way back when. Also changed the snipet from psql
to match the current version. POSTGRES95?!? I don't think so. :)
The following patches will allow postgreSQL 6.3 to compile and run on a
UNIXWARE 2.1.2 system with the native C compiler with the following library
change:
The alloca function must be copied from the libucb.a archive and added
to the libgen.a archive.
Also, the GNU flex program is needed to successfully build postgreSQL.
Seem to remember someone posting to one of the lists a while back
that the tutorial code wouldn't compile and/or run. Found four
problems with it that will let it run.
1. Tutorial makefile had a recursive use of DLOBJS.
2. Some tutorial needed semi-colons added to many statements.
3. Complex tutorial didn't clean up after itself.
4. Advanced had a time-travel example. Commented it out and
put a line pointing the user to contrib/spi/README.
Two incorrect printf formats in parser/parse_type.c. Prolly done
by me a long time ago when I cleaned up int's and Oid's...
Format flag is really just %u, not %ud. Harmless, but results in
"type id lookup of 25d failed" instead of only "...25 failed"
This patch will...
1. Remove the "-Wall" option from the ecpg/lib and ecpg/preproc Makefile.
2. Remove the addition of $(SRCDIR)/include and-or $(SRCDIR)/backend from
ecpg/lib, ecpg/preproc, libpq and utils Makefiles. Already in CFLAGS...
3. Set MK_NO_LORDER and RANLIB in Makefile.aix to avoid a couple of extra
steps taken care of by the 'ld' command anyways.
I thought it would be a good idea to ensure that the new view
permission model will not get broken by subsequent
fixes/changes. So I wrote a little regression test for it.
There is an ugly thing in this regression test. It creates
temporary a test user that is required for the tests. The
user is removed at the end of the test, but if sometimes the
regression suite is aborted or crashes exactly here, the test
user will lay around in the pg_shadow. Don't have a clue how
to get around.
return, not a slot returned from access method (they have
different TupleDesc and MergeJoin node was broken).
nodeIndexscan.c: index_markpos()/index_restrpos() call index-specific
mark/restr funcs and are in use now (instead of
IndexScanMarkPosition()/ExecIndexRestrPos()).
seems that my last post didn't make it through. That's good
since the diff itself didn't covered the renaming of
pg_user.h to pg_shadow.h and it's new content.
Here it's again. The complete regression test passwd with
only some float diffs. createuser and destroyuser work.
pg_shadow cannot be read by ordinary user.
+
+ - use char[] as string not as array of bytes that is integers
+
+ Sun Feb 22 16:37:36 CET 1998
+
+ - use long for all size variables
+ - added execute immediate statement
+
+ Sun Feb 22 20:41:32 CET 1998
+
+ - use varcharsize = 1 for all simple types, 0 means pointer, > 1
+ means array if type is char resp. unsigned char
+
+ Thu Feb 24 12:26:12 CET 1998
+
+ - allow 'go to' in whenever statement as well as 'goto'
+ - new argument 'stop' for whenever statement
From: Michael Meskes <meskes@topsystem.de>
What it does:
It solves stupid problem with cyrillic charsets IP-based on-fly recoding.
take a look at /data/charset.conf for details.
You can use any tables for any charset.
Tables are from Russian Apache project.
Tables in this patch contains also Ukrainian characters.
Then run ./configure --enable-recode
Ok. I have decided to use:
#if defined(sun) && if defined(sparc) && !defined(__svr4)
instead of defined(sunos4). interfaces/libpq/libpq-fe.h and
include/c.h have been modified(see included patches).
Another porblems I have found are:
o SunOS lacks strtoul(). to fix this I stole strtoul.c from FreeBSD
and place it under backend/port. necessary modifications have been
also made to backend/port/Makefile.in, include/config.h.in and
configure.in (see included patches).