aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/access/transam/xlog.c16
-rw-r--r--src/backend/utils/adt/selfuncs.c4
-rw-r--r--src/bin/initdb/initdb.sh26
3 files changed, 29 insertions, 17 deletions
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index a6a51f7f604..eca4a5de5f8 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.93 2002/04/24 01:54:43 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v 1.94 2002/05/09 13:30:24 petere Exp $
*
*-------------------------------------------------------------------------
*/
@@ -39,7 +39,6 @@
#include "storage/spin.h"
#include "utils/builtins.h"
#include "utils/relcache.h"
-#include "utils/selfuncs.h"
#include "miscadmin.h"
@@ -2108,19 +2107,6 @@ WriteControlFile(void)
elog(PANIC, "invalid LC_CTYPE setting");
StrNCpy(ControlFile->lc_ctype, localeptr, LOCALE_NAME_BUFLEN);
- /*
- * Issue warning WARNING if initdb'ing in a locale that will not permit
- * LIKE index optimization. This is not a clean place to do it, but I
- * don't see a better place either...
- */
- if (!locale_is_like_safe())
- elog(WARNING, "Initializing database with %s collation order."
- "\n\tThis locale setting will prevent use of index optimization for"
- "\n\tLIKE and regexp searches. If you are concerned about speed of"
- "\n\tsuch queries, you may wish to set LC_COLLATE to \"C\" and"
- "\n\tre-initdb. For more information see the Administrator's Guide.",
- ControlFile->lc_collate);
-
/* Contents are protected with a CRC */
INIT_CRC64(ControlFile->crc);
COMP_CRC64(ControlFile->crc,
diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c
index 8294612e137..7ba1fd55875 100644
--- a/src/backend/utils/adt/selfuncs.c
+++ b/src/backend/utils/adt/selfuncs.c
@@ -15,7 +15,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/selfuncs.c,v 1.110 2002/04/25 02:56:55 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/selfuncs.c,v 1.111 2002/05/09 13:30:24 petere Exp $
*
*-------------------------------------------------------------------------
*/
@@ -3189,6 +3189,8 @@ pattern_selectivity(char *patt, Pattern_Type ptype)
* could be different from lc_collate_is_c(), but in a different
* theory, non-C locales are completely unpredicable so it's unlikely
* to happen.)
+ *
+ * Be sure to maintain the correspondence with the code in initdb.
*/
bool
locale_is_like_safe(void)
diff --git a/src/bin/initdb/initdb.sh b/src/bin/initdb/initdb.sh
index 9a6b78217b7..0405b316d75 100644
--- a/src/bin/initdb/initdb.sh
+++ b/src/bin/initdb/initdb.sh
@@ -27,7 +27,7 @@
# Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
-# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.152 2002/04/27 21:24:34 tgl Exp $
+# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.153 2002/05/09 13:30:24 petere Exp $
#
#-------------------------------------------------------------------------
@@ -464,6 +464,30 @@ echo "The files belonging to this database system will be owned by user \"$Effec
echo "This user must also own the server process."
echo
+TAB=' '
+
+if test `pg_getlocale CTYPE` = `pg_getlocale COLLATE` \
+ && test `pg_getlocale CTYPE` = `pg_getlocale TIME` \
+ && test `pg_getlocale CTYPE` = `pg_getlocale NUMERIC` \
+ && test `pg_getlocale CTYPE` = `pg_getlocale MONETARY` \
+ && test `pg_getlocale CTYPE` = `pg_getlocale MESSAGES`
+then
+ echo "The database cluster will be initialized with locale `pg_getlocale CTYPE`."
+else
+ echo "The database cluster will be initialized with locales:"
+ echo " COLLATE: `pg_getlocale COLLATE`${TAB}CTYPE: `pg_getlocale CTYPE`${TAB}MESSAGES: `pg_getlocale MESSAGES`"
+ echo " MONETARY: `pg_getlocale MONETARY`${TAB}NUMERIC: `pg_getlocale NUMERIC`${TAB}TIME: `pg_getlocale TIME`"
+fi
+
+# (Be sure to maintain the correspondence with locale_is_like_safe() in selfuncs.c.)
+if test `pg_getlocale COLLATE` != C && test `pg_getlocale COLLATE` != POSIX; then
+ echo "This locale setting will prevent the use of indexes for pattern matching"
+ echo "operations. If that is a concern, rerun $CMDNAME with the collation order"
+ echo "set to \"C\". For more information see the Administrator's Guide."
+fi
+echo
+
+
##########################################################################
#
# CREATE DATABASE DIRECTORY