|
не понимает значение '' для полей типа INT
|
|||
---|---|---|---|
#18+
Проапгрейдил до 7.4.1. Что вылезло сразу: 1. старые OPAQUE не берет, нужен TRIGGER 2. отсутствует тип datetime (вообще, как я понял, новая версия несколько по-иному подходит к работе с локальными датой/временем) 3. Очень неприятная особенность (пока, по крайней мере) - теперь в поле INTEGER нельзя вставить значение '' (раньше он его понимал как NULL). Соответственно, команда copy не подхватывает файлы с недостающими колонками (ранее 7.2. с этим делом справлялся). Как это возможно быстро победить, т.к. довольно много приложений используют такой подход?.. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2004, 17:57 |
|
не понимает значение '' для полей типа INT
|
|||
---|---|---|---|
#18+
сейчас копаюсь в доках, для COPY нашел особенность - можно ставить WITH NULL AS '' можно ли как-нибудь это перенести на обычные INSERT'ы? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2004, 18:07 |
|
не понимает значение '' для полей типа INT
|
|||
---|---|---|---|
#18+
в Cоpy сойдет и 1\t\t123\n вставит как (1,NULL,123) , а для инсерта такого нету.. заменяй '' на NULL, а вообще странно что '0' оно может в int4 сконвертить ,а из '' может зделать только NULL::text, еше меня убило то что оно(postgres v7.x.x) не знает что такое 0xAF12 и никак его не хочет воспринимать как число(понятно дело функцию можно написать но блин обыдно :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2004, 19:50 |
|
не понимает значение '' для полей типа INT
|
|||
---|---|---|---|
#18+
Вот засада! Столько приложений завязано с этой "особенностью".. Настали мои "жаркие" деньки.................... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2004, 08:48 |
|
не понимает значение '' для полей типа INT
|
|||
---|---|---|---|
#18+
если код поправить низя то впринцепе можно извратнутся.. делаеш в таблице доп поле mirror_int int4 , а то поле делаеш text , потом пиниш на эту таблицу рулезы на insert,update( которые заполняли бы поле mirrot_int в зависимости от значения исходного поля) и view на таблицу ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2004, 11:30 |
|
не понимает значение '' для полей типа INT
|
|||
---|---|---|---|
#18+
не, ну это можно, имхо, сделать попроще - триггер before update, insert, где в случае new.int='' он меняется на NULL :) в данном случае вместо триггеров проще было подправить программы :) просто как-то получается, что прошлые версии не полностью совместимы с предыдущими, а это, имхо, неприятно ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2004, 10:28 |
|
не понимает значение '' для полей типа INT
|
|||
---|---|---|---|
#18+
т.е ты хочешь сказать что если есть тригер ....if new.x <> NULL then new.x = 0 else new.x = 1.... на таблицу some_table (x int4); то запрос insert into some_table values ('xxxxxxxxxxxxxxxxxxx'); не выдаст ошибку??? ему в new.int(int4) запихивают text ..думаю еще до тригера вывалица ошибка ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2004, 15:57 |
|
|
start [/forum/topic.php?fid=53&msg=32564048&tid=2007814]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 145ms |
0 / 0 |