Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Язык для SQLErrm / 2 сообщений из 2, страница 1 из 1
05.09.2008, 16:49
    #35525217
Eugene Mosyagin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для SQLErrm
Постгрес 8.3, Виндовс ХП (Rus).

Кластер инициализирован с

--locale=english_usa
--encoding=utf8

Собственно проблема:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Create Or Replace Function F2 (A Int, B Out Text) As $$
Declare V Int;
Begin    
 V =  2  / A;
Exception
 When Division_By_Zero Then
  B = SQLERRM;
End; $$ Language PLPGSQL;

Select * From F2( 0 );

Возвращает пустую строку, а должен "division by zero"

Если в этом же кластере создать базу с кодировкой SQL_ASCII, то сообщение об ошибке возвращается.

Вопрос:
1) Как сделать так, чтобы приведённый выше код работал?
2) Как заставить постгрес выводить сообщения об ошибках на ENSGLISH ?????????
...
Рейтинг: 0 / 0
08.09.2008, 18:34
    #35528455
Ёш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для SQLErrm
что мешает так написать:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Create Or Replace Function F2 (A Int, B Out Text) As $$
Declare V Int;
Begin    
 V :=  2  / A;
Exception
 When Division_By_Zero Then
  B := 'division by zero';
End; $$ Language PLPGSQL;
вообще не будет зависеть от локали :)
Eugene Mosyagin2) Как заставить постгрес выводить сообщения об ошибках на ENSGLISH ?????????за это отвечает параметр конфигурации lc_messages, установите его в 'C'
lc_messages = 'C'
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Язык для SQLErrm / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]