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).
So if the relname is given to acldefault() in
utils/adt/acl.c, it can do a IsSystemRelationName() on it and
return ACL_RD instead of ACL_WORLD_DEFAULT.
The diff looks so simple and easy. But to find it wasn't fun.
It must have been there for a long time. What happened:
When a tuple in one of some central catalogs was updated, the
referenced relation got flushed, so it would be reopened on
the next access (to reflect new triggers, rules and table
structure changes into the relation cache).
Some data (the tupleDescriptor e.g.) is used in the system
cache too. So when a relation is subject to the system cache,
this must know too that a cached system relation got flushed
because the tupleDesc data gets freed during the flush!
For the GRANT/REVOKE on pg_class it was slightly different.
There is some local data in inval.c that gets initialized on
the first invalidation of a tuple in some central catalogs.
This needs a SysCache lookup in pg_class. But when the first
of all commands is a GRANT on pg_class, exactly the needed
tuple is the one actually invalidated. So I added little code
snippets that the initialization of the local variables in
inval.c will already happen during InitPostgres().