stix-s писал(а):Если тебя волнуют именно модифицированные блобы
Блобы он тоже проверяет на модифицированность
Код: Выделить всё
if not BlobModified(Fields[i]) then
Continue;
Я к тому что он тоже просто проверяет каждое поле изменялось ли оно и формирует запрос только с теми полями, которые были изменены. Что делаю и я (то есть никаких преимуществ лично мне он не даст).
stix-s писал(а):slv2 писал(а):И еще. Даже, если б я использовал не DB Aware компоненты, все равно пришлось бы генерировать запрос с не модифицированными полями!!!
не асилил

если проверяешь поля на модифицированность самостоятельно, кто мешает построить запрос только с модифицированными полями?
Да я так и делаю.
Это я написал к тому, что не имеет значения DB Aware компоненты или нет. Ведь проблема не в компонентах, а в том что если выполнить запрос:
Код: Выделить всё
update "table" set "field1" = :"field1", "field2" = :"field2"
для таблицы в которой текущему пользователю нельзя модифицировать поле field2, а только поле field1
, то Firebird будет ругатся.
stix-s писал(а):slv2 писал(а):Дело не в том кто, что и куда впишет, а в том, зачем заведомо разрабатывать дырявую базу?
опять не асилил, каким образом повышает "дырявость" базы то, что ты "вручную" собираешь запрос?
Или это я что-то не правильно понял... или тут поступило предложение создавать табличку с битовими полями и потом выставлять, пользуясь этой табличкой, CanModify (гранты при этом на поля не раздавать). Ну простому пользователю конечно с такой сложной задачей как ввести данные в недоступной контрол справится конечно не получится

. Но какой-нибудь "кул хацкер" используя какой-нибудь инструмент (коих в сети, извините, дофига) типа IBExpert введет себе спокойненько строчки типа
Код: Выделить всё
update "table" set "field1" = :"field1", "field2" = :"field2"
и изменит поле которое ему нельзя изменять.
Но я не к тому, что у меня такие "крутые" пользователи, а к тому, что не правильно это с точки зрения безопасности.