OSDN Git Service

pg-rex/syncrep.git
20 years agoI think I've finally identified the cause of the off-by-one-second
Tom Lane [Mon, 31 May 2004 18:31:51 +0000 (18:31 +0000)]
I think I've finally identified the cause of the off-by-one-second
issue in timestamp conversion that we hacked around for so long by
ignoring the seconds field from localtime().  It's simple: you have
to watch out for platform-specific roundoff error when reducing a
possibly-fractional timestamp to integral time_t form.  In particular
we should subtract off the already-determined fractional fsec field.
This should be enough to get an exact answer with int64 timestamps;
with float timestamps, throw in a rint() call just to be sure.

20 years agoHave pg_ctl print pid and error on signal failure, per suggestion from Tom.
Bruce Momjian [Mon, 31 May 2004 17:57:31 +0000 (17:57 +0000)]
Have pg_ctl print pid and error on signal failure, per suggestion from Tom.

20 years agotrgm - Trigram matching for PostgreSQL
Teodor Sigaev [Mon, 31 May 2004 17:18:12 +0000 (17:18 +0000)]
trgm - Trigram matching for PostgreSQL
--------------------------------------

The pg_trgm contrib module provides functions and index classes
for determining the similarity of text based on trigram
matching.

20 years ago1 add namespaces as Tom suggest http://www.pgsql.ru/db/mw/msg.html?mid=1987703
Teodor Sigaev [Mon, 31 May 2004 16:51:56 +0000 (16:51 +0000)]
1 add namespaces as Tom suggest pgsql.ru/db/mw/msg.html?mid=1987703
2 remove select qeury in inserts

20 years agoFix memory leak with pg_regexec
Teodor Sigaev [Mon, 31 May 2004 13:55:19 +0000 (13:55 +0000)]
Fix memory leak with pg_regexec

20 years agoFix memory leak with pg_regcomp
Teodor Sigaev [Mon, 31 May 2004 13:52:57 +0000 (13:52 +0000)]
Fix memory leak with pg_regcomp

20 years agoUpdate pg_dump -v comments to mention additional comments in dump file.
Bruce Momjian [Mon, 31 May 2004 13:37:52 +0000 (13:37 +0000)]
Update pg_dump -v comments to mention additional comments in dump file.

20 years agoWin32 related patch by Darko Prenosil. Small correct by teodor
Teodor Sigaev [Mon, 31 May 2004 13:29:43 +0000 (13:29 +0000)]
Win32 related patch by Darko Prenosil. Small correct by teodor

20 years agoPer previous discussions, get rid of use of sync(2) in favor of
Tom Lane [Mon, 31 May 2004 03:48:10 +0000 (03:48 +0000)]
Per previous discussions, get rid of use of sync(2) in favor of
explicitly fsync'ing every (non-temp) file we have written since the
last checkpoint.  In the vast majority of cases, the burden of the
fsyncs should fall on the bgwriter process not on backends.  (To this
end, we assume that an fsync issued by the bgwriter will force out
blocks written to the same file by other processes using other file
descriptors.  Anyone have a problem with that?)  This makes the world
safe for WIN32, which ain't even got sync(2), and really makes the world
safe for Unixen as well, because sync(2) never had the semantics we need:
it offers no way to wait for the requested I/O to finish.

Along the way, fix a bug I recently introduced in xlog recovery:
file truncation replay failed to clear bufmgr buffers for the dropped
blocks, which could result in 'PANIC:  heap_delete_redo: no block'
later on in xlog replay.

20 years agoDone:
Bruce Momjian [Mon, 31 May 2004 02:58:43 +0000 (02:58 +0000)]
Done:

>  o -Allow Java server-side programming

20 years agoRemove pljava todo info.
Bruce Momjian [Mon, 31 May 2004 02:58:09 +0000 (02:58 +0000)]
Remove pljava todo info.

20 years agoUse the new List API function names throughout the backend, and disable the
Neil Conway [Sun, 30 May 2004 23:40:41 +0000 (23:40 +0000)]
Use the new List API function names throughout the backend, and disable the
list compatibility API by default. While doing this, I decided to keep
the llast() macro around and introduce llast_int() and llast_oid() variants.

20 years agoParanoia: ensure MyBackendId is InvalidBackendId in a process that has
Tom Lane [Sun, 30 May 2004 17:58:12 +0000 (17:58 +0000)]
Paranoia: ensure MyBackendId is InvalidBackendId in a process that has
never executed SIBackendInit().

20 years agoAdd thread library to libpgport creation.
Bruce Momjian [Sun, 30 May 2004 14:07:47 +0000 (14:07 +0000)]
Add thread library to libpgport creation.

20 years agoImplement new PostmasterIsAlive() check for WIN32, per Claudio Natoli.
Tom Lane [Sun, 30 May 2004 03:50:15 +0000 (03:50 +0000)]
Implement new PostmasterIsAlive() check for WIN32, per Claudio Natoli.
In passing, align a few error messages with the style guide.

20 years agoSeparate out bgwriter code into a logically separate module, rather
Tom Lane [Sat, 29 May 2004 22:48:23 +0000 (22:48 +0000)]
Separate out bgwriter code into a logically separate module, rather
than being random pieces of other files.  Give bgwriter responsibility
for all checkpoint activity (other than a post-recovery checkpoint);
so this child process absorbs the functionality of the former transient
checkpoint and shutdown subprocesses.  While at it, create an actual
include file for postmaster.c, which for some reason never had its own
file before.

20 years agoTranslation update
Peter Eisentraut [Sat, 29 May 2004 06:28:58 +0000 (06:28 +0000)]
Translation update

20 years agoTranslation updates
Peter Eisentraut [Sat, 29 May 2004 06:26:14 +0000 (06:26 +0000)]
Translation updates

20 years agoTranslation update
Peter Eisentraut [Sat, 29 May 2004 06:22:56 +0000 (06:22 +0000)]
Translation update

20 years agoFix another place that assumed 'x = lcons(y, z)' would not have any
Tom Lane [Sat, 29 May 2004 05:55:13 +0000 (05:55 +0000)]
Fix another place that assumed 'x = lcons(y, z)' would not have any
side-effect on the original list z.  I fear we have a few more of these
to track down yet :-(.

20 years agoRemove quotes around $CONFIG_LINKS. Caused improper expansion.
Bruce Momjian [Fri, 28 May 2004 20:52:42 +0000 (20:52 +0000)]
Remove quotes around $CONFIG_LINKS.  Caused improper expansion.

20 years agoWhen checking for thread safety with src/tools/thread/thread_test.c, the
Bruce Momjian [Fri, 28 May 2004 18:37:10 +0000 (18:37 +0000)]
When checking for thread safety with src/tools/thread/thread_test.c, the
mktemp function wants an argument that contains 6 X, while the current
version only supplies 5 X which will fail on my SuSE 8.1.

Andreas Pflug

20 years agoFix minor error in comment.
Tom Lane [Fri, 28 May 2004 16:37:11 +0000 (16:37 +0000)]
Fix minor error in comment.

20 years agoFix thinko in recent patch to change temp-table permissions behavior:
Tom Lane [Fri, 28 May 2004 16:17:14 +0000 (16:17 +0000)]
Fix thinko in recent patch to change temp-table permissions behavior:
this is an aclmask function and does not have the same return convention
as aclcheck functions.  Also adjust the behavior so that users without
CREATE TEMP permission still have USAGE permission on their session's
temp schema.  This allows privileged code to create a temp table and
make it accessible to code that's not got the same privilege.  (Since
the default permissions on a table are no-access, an explicit grant on
the table will still be needed; but I see no reason that the temp schema
itself should prohibit such access.)

20 years agoStat function now can show statistics per weight of lexemes
Teodor Sigaev [Fri, 28 May 2004 15:36:49 +0000 (15:36 +0000)]
Stat function now can show statistics per weight of lexemes

20 years agoFix some typos I introduced in WIN32-only code late last night.
Tom Lane [Fri, 28 May 2004 15:14:03 +0000 (15:14 +0000)]
Fix some typos I introduced in WIN32-only code late last night.
Thanks to Thomas Hallgren.

20 years agoNew version. Add support for int2, int8, float4, float8, timestamp with/without time...
Teodor Sigaev [Fri, 28 May 2004 10:43:32 +0000 (10:43 +0000)]
New version. Add support for int2, int8, float4, float8, timestamp with/without time zone, time with/without time zone, date, interval, oid, money and macaddr, char, varchar/text, bytea, numeric, bit, varbit, inet/cidr types for GiST

20 years agoCode review for EXEC_BACKEND changes. Reduce the number of #ifdefs by
Tom Lane [Fri, 28 May 2004 05:13:32 +0000 (05:13 +0000)]
Code review for EXEC_BACKEND changes.  Reduce the number of #ifdefs by
about a third, make it work on non-Windows platforms again.  (But perhaps
I broke the WIN32 code, since I have no way to test that.)  Fold all the
paths that fork postmaster child processes to go through the single
routine SubPostmasterMain, which takes care of resurrecting the state that
would normally be inherited from the postmaster (including GUC variables).
Clean up some places where there's no particularly good reason for the
EXEC and non-EXEC cases to work differently.  Take care of one or two
FIXMEs that remained in the code.

20 years agoSeems we forgot the installdirs target in this makefile.
Tom Lane [Fri, 28 May 2004 03:53:33 +0000 (03:53 +0000)]
Seems we forgot the installdirs target in this makefile.

20 years agoMake sure elog behaves sanely if invoked before GUC initializes.
Tom Lane [Fri, 28 May 2004 03:11:15 +0000 (03:11 +0000)]
Make sure elog behaves sanely if invoked before GUC initializes.

20 years agoOn WIN32, don't choke when setlocale(LC_MESSAGES, "") returns NULL.
Tom Lane [Thu, 27 May 2004 19:19:05 +0000 (19:19 +0000)]
On WIN32, don't choke when setlocale(LC_MESSAGES, "") returns NULL.
Per report from Magnus.

20 years agoGet rid of the former rather baroque mechanism for propagating the values
Tom Lane [Thu, 27 May 2004 17:12:57 +0000 (17:12 +0000)]
Get rid of the former rather baroque mechanism for propagating the values
of ThisStartUpID and RedoRecPtr into new backends.  It's a lot easier just
to make them all grab the values out of shared memory during startup.
This helps to decouple the postmaster from checkpoint execution, which I
need since I'm intending to let the bgwriter do it instead, and it also
fixes a bug in the Win32 port: ThisStartUpID wasn't getting propagated at
all AFAICS.  (Doesn't give me a lot of faith in the amount of testing that
port has gotten.)

20 years agopgindent files for Tom.
Bruce Momjian [Thu, 27 May 2004 15:07:41 +0000 (15:07 +0000)]
pgindent files for Tom.

20 years agoCleanup for Win32 pgkill.
Bruce Momjian [Thu, 27 May 2004 14:39:33 +0000 (14:39 +0000)]
Cleanup for Win32 pgkill.

20 years agoMove pgkill out into /port so pg_ctl can use it on Win32.
Bruce Momjian [Thu, 27 May 2004 13:08:57 +0000 (13:08 +0000)]
Move pgkill out into /port so pg_ctl can use it on Win32.

20 years agoDocument new pg_ctl 'kill' command, specificially for Win32.
Bruce Momjian [Thu, 27 May 2004 03:50:25 +0000 (03:50 +0000)]
Document new pg_ctl 'kill' command, specificially for Win32.

20 years agoChange pg_ctl to be in C. This was the final shell script and is
Bruce Momjian [Thu, 27 May 2004 03:37:55 +0000 (03:37 +0000)]
Change pg_ctl to be in C.  This was the final shell script and is
helpful for the Win32 port.

Andrew Dunstan, with additions by Bruce.

20 years agoRecommend ALTER TABLE ... TYPE as the best way to reclaim space occupied by deleted...
Tom Lane [Thu, 27 May 2004 03:30:11 +0000 (03:30 +0000)]
Recommend ALTER TABLE ... TYPE as the best way to reclaim space occupied by deleted columns.  The old method involving UPDATE and VACUUM FULL will be considerably less efficient.

20 years agoAdd an index entry for "Performance Tips". Patch from Alvaro Herrera.
Neil Conway [Thu, 27 May 2004 01:00:40 +0000 (01:00 +0000)]
Add an index entry for "Performance Tips". Patch from Alvaro Herrera.

20 years agoReduce the minimum allocable chunk size to 8 bytes (from 16). Now that
Tom Lane [Wed, 26 May 2004 19:44:15 +0000 (19:44 +0000)]
Reduce the minimum allocable chunk size to 8 bytes (from 16).  Now that
ListCells are only 8 bytes instead of 12 (on 4-byte-pointer machines
anyway), it's worth maintaining a separate freelist for 8-byte objects.
Remembering that alloc chunks carry 8 bytes of overhead, this should
reduce the net storage requirement for a long List by about a third.

20 years agoA couple other cosmetic cleanups in new List stuff.
Tom Lane [Wed, 26 May 2004 19:30:17 +0000 (19:30 +0000)]
A couple other cosmetic cleanups in new List stuff.

20 years agoMove setlocale() outside of NLS-only defines.
Bruce Momjian [Wed, 26 May 2004 19:00:31 +0000 (19:00 +0000)]
Move setlocale() outside of NLS-only defines.

20 years agoUse new forboth() macro to make loop coding a bit clearer.
Tom Lane [Wed, 26 May 2004 18:54:08 +0000 (18:54 +0000)]
Use new forboth() macro to make loop coding a bit clearer.

20 years agoAIX doc addition:
Bruce Momjian [Wed, 26 May 2004 18:51:43 +0000 (18:51 +0000)]
AIX doc addition:

> FWIW, the section on configuring kernel resources under various
> Unixen[1] doesn't have any documentation for AIX. If someone out there
> knows which knobs need to be tweaked, would they mind sending in a doc
> patch? (Or just specifying what needs to be done, and I'll add the
> SGML.)

After verifying that nobody wound up messing with the kernel
parameters, here's a docs patch...

 Chris Browne

20 years agoFix problems in pg_autovacuum:
Bruce Momjian [Wed, 26 May 2004 18:48:25 +0000 (18:48 +0000)]
Fix problems in pg_autovacuum:

1) temp table crash

2) Check send_query() function call return value.

Backpatch to 7.4.X.

20 years agoRenumber to prevent duplicate oids. Update catalog version.
Bruce Momjian [Wed, 26 May 2004 18:37:33 +0000 (18:37 +0000)]
Renumber to prevent duplicate oids.  Update catalog version.

20 years ago*) inet_(client|server)_(addr|port)() and necessary documentation for
Bruce Momjian [Wed, 26 May 2004 18:35:51 +0000 (18:35 +0000)]
*) inet_(client|server)_(addr|port)() and necessary documentation for
the four functions.

> Also, please justify the temp-related changes.  I was not aware that we
> had any breakage there.

patch-tmp-schema.txt contains the following bits:

*) Changes pg_namespace_aclmask() so that the superuser is always able
to create objects in the temp namespace.
*) Changes pg_namespace_aclmask() so that if this is a temp namespace,
objects are only allowed to be created in the temp namespace if the
user has TEMP privs on the database.  This encompasses all object
creation, not just TEMP tables.
*) InitTempTableNamespace() checks to see if the current user, not the
session user, has access to create a temp namespace.

The first two changes are necessary to support the third change.  Now
it's possible to revoke all temp table privs from non-super users and
limiting all creation of temp tables/schemas via a function that's
executed with elevated privs (security definer).  Before this change,
it was not possible to have a setuid function to create a temp
table/schema if the session user had no TEMP privs.

patch-area-path.txt contains:

*) Can now determine the area of a closed path.

patch-dfmgr.txt contains:

*) Small tweak to add the library path that's being expanded.

I was using $lib/foo.so and couldn't easily figure out what the error
message, "invalid macro name in dynamic library path" meant without
looking through the source code.  With the path in there, at least I
know where to start looking in my config file.

Sean Chittenden

20 years agoUse a cleaner substitute for the inability to apply length() to the tail
Tom Lane [Wed, 26 May 2004 18:35:41 +0000 (18:35 +0000)]
Use a cleaner substitute for the inability to apply length() to the tail
of a list.  Per private discussion with Neil.

20 years agoFix problem with doing 7.0.X dumps on character varying[] fields.
Bruce Momjian [Wed, 26 May 2004 18:24:22 +0000 (18:24 +0000)]
Fix problem with doing 7.0.X dumps on character varying[] fields.

Christopher Kings-Lynne

20 years agoRenumber bit/boolean aggregates to remove duplicates.
Bruce Momjian [Wed, 26 May 2004 18:14:36 +0000 (18:14 +0000)]
Renumber bit/boolean aggregates to remove duplicates.

20 years agoRecent commits added created files that weren't getting deleted by
Tom Lane [Wed, 26 May 2004 17:24:07 +0000 (17:24 +0000)]
Recent commits added created files that weren't getting deleted by
'make clean'.

20 years agoAdd <limits.h>, per Magnus.
Tom Lane [Wed, 26 May 2004 16:16:03 +0000 (16:16 +0000)]
Add <limits.h>, per Magnus.

20 years agoThe added aggregates are:
Bruce Momjian [Wed, 26 May 2004 15:26:28 +0000 (15:26 +0000)]
The added aggregates are:

(1) boolean-and and boolean-or aggregates named bool_and and bool_or.
    they (SHOULD;-) correspond to standard sql every and some/any aggregates.
    they do not have the right name as there is a problem with
    the standard and the parser for some/any. Tom also think that
    the standard name is misleading because NULL are ignored.
    Also add 'every' aggregate.

(2) bitwise integer aggregates named bit_and and bit_or for
    int2, int4, int8 and bit types. They are not standard, but I find
    them useful. I needed them once.

The patches adds:

- 2 new very short strict functions for boolean aggregates in
  src/backed/utils/adt/bool.c,
  src/include/utils/builtins.h and src/include/catalog/pg_proc.h

- the new aggregates declared in src/include/catalog/pg_proc.h and
  src/include/catalog/pg_aggregate.h

- some documentation and validation about these new aggregates.

Fabien COELHO

20 years agoThe patch adresses the TODO list item "Allow external interfaces to
Bruce Momjian [Wed, 26 May 2004 15:07:41 +0000 (15:07 +0000)]
The patch adresses the TODO list item "Allow external interfaces to
extend the GUC variable set".

Plugin modules like the pl<lang> modules needs a way to declare
configuration parameters. The postmaster has no knowledge of such
modules when it reads the postgresql.conf file. Rather than allowing
totally unknown configuration parameters, the concept of a variable
"class" is introduced. Variables that belongs to a declared classes will
create a placeholder value of string type and will not generate an
error. When a module is loaded, it will declare variables for such a
class and make those variables "consume" any placeholders that has been
defined. Finally, the module will generate warnings for unrecognized
placeholders defined for its class.

More detail:
The design is outlined after the suggestions made by Tom Lane and Joe
Conway in this thread:

http://archives.postgresql.org/pgsql-hackers/2004-02/msg00229.php

A new string variable 'custom_variable_classes' is introduced. This
variable is a comma separated string of identifiers. Each identifier
denots a 'class' that will allow its members to be added without error.
This variable must be defined in postmaster.conf.

The lexer (guc_file.l) is changed so that it can accept a qualified name
in the form <ID>.<ID> as the name of a variable. I also changed so that
the 'custom_variable_classes', if found, is added first of all variables
in order to remove the order of declaration issue.

The guc_variables table is made more dynamic. It is originally created
with 20% slack and can grow dynamically. A capacity is introduced to
avoid resizing every time a new variable is added. guc_variables and
num_guc_variables becomes static (hidden).

The GucInfoMain now uses the new function get_guc_variables() and
GetNumConfigOptions  instead or using the guc_variables directly.

The find_option() function, when passed a missing name, will check if
the name is qualified. If the name is qualified and if the qualifier
denotes a class included in the 'custom_variable_classes', a placeholder
variable will be created. Such a placeholder will not participate in a
list operation but will otherwise function as a normal string variable.

Define<type>GucVariable() functions will be added, one for each variable
type. They are inteded to be used by add-on modules like the pl<lang>
mappings. Example:

extern void DefineCustomBoolVariable(
         const char* name,
         const char* short_desc,
         const char* long_desc,
         bool* valueAddr,
         GucContext context,
         GucBoolAssignHook assign_hook,
         GucShowHook show_hook);

(I created typedefs for the assign-hook and show-hook functions). A call
to these functions will define a new GUC-variable. If a placeholder
exists it will be replaced but it's value will be used in place of the
default value. The valueAddr is assumed ot point at a default value when
the define function is called. The only constraint that is imposed on a
Custom variable is that its name is qualified.

Finally, a function:

void EmittWarningsOnPlacholders(const char* className)

was added. This function should be called when a module has completed
its variable definitions. At that time, no placeholders should remain
for the class that the module uses. If they do, elog(INFO, ...) messages
will be issued to inform the user that unrecognized variables are
present.

Thomas Hallgren

20 years agoThis patch implement the TODO [ALTER DATABASE foo OWNER TO bar].
Bruce Momjian [Wed, 26 May 2004 13:57:04 +0000 (13:57 +0000)]
This patch implement the TODO [ALTER DATABASE foo OWNER TO bar].
It was necessary to touch in grammar and create a new node to make home
to the new syntax. The command is also supported in E
CPG. Doc updates are attached too. Only superusers can change the owner
of the database. New owners don't need any aditional
privileges.

Euler Taveira de Oliveira

20 years agoReimplement the linked list data structure used throughout the backend.
Neil Conway [Wed, 26 May 2004 04:41:50 +0000 (04:41 +0000)]
Reimplement the linked list data structure used throughout the backend.

In the past, we used a 'Lispy' linked list implementation: a "list" was
merely a pointer to the head node of the list. The problem with that
design is that it makes lappend() and length() linear time. This patch
fixes that problem (and others) by maintaining a count of the list
length and a pointer to the tail node along with each head node pointer.
A "list" is now a pointer to a structure containing some meta-data
about the list; the head and tail pointers in that structure refer
to ListCell structures that maintain the actual linked list of nodes.

The function names of the list API have also been changed to, I hope,
be more logically consistent. By default, the old function names are
still available; they will be disabled-by-default once the rest of
the tree has been updated to use the new API names.

20 years agoPlease apply this minor patch to the cvs HEAD of dbmirror
Jan Wieck [Wed, 26 May 2004 00:08:26 +0000 (00:08 +0000)]
Please apply this minor patch to the cvs HEAD of dbmirror

It fixes a typo in a define

Thanks

-- Steven Singer

20 years agoAdd FRONTEND to ecpglib.
Bruce Momjian [Tue, 25 May 2004 21:20:44 +0000 (21:20 +0000)]
Add FRONTEND to ecpglib.

20 years agoAllow relative paths as long as the hardcoded path matches the bin path
Bruce Momjian [Tue, 25 May 2004 20:47:41 +0000 (20:47 +0000)]
Allow relative paths as long as the hardcoded path matches the bin path
up to the last bin directory name.

20 years agoTweaks per discussion with Magnus: suppress chatter on unpatched MinGW
Tom Lane [Tue, 25 May 2004 19:46:21 +0000 (19:46 +0000)]
Tweaks per discussion with Magnus: suppress chatter on unpatched MinGW
systems, add verbose logging (at DEBUG4) to help identify why a given
time zone is not matched.

20 years agoFix erroneous error message printout when a configuration file contains
Tom Lane [Tue, 25 May 2004 19:11:14 +0000 (19:11 +0000)]
Fix erroneous error message printout when a configuration file contains
an overlength token.  Printout was always garbage and could dump core
entirely :-(.  Per report from Martin Pitt.

20 years agoFix set_pglocale to properly pass my_exec_path to get_locale_path instead of argv0.
Bruce Momjian [Tue, 25 May 2004 18:18:29 +0000 (18:18 +0000)]
Fix set_pglocale to properly pass my_exec_path to get_locale_path instead of argv0.

20 years agoAdd code to identify_system_timezone() to try all zones in the zic
Tom Lane [Tue, 25 May 2004 18:08:59 +0000 (18:08 +0000)]
Add code to identify_system_timezone() to try all zones in the zic
database, not just ones that we cons up POSIX names for.  This looks
grim but it seems to take less than a second even on a relatively slow
machine, and since it only happens once during postmaster startup, that
seems acceptable.

20 years agoAdd exec.c to ecpg library because path.c now uses it.
Bruce Momjian [Tue, 25 May 2004 17:35:51 +0000 (17:35 +0000)]
Add exec.c to ecpg library because path.c now uses it.

20 years agoSkip settting LC_ALL in the backend.
Bruce Momjian [Tue, 25 May 2004 01:42:08 +0000 (01:42 +0000)]
Skip settting LC_ALL in the backend.

20 years agoMake the locale location relocatable.
Bruce Momjian [Tue, 25 May 2004 01:00:30 +0000 (01:00 +0000)]
Make the locale location relocatable.

Adjust get_*_path functions to be limited to MAXPGPATH.

20 years agoRemove pstrdup() call from exec.c because DLLIMPORT flag on
Bruce Momjian [Mon, 24 May 2004 22:35:37 +0000 (22:35 +0000)]
Remove pstrdup() call from exec.c because DLLIMPORT flag on
CurrentMemoryContext caused compile problems.

Recode to not make a copy of the PATH but copy parts out into MAXPGPATH
variables.

20 years agoMake validate_exec take a const char *, for gcc 3.4, which is more
Bruce Momjian [Mon, 24 May 2004 20:23:50 +0000 (20:23 +0000)]
Make validate_exec take a const char *, for gcc 3.4, which is more
strict.

20 years agoUpdate Russian FAQ.
Bruce Momjian [Mon, 24 May 2004 15:14:52 +0000 (15:14 +0000)]
Update Russian FAQ.

Viktor Vislobokov

20 years agoClarify an entry in the 7.4 release notes.
Neil Conway [Mon, 24 May 2004 04:54:22 +0000 (04:54 +0000)]
Clarify an entry in the 7.4 release notes.

20 years agoAdd:
Bruce Momjian [Mon, 24 May 2004 03:23:00 +0000 (03:23 +0000)]
Add:

> * Allow GRANT/REVOKE permissions to be given to all schema objects with one command

20 years agoThis patch fixes the find_my_exec code for pgstat backends. Required for
Bruce Momjian [Mon, 24 May 2004 02:47:47 +0000 (02:47 +0000)]
This patch fixes the find_my_exec code for pgstat backends. Required for
TZ stuff (and possibly others) to work in the pgstat backends.

Magnus Hagander

20 years agoRewrite identify_system_timezone() to give it better-than-chance odds
Tom Lane [Mon, 24 May 2004 02:30:29 +0000 (02:30 +0000)]
Rewrite identify_system_timezone() to give it better-than-chance odds
of correctly identifying the system's daylight-savings transition rules.
This still begs the question of how to look through the zic database to
find a matching zone definition, but at least now we'll have some chance
of recognizing the match when we find it.

20 years agoRemove a few $filter() calls that were not needed.
Bruce Momjian [Mon, 24 May 2004 01:01:38 +0000 (01:01 +0000)]
Remove a few $filter() calls that were not needed.

20 years agoSeems we had the wrong sign convention for the default Etc/GMTx zone
Tom Lane [Sun, 23 May 2004 23:26:53 +0000 (23:26 +0000)]
Seems we had the wrong sign convention for the default Etc/GMTx zone
names.  Per report from Alvaro.

20 years agoAvoid calling select_default_timezone() when backing out an unwanted TZ
Tom Lane [Sun, 23 May 2004 23:12:11 +0000 (23:12 +0000)]
Avoid calling select_default_timezone() when backing out an unwanted TZ
setting.  This is a temporary kluge to keep Alvaro happy; eventually we
should fix the TZ library API to make the problem really go away.

20 years agoUse case-insensitive comparison so that explicitly setting timezone=unknown
Tom Lane [Sun, 23 May 2004 22:24:08 +0000 (22:24 +0000)]
Use case-insensitive comparison so that explicitly setting timezone=unknown
in postgresql.conf does the right thing.  variable.c got this right, but
not pgtz.c ...

20 years agoA few cosmetic fixes and code cleanup.
Neil Conway [Sun, 23 May 2004 22:20:10 +0000 (22:20 +0000)]
A few cosmetic fixes and code cleanup.

20 years agoNew two-stage sampling method for ANALYZE, as per discussions a few weeks
Tom Lane [Sun, 23 May 2004 21:24:02 +0000 (21:24 +0000)]
New two-stage sampling method for ANALYZE, as per discussions a few weeks
ago.  This should give significantly better results when the density of
live tuples is not uniform throughout a table.  Manfred Koizar, with
minor kibitzing from Tom Lane.

20 years agoStill another place to make the world safe for zero-column tables:
Tom Lane [Sun, 23 May 2004 17:10:54 +0000 (17:10 +0000)]
Still another place to make the world safe for zero-column tables:
remove the ancient (and always pretty dodgy) assumption in parse_clause.c
that a query can't have an empty targetlist.

20 years agoMake --without-docdir configure option actually work, per Manfred.
Tom Lane [Sun, 23 May 2004 15:24:32 +0000 (15:24 +0000)]
Make --without-docdir configure option actually work, per Manfred.

20 years agoFix broken markup.
Tom Lane [Sun, 23 May 2004 15:13:43 +0000 (15:13 +0000)]
Fix broken markup.

20 years agoHandle impending sinval queue overflow by means of a separate signal
Tom Lane [Sun, 23 May 2004 03:50:45 +0000 (03:50 +0000)]
Handle impending sinval queue overflow by means of a separate signal
(SIGUSR1, which we have not been using recently) instead of piggybacking
on SIGUSR2-driven NOTIFY processing.  This has several good results:
the processing needed to drain the sinval queue is a lot less than the
processing needed to answer a NOTIFY; there's less contention since we
don't have a bunch of backends all trying to acquire exclusive lock on
pg_listener; backends that are sitting inside a transaction block can
still drain the queue, whereas NOTIFY processing can't run if there's
an open transaction block.  (This last is a fairly serious issue that
I don't think we ever recognized before --- with clients like JDBC that
tend to sit with open transaction blocks, the sinval queue draining
mechanism never really worked as intended, probably resulting in a lot
of useless cache-reset overhead.)  This is the last of several proposed
changes in response to Philip Warner's recent report of sinval-induced
performance problems.

20 years agoFor multi-table ANALYZE, use per-table transactions when possible
Tom Lane [Sat, 22 May 2004 23:14:38 +0000 (23:14 +0000)]
For multi-table ANALYZE, use per-table transactions when possible
(ie, when not inside a transaction block), so that we can avoid holding
locks longer than necessary.  Per trouble report from Philip Warner.

20 years agoReduce pg_listener lock taken by NOTIFY et al from AccessExclusiveLock
Tom Lane [Sat, 22 May 2004 21:58:24 +0000 (21:58 +0000)]
Reduce pg_listener lock taken by NOTIFY et al from AccessExclusiveLock
to ExclusiveLock.  This still serializes the operations of this module,
but doesn't conflict with concurrent ANALYZE operations.  Per trouble
report from Philip Warner a few weeks ago.

20 years agoFix to install correctly in vpath build case.
Tom Lane [Sat, 22 May 2004 21:02:32 +0000 (21:02 +0000)]
Fix to install correctly in vpath build case.

20 years agoFix a few more minor errors in the 7.4 release notes.
Neil Conway [Sat, 22 May 2004 11:06:55 +0000 (11:06 +0000)]
Fix a few more minor errors in the 7.4 release notes.

20 years agoFix typo in an entry in the 7.4 release notes.
Neil Conway [Sat, 22 May 2004 09:48:15 +0000 (09:48 +0000)]
Fix typo in an entry in the 7.4 release notes.

20 years agoFix for vpath builds.
Tom Lane [Sat, 22 May 2004 02:15:08 +0000 (02:15 +0000)]
Fix for vpath builds.

20 years agoClean up failure to remove exec.o on 'make clean'.
Tom Lane [Sat, 22 May 2004 02:14:28 +0000 (02:14 +0000)]
Clean up failure to remove exec.o on 'make clean'.

20 years agoUse wide-character library routines, if available, for upper/lower/initcap
Tom Lane [Sat, 22 May 2004 00:34:51 +0000 (00:34 +0000)]
Use wide-character library routines, if available, for upper/lower/initcap
functions.  This allows these functions to work correctly with Unicode and
other multibyte encodings.  Per prior discussion.

Also, revert my earlier change to move installation path mashing from
Makefile.global to configure.  Turns out not to work well because configure
script is working with unexpanded variables, and so fails to match in
cases where it should match.

20 years agoHandle inclusion of port modules 'correctly', viz the same way libpq
Tom Lane [Fri, 21 May 2004 21:56:02 +0000 (21:56 +0000)]
Handle inclusion of port modules 'correctly', viz the same way libpq
does it.  Fixes OS X, which needs path.c.  It may be that Win32 needs
some more port modules, but they are easily added.

20 years agopgindent did a pretty awful job on the timezone code, particularly with
Tom Lane [Fri, 21 May 2004 20:59:10 +0000 (20:59 +0000)]
pgindent did a pretty awful job on the timezone code, particularly with
respect to doubly-starred comment blocks.  Do some manual cleanup.

20 years agoPut path configuration information into a .h file instead of cluttering
Tom Lane [Fri, 21 May 2004 20:56:50 +0000 (20:56 +0000)]
Put path configuration information into a .h file instead of cluttering
several different module Makefiles with it.  Also, do any adjustment
of installation paths during configure, rather than every time Makefile.global
is read.

20 years agoProbably need sys/time.h here too to be safe.
Tom Lane [Fri, 21 May 2004 16:22:38 +0000 (16:22 +0000)]
Probably need sys/time.h here too to be safe.

20 years agoPut back #include <sys/time.h> in files that seem to need it on Linux.
Tom Lane [Fri, 21 May 2004 16:08:47 +0000 (16:08 +0000)]
Put back #include <sys/time.h> in files that seem to need it on Linux.

20 years agoFix random breakage in exec.c for platforms where strdup is a macro.
Tom Lane [Fri, 21 May 2004 16:06:23 +0000 (16:06 +0000)]
Fix random breakage in exec.c for platforms where strdup is a macro.

20 years ago- Fixed DEALLOCATE PREPARE to use correct function call
Michael Meskes [Fri, 21 May 2004 13:50:12 +0000 (13:50 +0000)]
- Fixed DEALLOCATE PREPARE to use correct function call
- Made sure connect statement does not accept single char variable,
  but only strings.

20 years agoPgindent timezone file, per request from Tom.
Bruce Momjian [Fri, 21 May 2004 12:30:25 +0000 (12:30 +0000)]
Pgindent timezone file, per request from Tom.

20 years agoIntegrate src/timezone library for all platforms. There is more we can
Tom Lane [Fri, 21 May 2004 05:08:06 +0000 (05:08 +0000)]
Integrate src/timezone library for all platforms.  There is more we can
and should do now that we control our own destiny for timezone handling,
but this commit gets the bulk of the picayune diffs in place.
Magnus Hagander and Tom Lane.