Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
prepared and run with bind parameters
|
|||
|---|---|---|---|
|
#18+
"SQL statements can be prepared and run with bind parameters" Не могу понять как в PostgreSQL работает механизм... Примерно знаю как это в ORACLE , а в postgres - не пойму даже какую главу документации читать... может кто подскажет куда рыть? может какие статейки есть с примерами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 13:11 |
|
||
|
prepared and run with bind parameters
|
|||
|---|---|---|---|
|
#18+
смитри описание PREPARE в доках Код: plaintext 1. 2. 3. p.s. этот EXECUTE не тот EXECUTE который в plpgsql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 15:40 |
|
||
|
prepared and run with bind parameters
|
|||
|---|---|---|---|
|
#18+
Ты bind сделать вообще где пытаешься?? -- plpgsql -- java ... где? в зависимости от этого и рез будет разный ;-) -------------------------------------- жизнь как пестня ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 15:43 |
|
||
|
prepared and run with bind parameters
|
|||
|---|---|---|---|
|
#18+
Да разбираюсь как работает перловый модуль DBD::Pg ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 16:26 |
|
||
|
prepared and run with bind parameters
|
|||
|---|---|---|---|
|
#18+
дык тебе тада надо $sth = $db->prepare("select a from my_table shere a=?"); $sth->execute(12); while( @a = $sth->fetchrow_array() ) { ... print $a[0]; } $sth->finish(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 16:43 |
|
||
|
prepared and run with bind parameters
|
|||
|---|---|---|---|
|
#18+
да я как раз-таки разбираюсь как это на стороне сервера работает просто нашел в логах PG запросы типа UPDATE .... $1, $2, $5 и не понял как он их выполнял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 16:52 |
|
||
|
prepared and run with bind parameters
|
|||
|---|---|---|---|
|
#18+
при этом ни PREPARE, ни EXECUTE не увидел наверное логирование так реализовано что показывается только исходный запрос.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 16:54 |
|
||
|
prepared and run with bind parameters
|
|||
|---|---|---|---|
|
#18+
перловый драйвер для PG подставляет пласехлдеры сам !!!! .. неумеет он делать perpare и execute , а то что ты видел в логах это скорее всего апдейт от ХП . p.s будь осторожен перловый драйвер для PG глюкаво (последнюю версию не видел) особенно в отношении пласехолдеров, но тем не мение пласехолдеры полезная практика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 17:04 |
|
||
|
prepared and run with bind parameters
|
|||
|---|---|---|---|
|
#18+
Во, хоть один человек нашелся, владеющей хоть какой-то инфой про DBD::Pg Помоги плиз, натолкни на верный путь.... У меня проблема такого рода: http://mail.ice.ru/lists/dev/2005-March/001587.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 17:54 |
|
||
|
prepared and run with bind parameters
|
|||
|---|---|---|---|
|
#18+
Там правда (по ссылке) немного лишней инфы , если вкратце, то перловый скрипт генерит и выполняет запросы, и при insert/update иногда происходит ошибка "Выражение варчар, хотя поле integer!". Смотрю на параметры, которые вместо плейсхолдеров подставлюятся - все должно быть нормально - '0', '1' и т.д.... получается что pg-драйвер уже где-то на финальной стадии делает приведение типа для параметров... зачем правда непонятно, и непонятно в чем баг... в perldoc DBD::Pg кое-что было про bind_parm(), varchar и т.д.... но если честно, ничерта не понял! :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 18:04 |
|
||
|
prepared and run with bind parameters
|
|||
|---|---|---|---|
|
#18+
приводи к инту '23'::int ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 18:48 |
|
||
|
prepared and run with bind parameters
|
|||
|---|---|---|---|
|
#18+
$sth = $db->perepare("insert into my_table values (?::int,?::int,?::varchar)"); $sth->execute(1,1,"eee"); .... и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 18:54 |
|
||
|
prepared and run with bind parameters
|
|||
|---|---|---|---|
|
#18+
так и пришлось делать.... но это ж нездоровая шняга, согласись... приложение не мое, во скольких еще местах такое вылезет... ладно, постараюсь поковырять все-таки этот модуль... очень уж интересно где собака порылась ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 19:06 |
|
||
|
prepared and run with bind parameters
|
|||
|---|---|---|---|
|
#18+
попробуй поставит поновее DBI::Pg , какой у тебя перл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2005, 19:12 |
|
||
|
prepared and run with bind parameters
|
|||
|---|---|---|---|
|
#18+
wbearперловый драйвер для PG подставляет пласехлдеры сам !!!! .. неумеет он делать perpare и executeВроде бы последний DBD::Pg версии 1.40 это умеет: perldoc DBD::Pg$sth = $dbh->prepare($statement, \%attr); Prepares a statement for later execution. PostgreSQL supports prepared statements, which enables DBD::Pg to only send the query once, and simply send the arguments for every subsequent call to execute(). DBD::Pg can use these server-side prepared statements, or it can just send the entire query to the server each time. The best way is automatically chosen for each query. This will be sufficient for most users: keep reading for a more detailed explanation and some optional flags. Deciding whether or not to use prepared statements depends on many factors, but you can force them to be used or not used by passing the pg_server_prepare attribute to prepare(). A "0" means to never use prepared statements. This is the default when connected to servers earlier than version 7.4, which is when prepared statements were introduced. Setting pg_server_prepare to "1" means that prepared statements should be used whenever possible. This is the default for servers version 7.4 or higher. ...Мы работаем на постгресе 7.3, проблем с bind-ом нет, а как с этим на 7.4 и восьмерке - не знаю. :( Кажется, что в каждом prepare писать ?::integer - действительно "нездоровая шняга". :) Может быть устанавливать "pg_server_prepare => 0" при подключении к базе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 11:13 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=32983700&tid=2007359]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
56ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 377ms |

| 0 / 0 |
