git.postgresql.org Git - postgresql.git/log
Someone forgot about 'case sizeof(int32)' for
tupleDesc->attrs[i]->attlen in fastgetiattr.
Add checs for float.h
Remove 'unused variable' from dt.c
Add float.h for DBL_{MIN,MAX} under FreeBSD
another one missed
MIssed adding a file to the repository
From: "D'Arcy J.M. Cain" <darcy@druid.net>
Subject: [HACKERS] backend/utils/adt/timestamp.c
Back to this timezone stuff. The struct tm has a field (tm_gmtoff) which
is the offset from UTC (GMT is archaic BTW) in seconds. Is this the
value you are looking for when you use timezone? Note that this applies
to NetBSD but it does not appear to be in either ANSI C or POSIX. This
looks like one of those things that is just going to have to be hand
coded for each platform.
Why not just store the values in UTC and use localtime instead of
gmtime when retrieving the value?
Also, you assume the time is returned as a 4 byte integer. In fact,
there is not even any requirement that time be an integral value. You
should use time_t here.
The input function seems unduly restrictive. Somewhere in the sources
there is an input function that allows words for months. Can't we do
the same here?
There is a standard function, difftime, for subtracting two times. It
deals with cases where time_t is not integral. There is, however, a
small performance hit since it returns a double and I don't believe
there is any system currently which uses anything but an integral for
time_t. Still, this is technically the correct and portable thing to do.
The returns from the various comparisons should probably be a bool.
Various patches for shared libraries under i386-solaris by:
Christoph Kaesling <ck@dog.pfalz.sub.de>
Here's two more diffs...
The first fixes a warning from gcc about the assignment within the condition.
The extra set of parens should not make a difference, but with -Werror, they
are necessary.
The second fixes an "ln -s" invocation that assumes the current directory is
implicitly the target if not specified. Not true in all cases, and again, it
should not make a difference except to those implementation that it does.
From: "Michael P. Snyder" <msnyder@hawkeye.huntersmoon.com>
Rather than make this a Linux test, we should just test for the existence
of endian.h. I figure that if it exists it's pretty sure that it has
the byte order information and we may catch some other ports without
any further testing.
From: "D'Arcy J.M. Cain" <darcy@druid.net>
Use $(LD_ADD) from Makefile.global instead of $(LDADD), which doesn't exist...
Pointed out indirectly by D'Arcy
From: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>
Subject: [HACKERS] More patches for date/time
I have accumulated several patches to add functionality to the datetime
and timespan data types as well as to fix reported porting bugs on non-BSD
machines. These patches are:
dt.c.patch - add datetime_part(), fix bugs
dt.h.patch - add quarter and timezone support, add prototypes
globals.c.patch - add time and timezone variables
miscadmin.h.patch - add time and timezone variables
nabstime.c.patch - add datetime conversion routine
nabstime.h.patch - add prototypes
pg_operator.h.patch - add datetime operators, clean up formatting
pg_proc.h.patch - add datetime functions, reassign conflicting date OIDs
pg_type.h.patch - add datetime and timespan data types
The dt.c and pg_proc.h patches are fairly large; the latter mostly because I tried
to get some columns for existing entries to line up.
MOre univel port patches/files from:
"Michael P. Snyder" <msnyder@hawkeye.huntersmoon.com>
Start of a univel port by "Michael P. Snyder" <msnyder@hawkeye.huntersmoon.com>
Free memory allocated by command in the BlankPortal' HeapMemory context
(#ifdef-ed).
- Renamed the variable names to something shorter, and I hope
nicer. Also, I grabbed my copy of the Informix manual, and
added a couple of variables that make sense (formats for
money, time, a language setting, a timezone).
- New functions SetPGVariable() and GetPGVariable() in tcop/*.
These don't actually do anything for the moment, but should
be enough to implement the SET var_name TO var_val in the
parser?
SetPGVariable() expects just two strings, the var_name and
the var_value from above, and is expected to do the right thing.
Returns TRUE if everything okay.
From: "Martin J. Laubach" <mjl@wwx.vip.at>
Add in alpha port
I don't know whether this breaks what the previous person tried to
fix, but figure I"ll know soon enough, eh?
Patch submitted by Dan McGuirk
Needs USE_POSIX_SIGNALS
Pointed out by Dan McGuirk
+ NULLs handling
Actually required by multi-column indices support.
We still don't use btree for 'A is (not) null', but
now btree keep items with NULL attrs using single rule
for placing/finding items on pages:
NULLs greater NOT_NULLs and NULL = NULL.
+ Bulkload code (nbtsort.c) support for multi-column indices
building and NULLs.
+ Fix for btendscan()->pfree(scanopaque) from Chris Dunlop.
New func _bt_checkkeys() added to let caller know number of keys
for which checking was TRUE.
Setting index' attributes attcacheoff to -1 in index_create().
Added #define NullValueRegProcedure and #define NonNullValueRegProcedure -
is in use by btree now.
Forgot to add an AC_SUBST(STRERROR) to configure.in for the strerror() test
Thanks to D'Arcy for pointing this one out
From: "D'Arcy J.M. Cain" <darcy@druid.net>
Subject: [HACKERS] backend/utils/adt/nabstime.c
There is a problem with some of the calls to strftime. The second arg is
missing. In all cases the buffer is CTZName which, according to the
file init/globals.c, is char CTZName[8] so I have added this value.
I know there should be a #define set up for this but I wasn't sure
which header to put it in.
change strtok(0.. to strtok(NULL..
From: Keith Parks <emkxp01@mtcc.demon.co.uk>
From: "D'Arcy J.M. Cain" <darcy@druid.net>
Subject: [HACKERS] libpq/pqcomm stuff and Solaris byte order
I decided to go ahead with the required changes since no one else seems
to. I don't guarantee that it is perfect but with these changes the
package actually compiles. While I was at it I added to the Sparc
Solaris header to define the byte order. Note that NetBSD sets this
in the system headers so it wasn't required there.
In particular, someone may want to check whether I removed the correct
84 lines from backend/libpq/pqcomprim.c.
Check for and set HAVE_CRYPT_H if <crypt.h> exists
include crypt.h in password.c if crypt.h does exist
use autoconf 2.12 instead of 2.10 to gernate configure script...
*hopefully* will fix the linux configuration problem..?
Fix call to index_create in DefineIndex.
Fix index_create for multi-column indices
Fix index_create for multi-column indices
remove a double declaration/prototype
Remove port.c since it is redundant (well, empty, at least)
Change Makefile to refl removal of portc
Change dynloader.c so that its only used if PRE_BSDI_2_1 is defined
Add a check for strerr, and add in D'Arcy's strerror() code in case not
found
there, that's fixed
Fixing a screw up
From: Jun Kuwamura <juk@rccm.co.jp>
Subject: [HACKERS] auth.c for kerberos.
I made pgsql with eBones(international version of Kerberos4). The
following modification was needed. And I added read permition for
group to srvtab instead of running postmaster as root.
Replace strsep() by strtok()
By: Dan McGuirk <mcguirk@indirect.com>
This is an attempt to get rid of some cruft...
According to man page under FreeBSD for sys_errlist[], strerror() should be
used instead...not sure if this will break other systems, so only changing
two files for now, and we'll see what "errors" it turns up
Patch from Sven Verdoolaege <skimo@breughel.ufsia.ac.be> for large_objects
- Move most of the I/O in both libpq and the backend to a set
of common routines in pqcomprim.c (pq communication primitives).
Not all adapted to it yet, but it's a start.
- Rewritten some of those routines, to write/read bigger chunks of
data, precomputing stuff in buffers instead of sending out byte
by byte.
- As a consequence, I need to know the endianness of the machine.
Currently I rely on getting it from machine/endian.h, but this
may not be available everywhere? (Who the hell thought it was
a good idea to pass integers to the backend the other way around
than the normal network byte order? *argl*)
- Libpq looks in the environment for magic variables, and upon
establishing a connection to the backend, sends it queries
of the form "SET var_name TO 'var_value'". This needs a change
in the backend parser (Mr. Parser, are you there? :)
- Currently it looks for two Env-Vars, namely PG_DATEFORMAT
and PG_FLOATFORMAT. What else makes sense? PG_TIMEFORMAT?
PG_TIMEZONE?
From: "Martin J. Laubach" <mjl@wwx.vip.at>
Patches for Vadim's multikey indexing...
Add in Vadim's multikey functions/examples as part of contrib
Resync the source tree, commit some things that were missing (pqcomprim.c) and
bring in Thomas's updates for the date/time code...
Fixes for libpgtcl from Massimo
Add in a check for libcrypt.a
Pointed out by Martin
oracle_compat.c fixed for function overloading...
By: From: Edmund Mergl <mergl@nadia.s.bawue.de>
Don't forget the fe-connect.h include file
From: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>
Subject: [HACKERS] Patches for 970316 compilation
I made a small pre-emptive change in the new datetime code to eliminate
calls to infnan(). Hopefully this will make Solaris (and probably other
non-GNUlib) systems happier. Didn't find fe-connect.h in the 970316
distribution, so made one up. Also, one of the test routines needs an
update for the geo-decls.h -> geo_decls.h name change.
Patches appear below...
om: "Martin J. Laubach" <mjl@CSlab.tuwien.ac.at>
Subject: [HACKERS] Patch for io routines
I am currently trying to improve on the front-backend communication
routines; and noticed that lots of code are duplicated for libpq and
the backend. This is a first patch that tries to share code between
the two, more to follow.
mjl
Header file fixes for MINDOUBLE
Add a conditional for <values.h> vs <limits.h>
Remove extra functions temporarily while a proper fix is found...
Remove overloaded functions until we can figure out how to get them to work
properly...
NetBSD Shared Library Patch from Martin J. Laubach
Re-oid the oracle_compat functions
Add new "overloaded" oracle_compat functions (see man oracle_compat)
A couple of development scripts by Dan to detect unused and duplicate
oids
Update oracle_compat.c
From: Massimo Dal Zotto <dz@cs.unitn.it>
Subject: [HACKERS] lock debug trace
This is an update to my previous patches for lock debugging, already applied
to the current sources. It adds some improvements in the output messages and
some more output in WaitOnLock(). I have used with success to trace a nasty
deadlock condition on pg_listener.
From: Andrew Martin <martin@biochemistry.ucl.ac.uk>
Just noticed that the psql man page is missing the -T option for specifying
HTML table options.
Date/Time updates from Thomas...
Date/Time updates from Thomas...
> There are some minor fixes to the GEQO.
> Please apply them to the direcory "backend/optimizer/geqo".
> Two new files with different crossover techniques are included.
> Standard procedure is optimization by means of "geqo_erx.c"
> (Edge Recombination Crossover).
From: "Martin S. Utesch" <utesch@aut.tu-freiberg.de>
Last of Dan's hidden tar balls :)
Missed another tar file... :(
Missing bits from Dan's patches...sorry :(
From: Dan McGuirk <mcguirk@indirect.com>
Subject: [HACKERS] timestamp type
OK, last one. This patch adds an ANSI SQL 'timestamp' type.
From: Dan McGuirk <mcguirk@indirect.com>
Subject: [HACKERS] password authentication
This patch adds support for plaintext password authentication. To use
it, you add a line like
host all 0.0.0.0 0.0.0.0 password pg_pwd.conf
to your pg_hba.conf, where 'pg_pwd.conf' is the name of a file containing
the usernames and password hashes in the format of the first two fields
of a Unix /etc/passwd file. (Of course, you can use a specific database
name or IP instead.)
Then, to connect with a password through libpq, you use the PQconnectdb()
function, specifying the "password=" tag in the connect string and also
adding the tag "authtype=password".
I also added a command-line switch '-u' to psql that tells it to prompt
for a username and password and use password authentication.
From: Dan McGuirk <mcguirk@indirect.com>
Subject: [HACKERS] linux/alpha patches
These patches lay the groundwork for a Linux/Alpha port. The port doesn't
actually work unless you tweak the linker to put all the pointers in the
first 32 bits of the address space, but it's at least a start. It
implements the test-and-set instruction in Alpha assembly, and also fixes
a lot of pointer-to-integer conversions, which is probably good anyway.
From: Dan McGuirk <mcguirk@indirect.com>
Subject: [HACKERS] linux/alpha patches
These patches lay the groundwork for a Linux/Alpha port. The port doesn't
actually work unless you tweak the linker to put all the pointers in the
first 32 bits of the address space, but it's at least a start. It
implements the test-and-set instruction in Alpha assembly, and also fixes
a lot of pointer-to-integer conversions, which is probably good anyway.
From: Dan McGuirk <mcguirk@indirect.com>
Subject: [HACKERS] equal column and table name patch
This fixes a bug where selects fail when there is a column with the same
name as the table it's a part of.
From: Dan McGuirk <mcguirk@indirect.com>
Subject: [HACKERS] better access control error messages
This patch replaces the 'no such class or insufficient privilege' with
distinct error messages that tell you whether the table really doesn't
exist or whether access was denied.
From: Dan McGuirk <mcguirk@indirect.com>
Subject: [HACKERS] backend Makefile patch
This patch cleans up backend/Makefile a little bit, and prevents it from
relinking the backend binary when no changes have been made.
From: Dan McGuirk <mcguirk@indirect.com>
Subject: [HACKERS] abort failed transaction patch
This patch allows you to end a transaction that has failed on an error
using the 'ABORT' statement without generating another error message.
(By default you get an error unless you use 'END' to terminate the
transaction, which has already been aborted anyway.)
Add in the sunos4 portname to configure detection
Add missing paren.
Massimo's Deadlock patches w/o the #ifdefs
Vacuum cleanups from Massimo.
Add prototypes for oracle-compat functions. Rename geo-*.c adt to geo_*.c
Fix vacuum crash Vadim found.
Reverse patch for Vadims problem.
Add man page for oracle compatibility functions
By Edmund
Move nextstep into problem/bug section.
Fix vacuum bug Vadim found with text fields.
Not understandable fix of strange bug in vacuum statistic functions.
This is a set of single row character functions, defined for the datatype
text, which are supposed to behave exactly as their Oracle counterparts.
From: Edmund Mergl <E.Mergl@bawue.de>
Fix the prototype for on_exitpg()
Patch from Martin due to changes in joinrels.c
New TODO.
Prevent SIGPIPE from crashing server, by Dan McGuirk.
Change debug to pretty-print tree, recommended by Darren King.
flex 2.5.3 warning from Andrew Martin.
Apply date patch from tiemann@cygnus.com,Michael Tiemann.
Remove _PAGE_SIZE_ as recommended by Darren King.
Remove case-sensitive identifiers. Thanks for Dan McGuirk for a reversal patch.
Change machine/limits.h to limits.h.
Small regress cleanup.
Fix example so it works.
Substitute defines for numeric constants in type ids.
Use INT4OID instead of 23.
Make sure anything configure related is removed on a distclean
This is the main PostgreSQL git repository.
RSS
Atom