Bug 7131

Summary: Экранирование апостофов (') если это требуется в SQLBindPatametr
Product: SELTA@Etersoft Reporter: Станислав Коробейников <stas>
Component: ODBC-драйверAssignee: Калюхович Юрий <goga>
Status: CLOSED FIXED QA Contact: Станислав Коробейников <stas>
Severity: minor    
Priority: P4 CC: goga, lav
Version: 1.1.0   
Target Milestone: версия 1.0.4   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on:    
Bug Blocks: 6158    

Description Станислав Коробейников 2011-04-13 14:41:38 MSK
Сейчас есть проблема, если SELTA транслирует запрос в аргумент функции, параметры которого передаются через SQLBindPatametr, в параметрах не экранируются символы. 
Нужно исправить эту ситуацию.
Comment 1 Станислав Коробейников 2011-04-13 14:43:11 MSK
Я думаю, что самым хорошим способом будет транслировать запросы после подстановки параметров.
2goga 
Разберись, как работает SQLBindParametr, и как он должен экранировать символы.
Comment 2 Калюхович Юрий 2011-04-13 19:46:58 MSK
SQLBindParameter() ничего существенного не делает, почти сразу вызывает PGAPI_BindParameter()

добавил удвоение кавычек в SQLBindParameter(). Теперь в простых запросах внутренние кавычки в строке будут экранироваться. но этого недостаточно для использования в updatewithsaverowcount() и updateifsaverowcount() - 

добавил еще функций doublequotesifneed() для использования в них. пока проблема в том, сколько таких функций надо (для каких типов)

идеальным вариантом было бы , как предложил Стас, транслировать после подставления параметров. Но сомневаюсь, что это надо делать к выходу 1.1.0
Comment 3 Калюхович Юрий 2011-04-15 12:30:07 MSK
написал тест для sqlbindparameter()
получилось, что изменений в самой sqlbindparameter() хватает, никаких дополнительных функций doublequotesifneed() не нужно.
коммичу.
Comment 4 Vitaly Lipatov 2014-09-11 18:45:30 MSK
Для тех, кто не пользуется багзиллой или не умеет пользоваться групповым редактированием при поиске, закрываем задачи, которые они должны были принять.