variable.c
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:1k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. /*
  2.  * This file contains some public functions
  3.  * related to show/set/reset variable commands.
  4.  * Tatsuo Ishii
  5.  * $Id: variable.c,v 1.4.2.1 1999/08/02 05:25:12 scrappy Exp $
  6.  */
  7. #include "postgres.h"
  8. #include "mb/pg_wchar.h"
  9. bool
  10. parse_client_encoding(const char *value)
  11. {
  12. int encoding;
  13. encoding = pg_valid_client_encoding(value);
  14. if (encoding < 0)
  15. {
  16. if (value)
  17. elog(ERROR, "Client encoding %s is not supported", value);
  18. else
  19. elog(ERROR, "No client encoding is specified");
  20. }
  21. else
  22. {
  23. if (pg_set_client_encoding(encoding))
  24. {
  25. elog(ERROR, "Conversion between %s and %s is not supported",
  26.  value, pg_encoding_to_char(GetDatabaseEncoding()));
  27. }
  28. }
  29. return TRUE;
  30. }
  31. bool
  32. show_client_encoding()
  33. {
  34. elog(NOTICE, "Current client encoding is %s",
  35.  pg_encoding_to_char(pg_get_client_encoding()));
  36. return TRUE;
  37. }
  38. bool
  39. reset_client_encoding()
  40. {
  41. int encoding;
  42. char    *env = getenv("PGCLIENTENCODING");
  43. if (env)
  44. {
  45. encoding = pg_char_to_encoding(env);
  46. if (encoding < 0)
  47. encoding = GetDatabaseEncoding();
  48. }
  49. else
  50. encoding = GetDatabaseEncoding();
  51. pg_set_client_encoding(encoding);
  52. return TRUE;
  53. }
  54. bool
  55. parse_server_encoding(const char *value)
  56. {
  57. elog(NOTICE, "SET SERVER_ENCODING is not supported");
  58. return TRUE;
  59. }
  60. bool
  61. show_server_encoding()
  62. {
  63. elog(NOTICE, "Current server encoding is %s",
  64.  pg_encoding_to_char(GetDatabaseEncoding()));
  65. return TRUE;
  66. }
  67. bool
  68. reset_server_encoding()
  69. {
  70. elog(NOTICE, "RESET SERVER_ENCODING is not supported");
  71. return TRUE;
  72. }