https://github.com/postgres/postgres

sort by:
Revision Author Date Message Commit Date
5776fea update us to beta5 22 November 2004, 03:06:35 UTC
de8113f Update release notes for recent changes; also minor editorialization. 22 November 2004, 00:37:59 UTC
294c34b Fix rounding problem in dynahash.c's decision about when the target fill factor has been exceeded. We usually run with ffactor == 1, but the way the test was coded, it wouldn't split a bucket until the actual fill factor reached 2.0, because of use of integer division. Change from > to >= so that it will split more aggressively when the table starts to get full. 21 November 2004, 22:57:00 UTC
7f1711f Reduce the default size of the PortalHashTable in order to save a few cycles during transaction exit. A typical session probably wouldn't have as many as half a dozen portals open at once, so the original value of 64 seems far larger than needed. 21 November 2004, 22:48:01 UTC
183e8b9 While fixing plperl and pltcl, I realized plpgsql wasn't doing subtransactions quite right either: the ReleaseCurrentSubTransaction call should occur inside the PG_TRY, so that the proper path is taken if an error occurs during subtransaction commit. This assumes that AbortSubTransaction can cope with the state left behind if CommitSubTransaction fails partway through, but we were already requiring that. 21 November 2004, 22:27:34 UTC
32c97fd Suppress remaining compile warnings, and add a comment about why it's not really broken. Andrew Dunstan 21 November 2004, 22:13:37 UTC
35f4994 Fix plperl and pltcl error handling per my previous proposal. SPI operations are now run as subtransactions, so that errors in them can be reported as ordinary Perl or Tcl errors and caught by the normal error handling convention of those languages. Also do some minor code cleanup in pltcl.c: extract a large chunk of duplicated code in pltcl_SPI_execute and pltcl_SPI_execute_plan into a shared subroutine. 21 November 2004, 21:17:07 UTC
a3b663d Fix typo. 20 November 2004, 22:28:39 UTC
c584103 Patch of 2004-03-30 corrected date_part(timestamp) for extracting the year from a BC date, but failed to make the same fix in date_part(timestamptz). 20 November 2004, 22:12:44 UTC
19dacd4 Fix typo, per Bruno Wolff. 20 November 2004, 21:44:24 UTC
a34d76e Fix up makefile dependencies for pg_config_paths.h. 20 November 2004, 21:13:06 UTC
3e3f283 Avoid scanning the relcache during AtEOSubXact_RelationCache when there is nothing to do, which is most of the time. This is another simple improvement to cut subtransaction entry/exit overhead. 20 November 2004, 20:19:52 UTC
8ecbc46 Reduce the default size of the local lock hash table. There's usually no need for it to be nearly as big as the global hash table, and since it's not in shared memory it can grow if it does need to be bigger. By reducing the size, we speed up hash_seq_search(), which saves a significant fraction of subtransaction entry/exit overhead. 20 November 2004, 20:16:54 UTC
193a97c Fix plperl's elog() function to convert elog(ERROR) into Perl croak(), rather than longjmp'ing clear out of Perl and thereby leaving Perl in a broken state. Also some minor prettification of error messages. Still need to do something with spi_exec_query() error handling. 20 November 2004, 19:07:40 UTC
d5013ab Fix one more place where we were expecting lcons() to be nondestructive to the original List; per report from Sebastian BÃŽck. I think this is the last such bug --- I examined every lcons() call in the backend and the rest seem OK --- but it's nervous-making that we're still finding 'em so many months after the List rewrite went in. 20 November 2004, 17:59:31 UTC
0b5c72d On some HPUX versions/hardware, it seems we need to include libgcc.a in the regression test shared libraries. 20 November 2004, 03:52:00 UTC
83fea34 Fix unportable isdigit() call --- must cast arg to unsigned char. 20 November 2004, 02:09:47 UTC
8a7025f Move pgstat_report_tabstat() call so that stats are not reported to the collector until the transaction commits. Per recent discussion, this should avoid confusing autovacuum when an updating transaction runs for a long time. 20 November 2004, 00:48:58 UTC
e719591 Make sure we produce a useful error message for the case where the postgresql.crt file simply isn't there, too. 20 November 2004, 00:35:13 UTC
7506677 Improve error reporting for SSL connection failures. Remove redundant free operations in client_cert_cb --- openssl will also attempt to free these structures, resulting in core dumps. 20 November 2004, 00:18:18 UTC
88969ea Fix incorrect documentation of plperl's method for accessing the number of rows processed by a SPI query (David Fetter); also some other minor editorial cleanup (Tom Lane). 19 November 2004, 23:22:54 UTC
8e57975 Clean up rpath handling for HPUX --- we can't use the cc-style rpath switch syntax when calling ld directly. 19 November 2004, 21:27:42 UTC
466fb06 Set rpath for plperl and plpython to ensure we can find the .so files for the languages even when not installed in a standard directory. pltcl may need this treatment as well, but we don't have the right path conveniently available, so I'll leave it alone as long as there aren't actual reports of trouble. 19 November 2004, 19:23:01 UTC
a9ddd64 Modify the platform-specific makefiles so that macro 'rpath' is defined in terms of macro 'rpathdir', as I proposed a few weeks ago. In itself this commit shouldn't change the behavior at all, but it opens the door to using special rpaths for the PL shared libraries, as seems to be needed for plperl in particular. 19 November 2004, 00:41:39 UTC
b603848 Fix memory clobber problem reported by John Hansen: plperl_safe_init() may expand the Perl stack, therefore we must SPAGAIN to reload the local stack pointer after calling it. Also a couple other marginal readability improvements. 18 November 2004, 21:35:42 UTC
da1c19a Whoops, missed converting the other sleep() call to pg_usleep(). 18 November 2004, 17:13:38 UTC
050a007 Translation update 18 November 2004, 10:09:59 UTC
b2a2f4c Force pg_database updates out to disk immediately after ALTER DATABASE; this is to avoid scenarios where incoming backends find no live copies of a database's row because the only live copy is in an as-yet-unwritten shared buffer, which they can't see. Also, use FlushRelationBuffers() for forcing out pg_database, instead of the much more expensive BufferSync(). There's no need to write out pages belonging to other relations. 18 November 2004, 01:14:26 UTC
c36496a Include <getopt.h> if available, to avoid warnings on Windows. 17 November 2004, 21:37:47 UTC
c87ddba Rename vacuum_cost_limit switch from -N to -l to avoid conflict with existing Windows-only switch. 17 November 2004, 21:30:36 UTC
1c1f2f5 Remove ill-considered suppression of gcc warnings in plperl, and fix some of the bugs exposed thereby. The remaining 'might be used uninitialized' warnings look like live bugs, but I am not familiar enough with Perl/C hacking to tell how to fix them. 17 November 2004, 21:23:36 UTC
edcaa8f Fix off-by-one memory allocation, as reported by Rod Taylor. Also avoid repalloc'ing twice when once is sufficient. 17 November 2004, 19:54:24 UTC
6444bc3 Set DEFAULT_EDITOR to notepad.exe on Windows, as per recent discussion. 17 November 2004, 18:32:31 UTC
b9d8ea2 Some further editorial adjustment of PITR recovery procedure description. 17 November 2004, 18:29:02 UTC
4a6fd46 Force LANG=en on Windows, since system may fail to default to English. 17 November 2004, 18:06:04 UTC
98640c3 Add installcheck-parallel regression test target. Magnus Hagander 17 November 2004, 18:05:06 UTC
77fe4fd Use pg_usleep() not sleep(), per Andrew Dunstan. 17 November 2004, 17:50:20 UTC
5d72ef8 Miscellaneous Cygwin build fixes from Reini Urban. 17 November 2004, 17:46:24 UTC
ede8f4e Add variant regression file to support BSDen that underflow to plus zero instead of minus zero. Per Andrew Dunstan. 17 November 2004, 17:25:32 UTC
e5f7a9f Install include/port header files, and fix PGXS build to use them. Fabien COELHO 17 November 2004, 17:16:17 UTC
86b5545 Adjust SHLIB_LINK for cygwin case. Reini Urban 17 November 2004, 17:08:15 UTC
c47fc6d Add options to pg_autovacuum to support setting the cost-based-vacuum parameters differently from their default values. Matthew T. O'Connor 17 November 2004, 16:54:15 UTC
18b5835 Be sure length limit passed to snprintf matches what malloc was given. Just paranoia ... 17 November 2004, 16:34:42 UTC
37d6930 Minor adjustment of message style. 17 November 2004, 16:26:59 UTC
2fa36d7 Win32 build cleanups, from Andrew Dunstan. 17 November 2004, 08:30:11 UTC
ffe130f Remove debugging printf from #ifdef WIN32 section. 17 November 2004, 04:05:42 UTC
5d1dd2b Micro-optimization of markpos() and restrpos() in btree and hash indexes. Rather than using ReadBuffer() to increment the reference count on an already-pinned buffer, we should use IncrBufferRefCount() as it is faster and does not require acquiring the BufMgrLock. 17 November 2004, 03:13:38 UTC
a51e54c Document a limitation of COPY's new CSV mode. Doc patch from Andrew Dunstan, editorializing by Neil Conway. 17 November 2004, 02:50:06 UTC
b25d23e Don't allow pg_start_backup() to be invoked if archive_command has not been defined. Patch from Gavin Sherry, editorializing by Neil Conway. 17 November 2004, 02:22:54 UTC
0021ae0 Fix Win32 problems with signals and sockets, by making the forkexec code even uglier than it was already :-(. Also, on Windows only, use temporary shared memory segments instead of ordinary files to pass over critical variable values from postmaster to child processes. Magnus Hagander 17 November 2004, 00:14:14 UTC
e1bf652 Prevent a backend crash when processing CREATE TABLE commands with more than 65K columns, or when the created table has more than 65K columns due to adding inherited columns from parent relations. Fix a similar crash when processing SELECT queries with more than 65K target list entries. In all three cases we would eventually detect the error and elog, but the check was being made too late. 16 November 2004, 23:34:26 UTC
8a1821a Translation update 16 November 2004, 22:58:44 UTC
4a0bee9 Adjust safety restrictions for plperl functions. Andrew Dunstan's patch, but allow srand and disallow sprintf as per subsequent discussion. 16 November 2004, 22:05:22 UTC
bb85f1b Suppress duplicate rules for lib$(NAME).a on WIN32 and Cygwin. Andrew Dunstan 16 November 2004, 21:51:13 UTC
6beb6fa Use dynamically-sized buffers in pgwin32_is_service(). Magnus Hagander 16 November 2004, 19:52:22 UTC
7efa841 Rethink plpgsql's way of handling SPI execution during an exception block. We don't really want to start a new SPI connection, just keep using the old one; otherwise we have memory management problems as illustrated by John Kennedy's bug report of today. This requires a bit of a hack to ensure the SPI stack state is properly restored, but then again what we were doing before was a hack too, strictly speaking. Add a regression test to cover this case. 16 November 2004, 18:10:16 UTC
2bb3bcf Trivial wording improvement. 16 November 2004, 15:00:36 UTC
2318508 Add index entries for all GUC configuration parameters. 16 November 2004, 05:33:14 UTC
3d1e269 Don't quote the value of EDITOR on Unix, only on Windows. Per discussion. 15 November 2004, 23:15:12 UTC
ec7a6bd Replace "--" and "---" with "&mdash;" as appropriate, for better-looking output. 15 November 2004, 06:32:15 UTC
db1531f Fix typo, other minor improvements. 15 November 2004, 04:35:57 UTC
f647458 Use English-style quotes in error messages, per Serguei Mokhov. 14 November 2004, 23:36:53 UTC
3c1a866 Remove replicaiton FAQ item. 14 November 2004, 21:33:10 UTC
ea23ec8 Remove GUC USERLIMIT variable category, making the affected variables plain SUSET instead. Also delay processing of options received in client connection request until after we know if the user is a superuser, so that SUSET values can be set that way by legitimate superusers. Per recent discussion. 14 November 2004, 19:35:35 UTC
1c7a47c Improvements to the PITR docs. Initial patch from Gavin Sherry, additional improvements by Neil Conway. 14 November 2004, 06:10:12 UTC
a236dd9 There is no need for ReadBuffer() call sites to check that the returned buffer is valid, as ReadBuffer() will elog on error. Most of the call sites of ReadBuffer() got this right, but this patch fixes those call sites that did not. 14 November 2004, 02:04:14 UTC
1c5125a Not entirely sure when this broke, but libpq's VC++ build is currently lacking pqsignal which is now required. This was found and fixed for VC++ by Shachar Shemesh, I simply duplicated the fix for the Borland makefile (untested, as I don't have that compiler). Dave Page 13 November 2004, 03:18:50 UTC
3c57e0b Update: < * Eliminate WAL logging for CREATE INDEX/REINDEX/CREATE TABLE AS when < not doing WAL archiving > * Eliminate WAL logging for CREATE TABLE AS when not doing WAL archiving 12 November 2004, 23:26:37 UTC
cf956d5 Remove now-redundant description of Postgres file layout, in favor of referencing the Database File Layout chapter I just added to the main documentation. 12 November 2004, 21:55:01 UTC
7f4b5a0 Add some real documentation about the overall filesystem layout used by a Postgres database. Update page.sgml to match 8.0 tuple header layout. 12 November 2004, 21:50:53 UTC
c7866f6 Fix obsolete comments. 12 November 2004, 20:08:40 UTC
1b87c3f Add: > * Eliminate WAL logging for CREATE INDEX/REINDEX/CREATE TABLE AS when > not doing WAL archiving 12 November 2004, 18:12:12 UTC
03b12ef > I think in addition the system global name "sharemem.1" should be made more > pg specific, like "PostgreSQL.1". I have not done this since a new compile > would not detect a running old beta. But now would be the time (or never). Zeugswetter Andreas 12 November 2004, 17:59:42 UTC
5666485 Remember to close the file on failure (pretty much redundant, really, since this path will lead to postmaster exit anyway...) 12 November 2004, 00:08:23 UTC
664f93c Un-break custom_variable_classes kluge ... mea culpa. 11 November 2004, 23:45:13 UTC
fc402fd pg_restore --help improvements, from Tom Lane: ! printf(_(" -d, --dbname=NAME connect to database name\n")); ! printf(_(" -C, --create create the target database\n")); 11 November 2004, 17:06:46 UTC
85eda8e Cleanup: > 284d284 < 286a287 > 405a407 > 415a418 > 431a435 > 440a445 > 452a458 > 520c526 < * ECPG (?) > * ECPG 846a853 > 857a865 > 11 November 2004, 04:36:55 UTC
b4cd3b3 Fix a handful of typos in the release notes introduced by Bruce's recent commit. Per Gavin Sherry. 11 November 2004, 04:11:07 UTC
6cd67c9 Cleaups: < * Allow GRANT/REVOKE permissions to be given to all schema objects with one > * Allow GRANT/REVOKE permissions to be applied to all schema objects with one 60c60 < specifications. This is because new databases are created by copying > specifications. This is because new databases are created by copying 63c63 < directory would create a new database with tables that had incorrect > directory would create a new database with tables that had incorrect 72c72 < > 85c85 < By not showing commented-out variables, we discourage people from > By not showing commented-out variables, we discourage people from 91c91 < * Allow point-in-time recovery to archive partially filled write-ahead > * Allow point-in-time recovery to archive partially filled write-ahead 102c102 < Currently all schemas are owned by the super-user because they are > Currently all schemas are owned by the super-user because they are 128c128 < * Allow INET subnet tests with non-constants to be indexed > * Allow INET subnet tests using non-constants to be indexed 143,144c143,144 < * Allow to_char to print localized month names < * Allow functions to have a search path specified at creation time > * Allow to_char() to print localized month names > * Allow functions to have a schema search path specified at creation time 146c146 < * Add GUC variable to allow output of interval values in ISO8601 format > * Add a GUC variable to allow output of interval values in ISO8601 format 154,155c154,155 < * Prevent inet cast to cidr if the unmasked bits are not zero, or < zero bits > * Prevent INET cast to CIDR if the unmasked bits are not zero, or > zero the bits 158c158 < o Allow nulls in arrays > o Allow NULLs in arrays 160,161c160,161 < o Delay resolution of array expression type so assignment coercion < can be performed on empty array expressions > o Delay resolution of array expression's data type so assignment > coercion can be performed on empty array expressions 218,219c218,219 < key, foreign key [inheritance] < * UNIQUE INDEX on base column not honored on inserts/updates from > key, foreign key > * UNIQUE INDEX on base column not honored on INSERTs/UPDATEs from 221c221 < (dup) should fail [inheritance] > (dup) should fail 246c246 < * Fetch heap pages matching index entries in sequential order [performance] > * Fetch heap pages matching index entries in sequential order 307c307 < functionality in DELETE. It's been agreed that the keyword should > functionality in DELETE. It's been agreed that the keyword should 318c318 < * Allow PREPARE to automatically determine parameter types based on the SQL > * Allow PREPARE to automatically determine parameter types based on the SQL 340,342d339 < * Allow CREATE TABLE foo (f1 INT CHECK (f1 > 0) CHECK (f1 < 10)) to work < by searching for non-conflicting constraint names, and prefix with < table name? 347c344 < new database. > a new database. 350,351d346 < * Ignore temporary tables from other sessions when processing < inheritance? 354,355c349,351 < * Add a session mode to warn about non-standard SQL usage in queries < * Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules, triggers?) > * Add a GUC variable to warn about non-standard SQL usage in queries > * Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules, > triggers?) 357,359c353,356 < * Add NOVICE output level for helpful messages like automatic sequence/index creation < * Add COMMENT ON for all cluster global objects (users, groups, < databases and tablespaces) > * Add NOVICE output level for helpful messages like automatic sequence/index > creation > * Add COMMENT ON for all cluster global objects (users, groups, databases > and tablespaces) 363c360 < When enabled, this would allow errors in multi-statement transactions > When enabled, this would allow errors in multi-statement transactions 417c414 < o Allow COPY to optionally include column headings as the first line > o Allow COPY to optionally include column headings in the first line 450c447 < > 462c459 < o Handle references to temporary tables that are created, destroyed, > o Handle references to temporary tables that are created, destroyed, 464c461 < > 469d465 < o Improve PL/PgSQL exception handling using savepoints 488c484 < > 503d498 < 518c513 < o Add pg_dumpall custom format dumps. > o Add pg_dumpall custom format dumps. 520c515 < This is probably best done by combining pg_dump and pg_dumpall > This is probably best done by combining pg_dump and pg_dumpall 532d526 < o Improve error handling (?) 555c549 < Adding shared locks requires recording the table/rows numbers in a > Adding shared locks requires recording the table/rows numbers in a 643c637 < Posix_fadvise() can control both sequential/random file caching and > Posix_fadvise() can control both sequential/random file caching and 703c697 < from distributted.net, http://www1.distributed.net/source, > from distributted.net, http://www1.distributed.net/source, 729c723 < * Add connection pooling [pool] > * Add connection pooling 755d748 < 759c752 < > 768c761 < so an abrupt operating system restart might lose a few seconds of > so an abrupt operating system restart might lose a few seconds of 785c778 < * Add utility to compute accurate random_page_cost value > * Create utility to compute accurate random_page_cost value 787,789d779 < * Allow sorting, temp files, temp tables to use multiple work directories < < This allows the I/O load to be spread across multiple disk drives. 795a786 > 808,809c799,800 < < * Use mmap() rather than SYSV shared memory or to write WAL files (?) [mmap] > > * Use mmap() rather than SYSV shared memory or to write WAL files (?) 812,813c803,804 < portability issues. Anonymous mmap (or mmap to /dev/zero) is required < to prevent I/O overhead. > portability issues. Anonymous mmap (or mmap to /dev/zero) is required > to prevent I/O overhead. 817,819c808,810 < Doing I/O to large tables would consume a lot of address space or < require frequent mapping/unmapping. Extending the file also causes < mapping problems that might require mapping only individual pages, > Doing I/O to large tables would consume a lot of address space or > require frequent mapping/unmapping. Extending the file also causes > mapping problems that might require mapping only individual pages, 821c812 < way to _prevent_ I/O to disk from the dirty shared buffers so changes > way to _prevent_ I/O to disk from the dirty shared buffers so changes 826c817 < tuple overhead > per-tuple overhead 829,831c820,822 < This would involve using multiple threads or processes to do optimization, < sorting, or execution of single query. The major advantage of such a < feature would be to allow multiple CPUs to work together to process a > This would involve using multiple threads or processes to do optimization, > sorting, or execution of single query. The major advantage of such a > feature would be to allow multiple CPUs to work together to process a 834c825 < * Research the use of larger pages sizes > * Research the use of larger page sizes 842a834 > * Move some /contrib modules out to their own project sites 845d836 < * Improve access-permissions check on data directory in Cygwin (Tom) 847,848c838 < * Clarify use of 'application' and 'command' tags in SGML docs < * Better document ability to build only certain interfaces (Marc) > * Improve documentation to build only interfaces (Marc) 852,853d841 < * Research interaction of setitimer() and sleep() used by statement_timeout < * Rename /scripts directory because they are all C programs now 856,857d843 < * Allow binaries to be statically linked so they are more easily relocated < * Move some /contrib modules out to their own project sites 862c848 < o Remove per-backend parameter file and move into shared memory? > o Remove per-backend parameter file and move into shared memory 877,878c863,864 < o Update clients to use data types, typmod, schema.table.column names of < result sets using new query protocol > o Update clients to use data types, typmod, schema.table.column names > of result sets using new query protocol 900d885 < * Kris is Kris Jurka 910c895 < * Simon is Simon Riggs > * Simon is Simon Riggs <simon@2ndquadrant.com> 913d897 < * Teodor is 11 November 2004, 03:59:14 UTC
4d0f669 Remove obsolete comment from btbuild() and hashbuild(): we no longer use a global variable to control building indexes. 11 November 2004, 00:32:50 UTC
5bf218d Add character set declaration to HTML files, so they have a chance to validate and display correctly. 10 November 2004, 23:01:47 UTC
979a530 Fix some spacing problems. 10 November 2004, 21:54:23 UTC
45ecebc Add SGML markup to 8.0 release notes. 10 November 2004, 21:43:50 UTC
67e1ae9 List VALUE as a keyword. 10 November 2004, 13:48:10 UTC
1688848 Fix sgml markup tags. 10 November 2004, 06:13:12 UTC
a3704c6 Update release notes to match CVS. 10 November 2004, 06:09:59 UTC
883fbbe Done: < < * psql tab completion < < o Provide a list of conversions after ALTER CONVERSION? < o Support for ALTER SEQUENCE clauses < o Add RENAME TO to ALTER TRIGGER < o Support for ALTER USER < o Fix ALTER (GROUP|DOMAIN|...) <sth> DROP < o Support for ALTER LANGUAGE <sth> RENAME TO < o Improve support for COPY < o Improve support for ALTER TABLE 10 November 2004, 05:47:07 UTC
242fca7 Remove performance TODO.detail. In TODO. 10 November 2004, 02:48:59 UTC
056d7e3 Add bitmap info: < heap page to find matching rows. > heap page to find matching rows, or perhaps use a mixed solution where > tids are recorded for pages with only a few matches and per-page bitmaps > are used for more dense pages. Another idea is to use a 32-bit bitmap > for every page and set a bit based on the item number mod(32). 10 November 2004, 02:48:41 UTC
9a633cb Allow planner to fold "stable" functions to constants when forming selectivity estimates, per recent discussion. 09 November 2004, 21:42:53 UTC
8f6278d Put in place some defenses against being fooled by accidental match of shared memory segment ID. If we can't access the existing shmem segment, it must not be relevant to our data directory. If we can access it, then attach to it and check for an actual match to the data directory. This should avoid some cases of failure-to-restart-after-boot without introducing any significant risk of failing to detect a still-running old backend. 09 November 2004, 21:30:18 UTC
58825b8 Add: > > * Research the use of larger pages sizes 09 November 2004, 16:50:59 UTC
e9c0528 Get rid of perror(), substitute some better phrased error messages. malloc() doesn't set errno, so most uses were buggy anyway. 09 November 2004, 15:57:57 UTC
960f545 Update bitmap index description: < Such indexes could be more compact if there are only a few unique values. > Such indexes could be more compact if there are only a few distinct values. > Such indexes can also be compressed. Keeping such indexes updated can be > costly. 09 November 2004, 15:11:11 UTC
1813d94 Translation updates 09 November 2004, 14:46:37 UTC
7d8578a Clarify some strings 09 November 2004, 14:39:44 UTC
ea182a9 Translation update 09 November 2004, 14:38:48 UTC
3c093ff Clarify some error messages 09 November 2004, 13:01:27 UTC
5c398e6 Translation update 09 November 2004, 13:00:05 UTC
f5ef59c Delete the `remove-old-headers' target, as it is no longer useful. Patch from Alvaro Herrera. 09 November 2004, 06:23:50 UTC
back to top