]> granicus.if.org Git - postgresql/log
postgresql
20 years agoAdd:
Bruce Momjian [Thu, 10 Jun 2004 03:45:30 +0000 (03:45 +0000)]
Add:

> * Order heap pointers on hash index pages by hash value and ctid

20 years agoAdd pg_ctl native language files for Russian.
Bruce Momjian [Thu, 10 Jun 2004 02:59:22 +0000 (02:59 +0000)]
Add pg_ctl native language files for Russian.

Serguei A. Mokhov

20 years agoAdd regression tests for CSV COPY format.
Bruce Momjian [Wed, 9 Jun 2004 23:39:24 +0000 (23:39 +0000)]
Add regression tests for CSV COPY format.

20 years agoFix slightly-wrong syntax error messages from bootstrap parser, as per
Tom Lane [Wed, 9 Jun 2004 19:49:56 +0000 (19:49 +0000)]
Fix slightly-wrong syntax error messages from bootstrap parser, as per
report from Tom Cook.

20 years agoSupport assignment to subfields of composite columns in UPDATE and INSERT.
Tom Lane [Wed, 9 Jun 2004 19:08:20 +0000 (19:08 +0000)]
Support assignment to subfields of composite columns in UPDATE and INSERT.
As a side effect, cause subscripts in INSERT targetlists to do something
more or less sensible; previously we evaluated such subscripts and then
effectively ignored them.  Another side effect is that UPDATE-ing an
element or slice of an array value that is NULL now produces a non-null
result, namely an array containing just the assigned-to positions.

20 years agoUse single quotes around pg_dump call from pg_dumpall.
Bruce Momjian [Wed, 9 Jun 2004 17:37:28 +0000 (17:37 +0000)]
Use single quotes around pg_dump call from pg_dumpall.

20 years agoUse single quotes for pg_ctl system call.
Bruce Momjian [Wed, 9 Jun 2004 17:36:07 +0000 (17:36 +0000)]
Use single quotes for pg_ctl system call.

20 years agoAdd time.h to pg_dumpall.
Bruce Momjian [Wed, 9 Jun 2004 17:05:14 +0000 (17:05 +0000)]
Add time.h to pg_dumpall.

20 years agoUse mkstemp instead of mktemp in thread test, per Jan.
Bruce Momjian [Wed, 9 Jun 2004 15:16:17 +0000 (15:16 +0000)]
Use mkstemp instead of mktemp in thread test, per Jan.

20 years agoPrevious code cleanup was for bufpage.c, not bufmgr.c.
Bruce Momjian [Wed, 9 Jun 2004 13:11:34 +0000 (13:11 +0000)]
Previous code cleanup was for bufpage.c, not bufmgr.c.

This cleanup just cleans up a comment.

20 years agoAdd:
Bruce Momjian [Wed, 9 Jun 2004 03:15:51 +0000 (03:15 +0000)]
Add:

> * Add ON COMMIT capability to CREATE TABLE AS SELECT

20 years agoAdd missing check for too-few-inputs when replacing a zero-dimensional
Tom Lane [Tue, 8 Jun 2004 20:28:21 +0000 (20:28 +0000)]
Add missing check for too-few-inputs when replacing a zero-dimensional
array.

20 years agoFix mingw link check by using double-brackets.
Bruce Momjian [Tue, 8 Jun 2004 14:06:35 +0000 (14:06 +0000)]
Fix mingw link check by using double-brackets.

20 years agoStylistic changes in bufmgr.c
Bruce Momjian [Tue, 8 Jun 2004 14:00:35 +0000 (14:00 +0000)]
Stylistic changes in bufmgr.c

Basically replaces (*a).b with a->b as it is everywhere else in
Postgres.

Manfred Koizar

20 years agovacuum.c refactoring
Bruce Momjian [Tue, 8 Jun 2004 13:59:36 +0000 (13:59 +0000)]
vacuum.c refactoring

   . rename variables
     . cur_buffer -> dst_buffer
     . ToPage -> dst_page
     . cur_page -> dst_vacpage
   . move variable declarations into block where variable is used
   . various Asserts instead of elog(ERROR, ...)
   . extract functionality from repair_frag() into new routines
     . move_chain_tuple()
     . move_plain_tuple()
     . update_hint_bits()
   . create type ExecContext
   . add comments

Manfred Koizar

20 years agoChange PGETC to PGSYSCONFDIR and PGLOCALE to PGLOCALEDIR, per Peter.
Bruce Momjian [Tue, 8 Jun 2004 13:49:23 +0000 (13:49 +0000)]
Change PGETC to PGSYSCONFDIR and PGLOCALE to PGLOCALEDIR, per Peter.

20 years agoHave strerror_r return "Unknown error".
Bruce Momjian [Tue, 8 Jun 2004 01:45:50 +0000 (01:45 +0000)]
Have strerror_r return "Unknown error".

20 years agoFix strerror_r by checking return type from configure.
Bruce Momjian [Mon, 7 Jun 2004 22:39:45 +0000 (22:39 +0000)]
Fix strerror_r by checking return type from configure.

20 years agoAdd start/stop times for pg_dump/pg_dumpall when verbose output is used.
Bruce Momjian [Mon, 7 Jun 2004 20:35:57 +0000 (20:35 +0000)]
Add start/stop times for pg_dump/pg_dumpall when verbose output is used.

20 years agoRemove asymetrical word processing in query and text
Teodor Sigaev [Mon, 7 Jun 2004 16:48:18 +0000 (16:48 +0000)]
Remove asymetrical word processing in query and text

20 years agoUpdate date.
Bruce Momjian [Mon, 7 Jun 2004 15:11:23 +0000 (15:11 +0000)]
Update date.

20 years agoSome preliminary documentation for composite-type stuff.
Tom Lane [Mon, 7 Jun 2004 04:04:47 +0000 (04:04 +0000)]
Some preliminary documentation for composite-type stuff.

20 years agoDept of second thoughts: don't use the new wide-character upper/lower
Tom Lane [Sun, 6 Jun 2004 22:17:01 +0000 (22:17 +0000)]
Dept of second thoughts: don't use the new wide-character upper/lower
code if we are running in a single-byte encoding.  No point in the
extra overhead in that case.

20 years agoAdd some regression tests for composite-type operations.
Tom Lane [Sun, 6 Jun 2004 21:20:46 +0000 (21:20 +0000)]
Add some regression tests for composite-type operations.

20 years agoAllow use of table rowtypes directly as column types of other tables.
Tom Lane [Sun, 6 Jun 2004 20:30:07 +0000 (20:30 +0000)]
Allow use of table rowtypes directly as column types of other tables.
Instead of prohibiting that, put code into ALTER TABLE to reject ALTERs
that would affect other tables' columns.  Eventually we will probably
want to extend ALTER TABLE to actually do something useful here, but
in the meantime it seems wrong to forbid the feature completely just
because ALTER isn't fully baked.

20 years agoMinor catalog cleanups for composite-type stuff. Adjust signatures shown
Tom Lane [Sun, 6 Jun 2004 19:07:02 +0000 (19:07 +0000)]
Minor catalog cleanups for composite-type stuff.  Adjust signatures shown
in pg_proc for record_in, record_out, etc to reflect that these routines
now make use of the second OID parameter.  Remove the ancient SET entry
in pg_type, which is now highly unlikely to ever become used again.
Adjust type_sanity regression test to match.

20 years agoAdd binary I/O support for composite types.
Tom Lane [Sun, 6 Jun 2004 18:06:25 +0000 (18:06 +0000)]
Add binary I/O support for composite types.

20 years agoRemove finger from dike: composite types are now allowed as table columns.
Tom Lane [Sun, 6 Jun 2004 04:52:55 +0000 (04:52 +0000)]
Remove finger from dike: composite types are now allowed as table columns.
Still a few things to do, like binary I/O and regression tests and docs,
but might as well let people play with the toy.

20 years agoPreliminary support for composite type I/O; just text for now,
Tom Lane [Sun, 6 Jun 2004 04:50:28 +0000 (04:50 +0000)]
Preliminary support for composite type I/O; just text for now,
no binary yet.

20 years agoInfrastructure for I/O of composite types: arrange for the I/O routines
Tom Lane [Sun, 6 Jun 2004 00:41:28 +0000 (00:41 +0000)]
Infrastructure for I/O of composite types: arrange for the I/O routines
of a composite type to get that type's OID as their second parameter,
in place of typelem which is useless.  The actual changes are mostly
centralized in getTypeInputInfo and siblings, but I had to fix a few
places that were fetching pg_type.typelem for themselves instead of
using the lsyscache.c routines.  Also, I renamed all the related variables
from 'typelem' to 'typioparam' to discourage people from assuming that
they necessarily contain array element types.

20 years agoTweak palloc/repalloc to allow zero bytes to be requested, as per recent
Tom Lane [Sat, 5 Jun 2004 19:48:09 +0000 (19:48 +0000)]
Tweak palloc/repalloc to allow zero bytes to be requested, as per recent
proposal.  Eliminate several dozen now-unnecessary hacks to avoid palloc(0).
(It's likely there are more that I didn't find.)

20 years agoAdjust PageGetMaxOffsetNumber to ensure sane behavior on uninitialized
Tom Lane [Sat, 5 Jun 2004 17:42:46 +0000 (17:42 +0000)]
Adjust PageGetMaxOffsetNumber to ensure sane behavior on uninitialized
pages, even when the macro's result is stored into an unsigned variable.

20 years agoSlight code cleanup for printf's.
Bruce Momjian [Sat, 5 Jun 2004 04:27:48 +0000 (04:27 +0000)]
Slight code cleanup for printf's.

20 years agoMake the world very nearly safe for composite-type columns in tables.
Tom Lane [Sat, 5 Jun 2004 01:55:05 +0000 (01:55 +0000)]
Make the world very nearly safe for composite-type columns in tables.
1. Solve the problem of not having TOAST references hiding inside composite
values by establishing the rule that toasting only goes one level deep:
a tuple can contain toasted fields, but a composite-type datum that is
to be inserted into a tuple cannot.  Enforcing this in heap_formtuple
is relatively cheap and it avoids a large increase in the cost of running
the tuptoaster during final storage of a row.
2. Fix some interesting problems in expansion of inherited queries that
reference whole-row variables.  We never really did this correctly before,
but it's now relatively painless to solve by expanding the parent's
whole-row Var into a RowExpr() selecting the proper columns from the
child.
If you dike out the preventive check in CheckAttributeType(),
composite-type columns now seem to actually work.  However, we surely
cannot ship them like this --- without I/O for composite types, you
can't get pg_dump to dump tables containing them.  So a little more
work still to do.

20 years agoResurrect heap_deformtuple(), this time implemented as a singly nested
Tom Lane [Fri, 4 Jun 2004 20:35:21 +0000 (20:35 +0000)]
Resurrect heap_deformtuple(), this time implemented as a singly nested
loop over the fields instead of a loop around heap_getattr.  This is
considerably faster (O(N) instead of O(N^2)) when there are nulls or
varlena fields, since those prevent use of attcacheoff.  Replace loops
over heap_getattr with heap_deformtuple in situations where all or most
of the fields have to be fetched, such as printtup and tuptoaster.
Profiling done more than a year ago shows that this should be a nice
win for situations involving many-column tables.

20 years agoThe attached patch will create a dummy pg_config_paths.h. Additionally,
Bruce Momjian [Fri, 4 Jun 2004 13:30:04 +0000 (13:30 +0000)]
The attached patch will create a dummy pg_config_paths.h. Additionally,
ENABLE_THREAD_SAFETY is supported by the makefile (but not by the
sources, which need some rework)

Andreas Pflug

20 years agoThis is a small fix in FAQ. It just clean up some old comments and
Bruce Momjian [Fri, 4 Jun 2004 04:09:40 +0000 (04:09 +0000)]
This is a small fix in FAQ. It just clean up some old comments and
change an old -not-working piece of code.

20 years agoRemove dash in pg_ctl signal name. It broke with getopt_long dash
Bruce Momjian [Fri, 4 Jun 2004 04:05:36 +0000 (04:05 +0000)]
Remove dash in pg_ctl signal name.  It broke with getopt_long dash
reorganization processing, and it is clearer without the dash anyway.

20 years agoRemove some long-obsolete code that was causing a strange error message
Tom Lane [Fri, 4 Jun 2004 03:24:04 +0000 (03:24 +0000)]
Remove some long-obsolete code that was causing a strange error message
when someone attempts to create a column of a composite datatype.  For
now, just make sure we produce a reasonable error at the 'right place'.
Not sure if this will be made to work before 7.5, but make it act
reasonably in case nothing more gets done.

20 years agoSupport assignment to whole-row variables in plpgsql; also fix glitch
Tom Lane [Fri, 4 Jun 2004 02:37:06 +0000 (02:37 +0000)]
Support assignment to whole-row variables in plpgsql; also fix glitch
with using a trigger's NEW or OLD record as a whole-row variable in an
expression.  Fixes several long-standing complaints.

20 years agoAllow plpgsql to pass composite-type arguments (ie, whole-row variables)
Tom Lane [Fri, 4 Jun 2004 00:07:52 +0000 (00:07 +0000)]
Allow plpgsql to pass composite-type arguments (ie, whole-row variables)
into SQL expressions.  At present this only works usefully for variables
of named rowtypes, not RECORD variables, since the SQL parser can't infer
anything about datatypes from a RECORD Param.  Still, it's a step forward.

20 years agoRestructure plpgsql's parsing of datatype declarations to unify the
Tom Lane [Thu, 3 Jun 2004 22:56:43 +0000 (22:56 +0000)]
Restructure plpgsql's parsing of datatype declarations to unify the
scalar and composite (rowtype) cases a little better.  This commit is
just a code-beautification operation and shouldn't make any real
difference in behavior, but it's an important preliminary step for
trying to improve plgsql's handling of rowtypes.

20 years agoRemove typeTypeFlag(), which was not only unused but entirely redundant
Tom Lane [Thu, 3 Jun 2004 19:41:46 +0000 (19:41 +0000)]
Remove typeTypeFlag(), which was not only unused but entirely redundant
with typeTypType().

20 years agoplpgsql hasn't needed -Wno-error for a good long while.
Tom Lane [Thu, 3 Jun 2004 19:21:31 +0000 (19:21 +0000)]
plpgsql hasn't needed -Wno-error for a good long while.

20 years agoAdd range-checking in timestamp_recv and timestamptz_recv, per
Tom Lane [Thu, 3 Jun 2004 17:57:09 +0000 (17:57 +0000)]
Add range-checking in timestamp_recv and timestamptz_recv, per
Stephen Frost.  Also tighten date range check in timestamp2tm.

20 years agoRemove SYSCONFDIR from win32 include file.
Bruce Momjian [Thu, 3 Jun 2004 14:55:21 +0000 (14:55 +0000)]
Remove SYSCONFDIR from win32 include file.

20 years ago- Add aligment of variable data types
Teodor Sigaev [Thu, 3 Jun 2004 12:26:10 +0000 (12:26 +0000)]
- Add aligment of variable data types
- Add aligment for interval data types
- Avoid floating point overflow in penalty functions
Janko Richter <jankorichter@yahoo.de> and teodor

20 years agoAdjust our timezone library to use pg_time_t (typedef'd as int64) in
Tom Lane [Thu, 3 Jun 2004 02:08:07 +0000 (02:08 +0000)]
Adjust our timezone library to use pg_time_t (typedef'd as int64) in
place of time_t, as per prior discussion.  The behavior does not change
on machines without a 64-bit-int type, but on machines with one, which
is most, we are rid of the bizarre boundary behavior at the edges of
the 32-bit-time_t range (1901 and 2038).  The system will now treat
times over the full supported timestamp range as being in your local
time zone.  It may seem a little bizarre to consider that times in
4000 BC are PST or EST, but this is surely at least as reasonable as
propagating Gregorian calendar rules back that far.

I did not modify the format of the zic timezone database files, which
means that for the moment the system will not know about daylight-savings
periods outside the range 1901-2038.  Given the way the files are set up,
it's not a simple decision like 'widen to 64 bits'; we have to actually
think about the range of years that need to be supported.  We should
probably inquire what the plans of the upstream zic people are before
making any decisions of our own.

20 years agoWin32 regression fixes:
Bruce Momjian [Thu, 3 Jun 2004 00:25:47 +0000 (00:25 +0000)]
Win32 regression fixes:

. only use the -W flag on pwd for $pkglibdir. All the other paths need
to be seen as MSys type paths, whereas $pkglibdir needs to be expressed
as a genuine windows path.
. run single tests in the background and explicitly wait for them -
solves the problem of the MSys shell not waiting properly for the copy
test to finish.
. use pg_ctl to shut down the test postmaster - no more use of ad hoc
kill programs or the task manager.

Andrew Dunstan

20 years agoinit_ssl_system will return 0 on success and -1 on failure, which will
Bruce Momjian [Thu, 3 Jun 2004 00:13:19 +0000 (00:13 +0000)]
init_ssl_system  will return 0 on success and -1 on failure, which will
be interpreted just the other way round in initialize_SSL.

Andreas Pflug

20 years agoAdd new Win32 file with adjustments for recent code changes.
Bruce Momjian [Thu, 3 Jun 2004 00:11:13 +0000 (00:11 +0000)]
Add new Win32 file with adjustments for recent code changes.

Andreas Pflug

20 years agoAdd PGETC (for pg_service.conf) and PGLOCALE (for locale dir)
Bruce Momjian [Thu, 3 Jun 2004 00:07:38 +0000 (00:07 +0000)]
Add PGETC (for pg_service.conf) and PGLOCALE (for locale dir)
environment variable processing to libpq.

The patch also adds code to our client apps so we set the environment
variable directly based on our binary location, unless it is already
set. This will allow our applications to emit proper locale messages
that are generated in libpq.

20 years agoSmall patch that adds some documentation for the area() function.
Bruce Momjian [Wed, 2 Jun 2004 21:34:49 +0000 (21:34 +0000)]
Small patch that adds some documentation for the area() function.
Specifically, point out that intersecting points in a path will yield
(most likely), unexpected results.  Visually these are identical paths,
but mathematically they're not the same.  Ex:

  area |                                           plan
------
+-----------------------------------------------------------------------
-------------------
    -0 | ((0,0),(0,1),(2,1),(2,2),(1,2),(1,0),(0,0))
     2 | ((0,0),(0,1),(1,1),(1,2),(2,2),(2,1),(1,1),(1,0),(0,0))

The current algorithm for area(PATH) is very quick, but only handles
non-intersecting paths.  I'm going to work on two other functions for
the PATH data type that determines if a PATH is intersecting or not,
and a function that returns the area() for an intersecting PATH.  The
intersecting area() function will be considerably slower (I think it's
going to be O(n!) or worse instead of the current O(n), but that comes
with the territory).

Sean Chittenden

20 years agoPer previous discussions, here are two functions to send INT and TERM
Bruce Momjian [Wed, 2 Jun 2004 21:29:29 +0000 (21:29 +0000)]
Per previous discussions, here are two functions to send INT and TERM
(cancel and terminate) signals to other backends.   They permit only INT
and TERM, and permits sending only to postgresql backends.

Magnus Hagander

20 years agoMove -lpgport to the beginning of the library list for win32 linking.
Bruce Momjian [Wed, 2 Jun 2004 21:05:52 +0000 (21:05 +0000)]
Move -lpgport to the beginning of the library list for win32 linking.

20 years agoImprove without cluster wording.
Bruce Momjian [Wed, 2 Jun 2004 21:04:40 +0000 (21:04 +0000)]
Improve without cluster wording.

20 years agoOK, here's the final version of ALTER TABLE ... SET WITHOUT CLUSTER.
Bruce Momjian [Wed, 2 Jun 2004 21:01:10 +0000 (21:01 +0000)]
OK, here's the final version of ALTER TABLE ... SET WITHOUT CLUSTER.
Has docs + regression test.

Christopher Kings-Lynne

20 years agoFix breakage from GUC-extension-variables patch.
Tom Lane [Wed, 2 Jun 2004 18:09:32 +0000 (18:09 +0000)]
Fix breakage from GUC-extension-variables patch.

20 years agoAdjust btree index build to not use shared buffers, thereby avoiding the
Tom Lane [Wed, 2 Jun 2004 17:28:18 +0000 (17:28 +0000)]
Adjust btree index build to not use shared buffers, thereby avoiding the
locking conflict against concurrent CHECKPOINT that was discussed a few
weeks ago.  Also, if not using WAL archiving (which is always true ATM
but won't be if PITR makes it into this release), there's no need to
WAL-log the index build process; it's sufficient to force-fsync the
completed index before commit.  This seems to gain about a factor of 2
in my tests, which is consistent with writing half as much data.  I did
not try it with WAL on a separate drive though --- probably the gain would
be a lot less in that scenario.

20 years agoAdd locale setting for pg_ctl.
Bruce Momjian [Tue, 1 Jun 2004 22:03:18 +0000 (22:03 +0000)]
Add locale setting for pg_ctl.

20 years agoAlign GRANT/REVOKE behavior more closely with the SQL spec, per discussion
Tom Lane [Tue, 1 Jun 2004 21:49:23 +0000 (21:49 +0000)]
Align GRANT/REVOKE behavior more closely with the SQL spec, per discussion
of bug report #1150.  Also, arrange that the object owner's irrevocable
grant-option permissions are handled implicitly by the system rather than
being listed in the ACL as self-granted rights (which was wrong anyway).
I did not take the further step of showing these permissions in an
explicit 'granted by _SYSTEM' ACL entry, as that seemed more likely to
bollix up existing clients than to do anything really useful.  It's still
a possible future direction, though.

20 years agoFix silly bug
Teodor Sigaev [Tue, 1 Jun 2004 10:24:25 +0000 (10:24 +0000)]
Fix silly bug

20 years agoFastList is history, yay.
Tom Lane [Tue, 1 Jun 2004 06:02:13 +0000 (06:02 +0000)]
FastList is history, yay.

20 years agoList pg_trgm in contrib Makefile and README.
Tom Lane [Tue, 1 Jun 2004 05:15:47 +0000 (05:15 +0000)]
List pg_trgm in contrib Makefile and README.

20 years agoJust about there on de-FastList-ification.
Tom Lane [Tue, 1 Jun 2004 04:47:46 +0000 (04:47 +0000)]
Just about there on de-FastList-ification.

20 years agoMore locale fixes for pg_ctl.
Bruce Momjian [Tue, 1 Jun 2004 03:32:42 +0000 (03:32 +0000)]
More locale fixes for pg_ctl.

20 years agoSome more de-FastList-ification.
Tom Lane [Tue, 1 Jun 2004 03:28:48 +0000 (03:28 +0000)]
Some more de-FastList-ification.

20 years agoDesultory de-FastList-ification. RelOptInfo.reltargetlist is back to
Tom Lane [Tue, 1 Jun 2004 03:03:05 +0000 (03:03 +0000)]
Desultory de-FastList-ification.  RelOptInfo.reltargetlist is back to
being a plain List.

20 years agoRemove init_nls() functions, call set_pglocale() directly.
Bruce Momjian [Tue, 1 Jun 2004 02:54:09 +0000 (02:54 +0000)]
Remove init_nls() functions, call set_pglocale() directly.

Add locale to pg_ctl.c.

20 years agoAdd pgpid_t for use with pids.
Bruce Momjian [Tue, 1 Jun 2004 01:28:03 +0000 (01:28 +0000)]
Add pgpid_t for use with pids.

20 years agoAdditional mop-up for sync-to-fsync changes: avoid issuing fsyncs for
Tom Lane [Mon, 31 May 2004 20:31:33 +0000 (20:31 +0000)]
Additional mop-up for sync-to-fsync changes: avoid issuing fsyncs for
temp tables, and avoid WAL-logging truncations of temp tables.  Do issue
fsync on truncated files (not sure this is necessary but it seems like
a good idea).

20 years agoMinor code rationalization: FlushRelationBuffers just returns void,
Tom Lane [Mon, 31 May 2004 19:24:05 +0000 (19:24 +0000)]
Minor code rationalization: FlushRelationBuffers just returns void,
rather than an error code, and does elog(ERROR) not elog(WARNING)
when it detects a problem.  All callers were simply elog(ERROR)'ing on
failure return anyway, and I find it hard to envision a caller that would
not, so we may as well simplify the callers and produce the more useful
error message directly.

20 years agoSuppress compile warnings on machines where the INT64CONST() decoration
Tom Lane [Mon, 31 May 2004 18:53:18 +0000 (18:53 +0000)]
Suppress compile warnings on machines where the INT64CONST() decoration
is actually needed.  Per Oliver Elphick.

20 years agoToo few parens for my taste in this macro.
Tom Lane [Mon, 31 May 2004 18:42:40 +0000 (18:42 +0000)]
Too few parens for my taste in this macro.

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 http://www.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.