[08:27:52] <gour> не изврат кстати. если один insert и прицеп из нескольких кортежей для записей, то БД может один раз запрос подготовить и потом ко всем этим кортежам применить. а потом закоммитить. а так - подготовка→выполнение→коммит для каждой отдельной записи.
[08:28:38] <gour> (но это не применительно к мускулю, а к db2 например. хотя чем чёрт не шутит - может и мускуль так же работает?)
[10:14:03] <vgodunko> gour: сейчас это есть во всех базах, но другое дело практика lf pflhfdcndetn SQL injection
[10:14:14] <vgodunko> да здравствует SQL injection
[10:18:22] <gour> нууу... на тему инъекций есть практика подготовки запросов по шаблонам ( ну типа "INSERT INTO tab (f1,f2,f3,f9) VALUES (?,?,?,?) ..." и потом набор параметров, которые интерфейс сам уже проверяет, маскирует как надо и формирует окончательный запрос. такое обмануть значительно сложнее. :)
[10:46:52] <vgodunko> По сути это одно и то же.
[10:47:28] <vgodunko> Сначала подготавливается запрос, потом 1..N раз задаются параметры и он выполняется
[10:48:06] <vgodunko> Правда так кодить больше :-(
[12:26:26] <landgraf> gour, у меня один коммит после всех запросов
[12:27:00] <gour> если автокоммит выключен - то конечно.
[12:27:06] <gour> (хотя автокоммит - зло)
[12:27:10] <landgraf> gour, просто раньше было insert into files (name, some) VALUES ("asa","sas"), ("qwewe", "12121"), () ... и так 500 раз
[12:27:37] <landgraf> а сейчас много insert-ов, отдельных, ибо упирается в лимит sqlite-овский
[12:28:13] <vgodunko> landgraf: а в чём тайный умысел одного большого insert-а?
[12:28:16] <landgraf> пришлось извратиться, чтобы разбить, но ничего, работает )
[12:28:33] <landgraf> vgodunko, помните я про костыль писал? - вот это он и был )))
[12:29:29] <landgraf> у меня sql запрос формируется на совсем другом слое и наружу выдается уже готовая строка, а потом "оказалось", что там может быть несколько SQL запрсов в результате
[12:29:45] <vgodunko> Как уже сказал gour, вместо одного большого можно использовать один подготовленный insert и использовать его подставляя значения много раз в рамках одной транзакции
[12:30:00] <vgodunko> gnatcoll?
[12:30:23] <landgraf> vgodunko, да, но там просто execute, без всяких моделей
[12:30:34] <vgodunko> :-(
[12:31:44] <landgraf> vgodunko, ну у меня архитектура этой части кривовата сейчас... по хорошему надо вместо return US делать return Any_Storeable и от этого плясать, но это в TODO, сейчас lzma парсер самая важная задача
[12:31:56] <landgraf> а я все боюсь за нее браться - не знаю с какой стороны подойти
[12:32:14] <vgodunko> Отловить yeo ;-)
[12:32:55] <vgodunko> landgraf: я хочу выпустить Матрёшка 0.6.0
[12:33:06] <landgraf> vgodunko, с lzma и orm? :)
[12:33:22] <vgodunko> Нет, как есть, пора воздух посотрясать.
[12:33:32] <landgraf> тогда неинтересно :(
[12:33:33] <vgodunko> zip/lzma откладываются до 0.7.0
[12:33:59] <vgodunko> Ну не осилил я эту часть за пол года :-(
[12:34:11] <gour> (тогда мож' прыгнуть дальше и не lzma, а xz ? ;) )
[12:34:18] <vgodunko> Сейчас вот экспериментатор на ODF нашёлся, у него есть шанс подпихнуть прогресс
[12:34:19] <landgraf> в документации на xz  написано, что оно полностью совместимо с zlib, а zlib-ada уже есть
[12:34:27] <landgraf> почему нет xz-ada?
[12:34:57] <landgraf> gour, так xz и нужен мне, у меня много больших файлов запечатанных в xz и мне надо их парсить.
[12:35:51] <gour> просто xz - это не просто lzma, это уже lzma2, который продвинутее (как я понимаю)
[12:37:35] <landgraf> vgodunko, за выходные наструячил под 2000 срок _работающего_ кода, у меня такого приступа давно не было =)))
[12:38:01] <vgodunko> Некисло
[12:38:09] <landgraf> часть, которая отвечает за чтение и парсинг в общем нарисована, осталось только добавлять новые типы, переопределением методов
[12:38:12] <landgraf> /me доволен
[12:38:43] <nordwind> крут
[12:38:46] <landgraf> есть пара кривых мест, которые надо переписать для пущей красоты.
[12:39:21] <landgraf> ну ладно, не пара, штук 10 ))))
[12:40:30] <landgraf> $ grep FIXME -R * | wc -l
18
и тут приуменьшил
[12:41:49] <vgodunko> На landgraf-а всё ещё не сказывается влияние буржуев
[12:42:18] <vgodunko> Если программа работает, да ещё и пользователи довольны, то СОВЕРШЕННО НЕ ВАЖНО как она внутри выглядит
[12:42:19] <vgodunko> ;-)
[12:43:09] <landgraf> vgodunko, для выдачи пользователям надо дописать UI, а я это больше всего терпеть ненавижу, но там уже будет матрешка =)
[12:44:53] <landgraf> ну и парсинг xz файлов ((((
[12:45:29] <vgodunko> landgraf: начните с понимания работы ZIP-а, там yeo в Матрёшку закоммитил декодер
[16:03:02] <landgraf> http://t.co/CcTriAtYTw
[16:08:19] <gour> пост проплачен изготовителями жестких дисков.
[16:08:20] <gour> :)
[16:10:30] <gour> и потом почему бы не шагнуть ещё дальше, и не предложить true way-ем метод "одно приложение - один файл", в котором в виде ресурсов включает вообще всё для себя нужное - и код, и ресурсы...
[16:12:40] <gour> (один небольшой минус - при обновлении, скажем, безопасности юзерам придётся постоянно выкачивать обновления. было одно .Net-обновление - станет N обновлений, использующих в себе .Net)
[16:15:33] <landgraf> пост проплачен java кодерами =)
[16:16:09] <landgraf> они там любят с собой приносить куеву хучу jar, причем каждый свой
[16:18:42] <landgraf> gour, вот чем мне федерасты ответили http://www.opennet.ru/opennews/art.shtml?num=38533
[16:21:26] <gour> кстати вот да. джавистов хлебом не корми - дай в архив напихать всё-что-может-пригодиться :)
[17:27:45] <landgraf> а почему gnat умеет Image(Time,  Picture_String), но не умеет Value(Time, Picture_String) ? :(
[17:28:19] <landgraf> вернее даже, почему он умеет понимать милисекунды только при выводе :(
[17:29:46] <landgraf> интересно, а матрешка умеет читать время в разных стандартах? )
[20:21:08] <vgodunko> Матрёшка кажется не умеет.
[20:21:15] <vgodunko> Но можно же потребовать ;-)
[22:47:26] <landgraf> http://gcc.gnu.org/ml/gcc-help/2013-11/msg00119.html
[22:47:42] <landgraf> вот как надо с разрабами )
[23:20:12] <vgodunko> Как по мне, так это немного некорректно
[23:40:27] <landgraf> vgodunko, там первый ответ отражает суть )