|
|
|
Отключение неявного преобразования типов для параметров процедур
|
|||
|---|---|---|---|
|
#18+
Доброго. Собственно поясню САБЖ. Работа с БД происходит с помощью процедур и представлений. Заметил, что нерадивые сотрудники решили филонить и не задумываться над тем как передаются параметры в процедуру. Пишут всё параметры процедур в одинарных кавычках как строки (правда это прокатывало до первого NULL :) ). Грубо говоря: авторCREATE TABLE test (i int4); CREATE OR REPLACE FUNCTION f_test(p int4) RETURNS VOID AS $BODY$ BEGIN INSERT INTO test (i) VALUES (p); RETURN; END; $BODY$ LANGUAGE plpgsql SECURITY DEFINER; SELECT f_test(100); SELECT f_test('200'); Собственно возник вопрос, если СУБД сама выполняет неявное преобразование параметров, может есть и способ его отключить? или ещё варианты как пофиксить такой хак для программистов. PostgreSQL 9.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2015, 16:26 |
|
||
|
Отключение неявного преобразования типов для параметров процедур
|
|||
|---|---|---|---|
|
#18+
heleoнерадивые сотрудникиТвои пожелания оформлены как правила разработки, обязательные к ознакомлению и исполнению, или хотя бы как рекомендации? И эти нерадивые ... отказываются выполнять твои старания улучшить сопровождаемую систему, не подают руки и плюют вслед?... Позор им! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2015, 17:39 |
|
||
|
Отключение неявного преобразования типов для параметров процедур
|
|||
|---|---|---|---|
|
#18+
p2.heleoнерадивые сотрудникиТвои пожелания оформлены как правила разработки, обязательные к ознакомлению и исполнению, или хотя бы как рекомендации? И эти нерадивые ... отказываются выполнять твои старания улучшить сопровождаемую систему, не подают руки и плюют вслед?... Позор им! Ни кто не отменял: лень,случайность, а уж тем более пренебрежение к стандартам и правилам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2015, 18:13 |
|
||
|
Отключение неявного преобразования типов для параметров процедур
|
|||
|---|---|---|---|
|
#18+
heleo Собственно возник вопрос, если СУБД сама выполняет неявное преобразование параметров, может есть и способ его отключить? или ещё варианты как пофиксить такой хак для программистов. Это не неявное преобразование типов... если вы явно объявите типы то получите: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2015, 18:41 |
|
||
|
Отключение неявного преобразования типов для параметров процедур
|
|||
|---|---|---|---|
|
#18+
Maxim BogukheleoСобственно возник вопрос, если СУБД сама выполняет неявное преобразование параметров, может есть и способ его отключить? или ещё варианты как пофиксить такой хак для программистов. Это не неявное преобразование типов... если вы явно объявите типы то получите: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. -- Maxim Boguk www.postgresql-consulting.ru Ок. Если это не неявное, тогда как правильно такое поведение назвать? Раньше работал со старой версией postgres, и мне сложно найти "то, не знаю что" )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2015, 18:55 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39051106&tid=1997777]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
276ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 550ms |

| 0 / 0 |
