variable.c
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:1k
- /*
- * This file contains some public functions
- * related to show/set/reset variable commands.
- * Tatsuo Ishii
- * $Id: variable.c,v 1.4.2.1 1999/08/02 05:25:12 scrappy Exp $
- */
- #include "postgres.h"
- #include "mb/pg_wchar.h"
- bool
- parse_client_encoding(const char *value)
- {
- int encoding;
- encoding = pg_valid_client_encoding(value);
- if (encoding < 0)
- {
- if (value)
- elog(ERROR, "Client encoding %s is not supported", value);
- else
- elog(ERROR, "No client encoding is specified");
- }
- else
- {
- if (pg_set_client_encoding(encoding))
- {
- elog(ERROR, "Conversion between %s and %s is not supported",
- value, pg_encoding_to_char(GetDatabaseEncoding()));
- }
- }
- return TRUE;
- }
- bool
- show_client_encoding()
- {
- elog(NOTICE, "Current client encoding is %s",
- pg_encoding_to_char(pg_get_client_encoding()));
- return TRUE;
- }
- bool
- reset_client_encoding()
- {
- int encoding;
- char *env = getenv("PGCLIENTENCODING");
- if (env)
- {
- encoding = pg_char_to_encoding(env);
- if (encoding < 0)
- encoding = GetDatabaseEncoding();
- }
- else
- encoding = GetDatabaseEncoding();
- pg_set_client_encoding(encoding);
- return TRUE;
- }
- bool
- parse_server_encoding(const char *value)
- {
- elog(NOTICE, "SET SERVER_ENCODING is not supported");
- return TRUE;
- }
- bool
- show_server_encoding()
- {
- elog(NOTICE, "Current server encoding is %s",
- pg_encoding_to_char(GetDatabaseEncoding()));
- return TRUE;
- }
- bool
- reset_server_encoding()
- {
- elog(NOTICE, "RESET SERVER_ENCODING is not supported");
- return TRUE;
- }