summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
1997-04-02New relkind ('S') for sequence relations.Vadim B. Mikheev
New funcs (nextval & currval) in pg_proc.h
1997-04-02Prototypes for sequence.cVadim B. Mikheev
1997-04-02Use $(CC), not gcc, to compileMarc G. Fournier
Pointed out by: igor@cs.cs.miami.edu
1997-04-01Misc port related issuesMarc G. Fournier
1997-03-28Slight Linux related bug pointed out by Gabriel Akos <gabriel@rocker.sch.bme.hu>Marc G. Fournier
1997-03-28From: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>Marc G. Fournier
Subject: [HACKERS] Small date patches (resubmitted) Here a some small patches for the date/time code. They set the default output format for the datetime type to the traditional Postgres style, and fix a date debugging declaration. I submitted these a couple of days ago, but they might have gotten lost... NOTE: the second patch to dt.c is what I believe D'Arcy submitted as well, that I claimed was taken out...sorry D'Arcy, my fault :(
1997-03-28From: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>Marc G. Fournier
Subject: Re: [HACKERS] abstime "now" broken Yes, I broke 'now' :( with an attempt at a bug fix involving servers running in the UTC/GMT timezone. These patches fix the problem, and have been tested in GMT (+00 hours), PST (-08), and NZT (+12) timezones which exercized the code for various cases including across day boundaries. btw, this code fixes the same type of problem for 'today', 'yesterday', 'tomorrow', for DATETIME, ABSTIME, DATE and TIME types. The bugfix itself is quite small, but I have accumulated other changes in the datetime data type and include them here also. One set of changes involves printing ISO-formatted dates and is in response to the helpful information from Kurt Lidl regarding ANSI SQL dates. I'll send another e-mail sometime soon discussing more issues he has raised...
1997-03-28From: Dan McGuirk <mcguirk@indirect.com>Marc G. Fournier
Reply-To: hackers@hub.org, Dan McGuirk <mcguirk@indirect.com> To: hackers@hub.org Subject: [HACKERS] tmin writeback optimization I was doing some profiling of the backend, and noticed that during a certain benchmark I was running somewhere between 30% and 75% of the backend's CPU time was being spent in calls to TransactionIdDidCommit() from HeapTupleSatisfiesNow() or HeapTupleSatisfiesItself() to determine that changed rows' transactions had in fact been committed even though the rows' tmin values had not yet been set. When a query looks at a given row, it needs to figure out whether the transaction that changed the row has been committed and hence it should pay attention to the row, or whether on the other hand the transaction is still in progress or has been aborted and hence the row should be ignored. If a tmin value is set, it is known definitively that the row's transaction has been committed. However, if tmin is not set, the transaction referred to in xmin must be looked up in pg_log, and this is what the backend was spending a lot of time doing during my benchmark. So, implementing a method suggested by Vadim, I created the following patch that, the first time a query finds a committed row whose tmin value is not set, sets it, and marks the buffer where the row is stored as dirty. (It works for tmax, too.) This doesn't result in the boost in real time performance I was hoping for, however it does decrease backend CPU usage by up to two-thirds in certain situations, so it could be rather beneficial in high-concurrency settings.
1997-03-28From: "D'Arcy J.M. Cain" <darcy@druid.net>Marc G. Fournier
#ifdef is looking for the wrong value.
1997-03-28From: "D'Arcy J.M. Cain" <darcy@druid.net>Marc G. Fournier
Some systems require limits.h to define DBL_MIN.
1997-03-28On some systems limits.h is needed to define DBL_MIN.Marc G. Fournier
From: "D'Arcy J.M. Cain" <darcy@druid.net>
1997-03-27Added call to heap_endscan in IndexIsUniqueNoCache - to releaseVadim B. Mikheev
our READ lock on pg_index and let others to create indices too !
1997-03-27turn GEQO code on by defaultMarc G. Fournier
1997-03-26Remove customize in favor of 'build'Marc G. Fournier
1997-03-26Add ability to change installation directory in build, prior to configureMarc G. Fournier
1997-03-26Add string.h for strerror() prototypeMarc G. Fournier
1997-03-26include float.h *after* postgres.h :(Marc G. Fournier
1997-03-26Disallow to create multi-column indices using non-btree.Vadim B. Mikheev
1997-03-26need float.h under FreeBSD for DBL_MINMarc G. Fournier
1997-03-26'\h create index' shows that multi-column indices are available now.Vadim B. Mikheev
1997-03-26Added syntax for multi-column indices.Vadim B. Mikheev
1997-03-26Someone forgot about 'case sizeof(int32)' forVadim B. Mikheev
tupleDesc->attrs[i]->attlen in fastgetiattr.
1997-03-25Add checs for float.hMarc G. Fournier
Remove 'unused variable' from dt.c
1997-03-25Add float.h for DBL_{MIN,MAX} under FreeBSDMarc G. Fournier
1997-03-25another one missedMarc G. Fournier
1997-03-25MIssed adding a file to the repositoryMarc G. Fournier
1997-03-25From: "D'Arcy J.M. Cain" <darcy@druid.net>Marc G. Fournier
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.
1997-03-25Various patches for shared libraries under i386-solaris by:Marc G. Fournier
Christoph Kaesling <ck@dog.pfalz.sub.de>
1997-03-25Here's two more diffs...Marc G. Fournier
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>
1997-03-25Rather than make this a Linux test, we should just test for the existenceMarc G. Fournier
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>
1997-03-25Use $(LD_ADD) from Makefile.global instead of $(LDADD), which doesn't exist...Marc G. Fournier
Pointed out indirectly by D'Arcy
1997-03-25From: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>Marc G. Fournier
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.
1997-03-25MOre univel port patches/files from:Marc G. Fournier
"Michael P. Snyder" <msnyder@hawkeye.huntersmoon.com>
1997-03-25Start of a univel port by "Michael P. Snyder" <msnyder@hawkeye.huntersmoon.com>Marc G. Fournier
1997-03-25Free memory allocated by command in the BlankPortal' HeapMemory contextVadim B. Mikheev
(#ifdef-ed).
1997-03-25 - Renamed the variable names to something shorter, and I hopeMarc G. Fournier
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>
1997-03-25Add in alpha portMarc G. Fournier
1997-03-25I don't know whether this breaks what the previous person tried toMarc G. Fournier
fix, but figure I"ll know soon enough, eh? Patch submitted by Dan McGuirk
1997-03-25Needs USE_POSIX_SIGNALSMarc G. Fournier
Pointed out by Dan McGuirk
1997-03-24+ NULLs handlingVadim B. Mikheev
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.
1997-03-24New func _bt_checkkeys() added to let caller know number of keysVadim B. Mikheev
for which checking was TRUE.
1997-03-24Setting index' attributes attcacheoff to -1 in index_create().Vadim B. Mikheev
1997-03-24Added #define NullValueRegProcedure and #define NonNullValueRegProcedure -Vadim B. Mikheev
is in use by btree now.
1997-03-21Forgot to add an AC_SUBST(STRERROR) to configure.in for the strerror() testMarc G. Fournier
Thanks to D'Arcy for pointing this one out
1997-03-21From: "D'Arcy J.M. Cain" <darcy@druid.net>Marc G. Fournier
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.
1997-03-20change strtok(0.. to strtok(NULL..Marc G. Fournier
From: Keith Parks <emkxp01@mtcc.demon.co.uk>
1997-03-20From: "D'Arcy J.M. Cain" <darcy@druid.net>Marc G. Fournier
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.
1997-03-20Check for and set HAVE_CRYPT_H if <crypt.h> existsMarc G. Fournier
include crypt.h in password.c if crypt.h does exist
1997-03-20use autoconf 2.12 instead of 2.10 to gernate configure script...Marc G. Fournier
*hopefully* will fix the linux configuration problem..?
1997-03-19Fix call to index_create in DefineIndex.Vadim B. Mikheev