diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/access/transam/xlog.c | 16 | ||||
-rw-r--r-- | src/backend/utils/adt/selfuncs.c | 4 | ||||
-rw-r--r-- | src/bin/initdb/initdb.sh | 26 |
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 |