metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-04-03 01:06 am

В Советской Белоруссии SQL разжигает айседа

http://theiced.livejournal.com/238346.html
Собственно, про кобол я не знаю, на дельфи пишу уже 15 лет и никак избавится от него не могу (слишком много легаси кода), а вот про SQL я с ним не согласен.
Сам по себе SQL очень хорошо подходит для генерации отчетов. Если отчет сводится к фильтрации-сортировке-группировке множеств - идеально. С рекурсивными CTE - еще и деревья можно обрабатывать, не особо включая мозг. Всунув поверх этого минимальных размеров постобработку на какой-нибудь функциональщине, можно сделать почти любой отчет, пришедший в голову свихнувшимся на Excel выпускникам нархоза, работающим в минстате, минфине и МНС.

Но когда доходит до процедурных расширений, API между СУБД и клиентскими приложениями или каких-нибудь вещей, которые забыли вовремя добавить в стандарт - начинается полная, немыслимая жопа.
Например, проклятая тема - генерация автоинкрементных ключей и возвращение значений автоматически заполненных полей. Кто во что горазд - identity, генераторы, sequence, функции (в каждой СУБД названные по разному), returning, заебы на тему "вызывать в той же транзакции и сессии" и прочая и прочая. Про вариации на тему "вернуть поле, которое заполняется автоматически, но не является ключом/identity" лучше даже не думать.
Неудивительно, что люди при первой же возможности сбегают в ORM (которые являются уже второй производной от всего этого маразма и несут на себе его неизгладимый след).

[identity profile] maxdz.livejournal.com 2013-04-02 10:36 pm (UTC)(link)
Гы-гы... программисты напроектуруют ЯП, как же... :)

Не умеет, к примеру программист айсед пользоваться SQL - и всё туда же, "язык плохой". А заставь айседа cпроектировать свой "язык запросов", сделает никому не нужное говно.

п.с. но насчёт паскаля и борланда - я с ним согласен :)

[identity profile] theiced.livejournal.com 2013-04-03 02:26 am (UTC)(link)
соси хуй убогое.

программисты проектирующие яп для программистов - кложа - явный вин.

(no subject)

[identity profile] thedeemon.livejournal.com - 2013-04-03 07:12 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-03 07:20 (UTC) - Expand

[identity profile] gds.livejournal.com 2013-04-02 10:57 pm (UTC)(link)
> Кто во что горазд - identity, генераторы, sequence, функции (в каждой СУБД названные по разному), returning, заебы на тему "вызывать в той же транзакции и сессии" и прочая и прочая.

для нужной бд -- нужный способ получить. Не sql? Ок, лол.

> Про вариации на тему "вернуть поле, которое заполняется автоматически, но не является ключом/identity" лучше даже не думать.

что в оракле, что в постгресике -- returning и всё. А что, есть другие реляционные субд?

[identity profile] fraks-nsk.livejournal.com 2013-04-03 01:06 am (UTC)(link)
Есть - Firebird. Returning там уже сделали, а генераторы и sequence в нем - одно и то же, просто разный синтаксис для доступа к одному и тому же, типа generator - это для обратной совместимости а sequence - штоп усе по стандарту было, ну и вероятно для перебежавших ораклоидов что бы привычно было.

[identity profile] metaclass.livejournal.com 2013-04-03 06:16 am (UTC)(link)
В постгресе есть returning? а зачем тогда currval('...')?

(no subject)

[identity profile] avnik.livejournal.com - 2013-04-03 06:42 (UTC) - Expand

(no subject)

[identity profile] gds.livejournal.com - 2013-04-03 10:08 (UTC) - Expand

(no subject)

(Anonymous) - 2013-04-06 19:46 (UTC) - Expand

[identity profile] sbj-ss.livejournal.com 2013-04-02 11:00 pm (UTC)(link)
Кобол я мельком видел и вздохнул. "IF THISINPUT IS EQUAL TO 001 ADD 1 TO COUNT001". SQL в меньшей мере потащил то же самое — попытки описать на естественном языке вещи, которым в конструкциях естественного языка просто нет аналогов.
Впрочем, беда "академиков" с SQL не в попытках "придумать язык для менеджеров", а в отсутствии смелости сказать "Б" после того, как сказано "А". Если бы хотя бы были предложены фрагменты синтаксиса, покрывающие всё множество решаемых задач, а не его небольшое подмножество, не было бы сейчас ругани на несовместимость. Там же, где есть потребность, но нет стандарта, каждый пойдёт придумывать, что горазд, (при активной поддержке менеджеров, срочно требующих новые фишки), а опоздавшие стандарты только усугубляют ситуацию. В результате в 2013 году многие кроваво-энтерпрайзные РСУБД тупо не поддерживают полностью SQL'92.
Паскакаль - отдельный разговор. Оторванность логических типов от физических неоднократно крепко напакостила, дав борландовцам возможность ломать совместимость. Достаточно вспомнить невозможность записи в нулевой байт строки в Дельфи (полбеды) и переезд поздних версий RAD Studio на UTF-16 по умолчанию (беда). Второе всем привыкшим, что Byte === Char с точностью до контекста использования, переломало существующий код. И если уж предусматривалось, что возможны изменения, нехрен было делать в языке преобразование Byte <=> Char. C/C++ так не испортишь.
Что до языков, придуманных программистами для программистов, здесь тоже не всё гладко. Простой пример - Perl с его write-only программами и необходимостью запоминать назначение $₪ и $℧. Сам же нагнетатель срача [livejournal.com profile] theiced, по рассказам очевидцев, использует его, как Shell Script :) Perl компактен и эффективен, не спорю. Но читать на нём чужой код - избави Ктулху.

[identity profile] theiced.livejournal.com 2013-04-03 02:27 am (UTC)(link)
я? перл? это какие такие очевидцы такое рассказали. перл кстати лингвист для уебланов - тоже хороший пример фэйла.

(no subject)

[identity profile] voidex.livejournal.com - 2013-04-03 08:45 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-03 08:50 (UTC) - Expand

(no subject)

[identity profile] voidex.livejournal.com - 2013-04-03 10:27 (UTC) - Expand

[identity profile] fraks-nsk.livejournal.com 2013-04-03 01:04 am (UTC)(link)
Я так понимаю что люди сбежавшие на ОРМ обнаруживают что кроме потери нормальной работы с нативным серверным SQL позволяющим юзать сервер БД не как просто помойку записей они подсаживаются на этот самый ОРМ. Т.е. шило на мыло.

[identity profile] norguhtar.livejournal.com 2013-04-03 01:57 am (UTC)(link)
ORM просто избавляет от нудного ручного труда по трансляции данных программы в данные СУБД. Причем приличный ORM позволяет вмешиваться руками в создаваемый запрос, а так же вообще нагло сходить нативным SQL в базу. В результате во многих случаях оптимизация на ORM сводится добавить тут хинты или сделать тут вместо генеримого запроса, свой ручной. Просто на ORM надо идти предварительно плотно поработав с РСУБД и четким пониманием что эта хрень делает. Иначе полный ад, так-как от разработчика эта штука скрывает РСУБД весьма неплохо.

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-03 02:29 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 02:37 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-03 02:42 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 03:01 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-03 03:10 (UTC) - Expand

(no subject)

[identity profile] sbj-ss.livejournal.com - 2013-04-03 03:17 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 03:33 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-03 06:18 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 06:46 (UTC) - Expand

(no subject)

[identity profile] thedeemon.livejournal.com - 2013-04-03 07:17 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 03:34 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 03:30 (UTC) - Expand

(no subject)

[identity profile] vp.livejournal.com - 2013-04-03 04:21 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 05:03 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 05:11 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 05:25 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 05:34 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 05:36 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 05:37 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 06:00 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 06:09 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 06:13 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 06:21 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 06:31 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 06:36 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 06:53 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-03 06:59 (UTC) - Expand

...

[identity profile] theiced.livejournal.com - 2013-04-03 07:06 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 07:08 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 07:16 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 07:18 (UTC) - Expand

...

[identity profile] vp.livejournal.com - 2013-04-03 09:32 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 09:48 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 13:39 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 13:43 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 15:03 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 15:22 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 15:35 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 15:43 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 15:57 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 16:09 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 16:18 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 17:19 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 17:46 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 02:27 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 02:46 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 03:08 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 03:21 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 03:30 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 04:13 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 04:36 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 16:04 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 16:20 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 16:31 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 17:29 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 17:47 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 02:28 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 02:48 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 03:09 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 06:43 (UTC) - Expand

(no subject)

[identity profile] vp.livejournal.com - 2013-04-03 07:09 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 07:18 (UTC) - Expand

(no subject)

[identity profile] vp.livejournal.com - 2013-04-03 09:31 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-03 07:23 (UTC) - Expand

(no subject)

[identity profile] vp.livejournal.com - 2013-04-03 09:38 (UTC) - Expand

...

[identity profile] theiced.livejournal.com - 2013-04-04 02:13 (UTC) - Expand

(no subject)

[identity profile] woldemar kuchelbeker - 2013-04-03 09:48 (UTC) - Expand

...

[identity profile] jakobz.livejournal.com - 2013-04-03 20:19 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 15:05 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 15:45 (UTC) - Expand

...

[identity profile] evil-invader.livejournal.com - 2013-04-03 19:23 (UTC) - Expand

(no subject)

[identity profile] prepor.livejournal.com - 2013-04-03 19:09 (UTC) - Expand

...

[identity profile] theiced.livejournal.com - 2013-04-03 19:15 (UTC) - Expand

...

[identity profile] prepor.livejournal.com - 2013-04-03 19:17 (UTC) - Expand

(no subject)

[identity profile] vp.livejournal.com - 2013-04-04 07:01 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 08:17 (UTC) - Expand

(no subject)

[identity profile] vp.livejournal.com - 2013-04-04 08:37 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 08:45 (UTC) - Expand

...

[identity profile] berezovsky.livejournal.com - 2013-04-04 08:48 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 08:53 (UTC) - Expand

...

[identity profile] vp.livejournal.com - 2013-04-04 09:04 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-05 01:16 (UTC) - Expand

...

[identity profile] evil-invader.livejournal.com - 2013-04-05 06:50 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-05 09:11 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 08:22 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 06:19 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 06:25 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 06:57 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 07:13 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 07:20 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 07:22 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 07:22 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 07:25 (UTC) - Expand

...

[identity profile] metaclass.livejournal.com - 2013-04-03 08:34 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 08:45 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 13:46 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 13:48 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 15:16 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 15:25 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 15:48 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 15:54 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 16:21 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 17:23 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 17:49 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 17:54 (UTC) - Expand

...

[identity profile] anonim-legion.livejournal.com - 2013-04-03 18:58 (UTC) - Expand

...

[identity profile] theiced.livejournal.com - 2013-04-03 19:10 (UTC) - Expand

...

[identity profile] anonim-legion.livejournal.com - 2013-04-03 19:31 (UTC) - Expand

...

[identity profile] theiced.livejournal.com - 2013-04-03 19:34 (UTC) - Expand

...

[identity profile] theiced.livejournal.com - 2013-04-03 19:35 (UTC) - Expand

...

[identity profile] anonim-legion.livejournal.com - 2013-04-03 19:38 (UTC) - Expand

...

[identity profile] theiced.livejournal.com - 2013-04-04 00:56 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 00:31 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 01:43 (UTC) - Expand

...

[identity profile] theiced.livejournal.com - 2013-04-04 02:08 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 02:24 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 02:43 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 03:07 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 03:17 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 03:29 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 04:08 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 04:34 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 04:55 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 05:47 (UTC) - Expand

...

[identity profile] metaclass.livejournal.com - 2013-04-04 05:59 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 06:01 (UTC) - Expand

...

[identity profile] evil-invader.livejournal.com - 2013-04-04 06:41 (UTC) - Expand

...

[identity profile] metaclass.livejournal.com - 2013-04-04 06:46 (UTC) - Expand

...

[identity profile] evil-invader.livejournal.com - 2013-04-04 07:24 (UTC) - Expand

...

[identity profile] metaclass.livejournal.com - 2013-04-04 07:27 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 08:34 (UTC) - Expand

...

[identity profile] berezovsky.livejournal.com - 2013-04-04 08:35 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 08:42 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 08:42 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 08:47 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 08:56 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 09:03 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 09:18 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 05:05 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 05:18 (UTC) - Expand

...

[identity profile] metaclass.livejournal.com - 2013-04-04 05:52 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 05:54 (UTC) - Expand

...

[identity profile] anonim-legion.livejournal.com - 2013-04-04 08:02 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 08:08 (UTC) - Expand

...

[identity profile] anonim-legion.livejournal.com - 2013-04-04 08:19 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 08:22 (UTC) - Expand

...

[identity profile] Дмитрий Васильев - 2013-04-04 08:18 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 08:23 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 08:36 (UTC) - Expand

...

[identity profile] berezovsky.livejournal.com - 2013-04-04 08:37 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 08:40 (UTC) - Expand

...

[identity profile] evil-invader.livejournal.com - 2013-04-04 11:53 (UTC) - Expand

...

[identity profile] anonim-legion.livejournal.com - 2013-04-04 07:37 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 08:10 (UTC) - Expand

...

[identity profile] anonim-legion.livejournal.com - 2013-04-04 08:17 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 08:21 (UTC) - Expand

...

[identity profile] anonim-legion.livejournal.com - 2013-04-04 07:41 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 08:00 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 08:38 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 08:46 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 08:52 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 08:54 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 09:01 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 09:03 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 09:04 (UTC) - Expand

...

[identity profile] anonim-legion.livejournal.com - 2013-04-04 07:47 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 08:06 (UTC) - Expand

...

[identity profile] anonim-legion.livejournal.com - 2013-04-04 08:13 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 08:19 (UTC) - Expand

...

[identity profile] anonim-legion.livejournal.com - 2013-04-04 08:22 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 08:25 (UTC) - Expand

(no subject)

[identity profile] prepor.livejournal.com - 2013-04-03 19:35 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-04 00:23 (UTC) - Expand

...

[identity profile] prepor.livejournal.com - 2013-04-04 09:03 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 09:15 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-03 06:27 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 06:28 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-03 06:52 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 07:04 (UTC) - Expand

(no subject)

[identity profile] nivanych.livejournal.com - 2013-04-03 17:47 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-03 19:11 (UTC) - Expand

(no subject)

[identity profile] theaspect.livejournal.com - 2013-04-05 06:42 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-03 06:51 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 06:10 (UTC) - Expand

(no subject)

[identity profile] vp.livejournal.com - 2013-04-03 07:02 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 07:28 (UTC) - Expand

(no subject)

[identity profile] henu3detb.livejournal.com - 2013-04-03 11:35 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 13:49 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 13:53 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 17:12 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 17:28 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-03 17:38 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 17:52 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 00:51 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-04 00:55 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 01:13 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-04 02:15 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 02:18 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 02:31 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 02:50 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 03:11 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 03:25 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 03:35 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 04:21 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 04:44 (UTC) - Expand

...

[identity profile] metaclass.livejournal.com - 2013-04-04 05:56 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-04 06:01 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-04 02:55 (UTC) - Expand

...

[personal profile] develop7 - 2013-04-04 09:19 (UTC) - Expand

...

[identity profile] berezovsky.livejournal.com - 2013-04-04 09:21 (UTC) - Expand

...

[personal profile] develop7 - 2013-04-04 12:42 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-05 01:18 (UTC) - Expand

...

[personal profile] develop7 - 2013-04-07 17:48 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-08 01:12 (UTC) - Expand
(deleted comment)

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-07 06:29 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-07 12:45 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 18:01 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 18:15 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 18:22 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-04 00:22 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-03 18:06 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 18:22 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-03 18:26 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 18:39 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-03 18:48 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-04 02:32 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-04 02:34 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-04 05:46 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 05:24 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 05:34 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 05:39 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 05:46 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 05:58 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 06:04 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 06:10 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 06:22 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 06:27 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 06:45 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 06:49 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-03 07:09 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 07:17 (UTC) - Expand

...

[identity profile] theiced.livejournal.com - 2013-04-03 07:25 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 06:24 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 06:31 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 06:41 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 06:47 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 07:00 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 07:14 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-03 06:54 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 07:11 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-03 07:21 (UTC) - Expand

...

[identity profile] evil-invader.livejournal.com - 2013-04-03 20:10 (UTC) - Expand

...

[identity profile] metaclass.livejournal.com - 2013-04-03 20:18 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 13:53 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 13:57 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 15:28 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 15:33 (UTC) - Expand

...

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 16:09 (UTC) - Expand

...

[identity profile] norguhtar.livejournal.com - 2013-04-03 16:14 (UTC) - Expand

(no subject)

[identity profile] vp.livejournal.com - 2013-04-03 06:51 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 07:03 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 15:59 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 16:27 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 17:21 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 18:02 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 18:09 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 18:03 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 18:08 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-03 18:17 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-03 20:41 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-03 20:46 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-04 00:21 (UTC) - Expand

(no subject)

[identity profile] vp.livejournal.com - 2013-04-03 17:20 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 17:24 (UTC) - Expand

(no subject)

[identity profile] vp.livejournal.com - 2013-04-03 17:32 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 17:37 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 05:33 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 06:58 (UTC) - Expand

(no subject)

[identity profile] vp.livejournal.com - 2013-04-03 07:04 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-03 06:23 (UTC) - Expand

(no subject)

[identity profile] nivanych.livejournal.com - 2013-04-03 17:49 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-03 18:04 (UTC) - Expand

(no subject)

[identity profile] darkdrip.livejournal.com - 2013-04-03 04:21 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 04:50 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 05:02 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 05:03 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 05:06 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 05:09 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 05:29 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 05:36 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2013-04-03 06:02 (UTC) - Expand

(no subject)

[identity profile] norguhtar.livejournal.com - 2013-04-03 05:25 (UTC) - Expand

[identity profile] bydl0coder.livejournal.com 2013-04-03 06:28 am (UTC)(link)
ОРМ-хейтеры, типа вас, такие же фанбои, как и SQL-хейтеры. "Всему свое время, и время всякой вещи под небом".

[identity profile] asvil (from livejournal.com) 2013-04-03 05:42 am (UTC)(link)
А чё там во втором абзаце предполагается кроссбазовость что ли? Я, несмотря на возраст, хочу высказаться о том, что кроссплатформенности не существует. Работаем с конкретной базой, значит дрючим все её фишки: sequence, returning, window functions, arrays, gis и т.п.
Видел я переход с мускуля на халявный оракл: пауки и черви.

Ближайшие, на мой взгляд, решения это метаклассовость: http://common-lisp.net/project/elephant/, http://www.franz.com/products/allegrocache/. Но они завязаны на common lisp, а common lisp это тот ещё зашквар.

P.S. Excel ок.
(deleted comment)

(no subject)

[identity profile] sbj-ss.livejournal.com - 2013-04-03 07:43 (UTC) - Expand
(deleted comment)

(no subject)

[identity profile] sbj-ss.livejournal.com - 2013-04-03 07:51 (UTC) - Expand
(deleted comment)

(no subject)

[identity profile] sbj-ss.livejournal.com - 2013-04-03 08:13 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-03 07:49 (UTC) - Expand

(no subject)

[identity profile] sbj-ss.livejournal.com - 2013-04-03 07:53 (UTC) - Expand
(deleted comment)

(no subject)

[identity profile] sbj-ss.livejournal.com - 2013-04-03 08:01 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-03 08:32 (UTC) - Expand

(no subject)

[identity profile] sbj-ss.livejournal.com - 2013-04-03 08:38 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-03 08:40 (UTC) - Expand

(no subject)

[identity profile] sbj-ss.livejournal.com - 2013-04-03 08:46 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-03 08:49 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-03 08:49 (UTC) - Expand

(no subject)

[identity profile] sbj-ss.livejournal.com - 2013-04-03 08:07 (UTC) - Expand

(no subject)

[identity profile] theiced.livejournal.com - 2013-04-03 07:50 (UTC) - Expand

(no subject)

[identity profile] asvil - 2013-04-03 07:58 (UTC) - Expand

[identity profile] falcrum.livejournal.com 2013-04-03 06:16 am (UTC)(link)
Да нормально уже давно сиквенсы работают - чё они тебя так возбудили? :)

[identity profile] metaclass.livejournal.com 2013-04-03 06:38 am (UTC)(link)
В mysql их не наблюдается, в mssql они появились только в 2012 версии, возвращение последнего значения - кто во что горазд.

[identity profile] vit-r.livejournal.com 2013-04-03 07:49 am (UTC)(link)
Хороший ЯП/DSL/что-там-ещё может получиться исключительно в случае когда он спроектирован реальными программистами для реальных программистов.
Хорошим ЯП/DSL/чем-то-ещё считаем такой инструмент, который нужен программистам чтобы писать программы для программистов.

По сути, SQL - язык элементарных запросов. Все данные для неэлементарных запросов должны быть подготовлены в базе данных в том виде, чтобы они получались элементарными запросами. На этом DWH сейчас и поднимается.

[identity profile] theiced.livejournal.com 2013-04-03 07:51 am (UTC)(link)
невсегда возможно ;]

(no subject)

[identity profile] vit-r.livejournal.com - 2013-04-03 08:23 (UTC) - Expand

[identity profile] guamoka.livejournal.com 2013-04-03 09:31 am (UTC)(link)
Все данные для неэлементарных запросов должны быть подготовлены в базе данных в том виде, чтобы они получались элементарными запросами. На этом DWH сейчас и поднимается.

А подготавливаются они в DWH (помимо всего прочего) не тем же SQL?

(no subject)

[identity profile] vit-r.livejournal.com - 2013-04-03 09:39 (UTC) - Expand

(no subject)

[identity profile] guamoka.livejournal.com - 2013-04-03 09:49 (UTC) - Expand

[identity profile] norian.livejournal.com 2013-04-03 08:18 am (UTC)(link)
> проклятая тема - генерация автоинкрементных ключей и возвращение значений автоматически заполненных полей

дык можно юзать клиентский синглтон для генерации, не ?

[identity profile] asvil (from livejournal.com) 2013-04-03 08:23 am (UTC)(link)
Несколько клиентов обычно.

(no subject)

[identity profile] norian.livejournal.com - 2013-04-03 08:34 (UTC) - Expand

[identity profile] theiced.livejournal.com 2013-04-03 08:33 am (UTC)(link)
гагага

(no subject)

[identity profile] metaclass.livejournal.com - 2013-04-03 08:57 (UTC) - Expand

(no subject)

[identity profile] guamoka.livejournal.com - 2013-04-03 09:26 (UTC) - Expand

(no subject)

[identity profile] nivanych.livejournal.com - 2013-04-03 17:52 (UTC) - Expand

(no subject)

[identity profile] norian.livejournal.com - 2013-04-03 10:06 (UTC) - Expand

(no subject)

[identity profile] norian.livejournal.com - 2013-04-03 10:12 (UTC) - Expand

(no subject)

[identity profile] skif-by.livejournal.com - 2013-04-03 09:07 (UTC) - Expand

(no subject)

[identity profile] guamoka.livejournal.com - 2013-04-03 09:27 (UTC) - Expand

(no subject)

[identity profile] norian.livejournal.com - 2013-04-03 10:10 (UTC) - Expand

(no subject)

[identity profile] prepor.livejournal.com - 2013-04-03 20:06 (UTC) - Expand

(no subject)

[identity profile] norian.livejournal.com - 2013-04-03 22:58 (UTC) - Expand

(no subject)

[identity profile] norian.livejournal.com - 2013-04-03 09:59 (UTC) - Expand

[identity profile] guamoka.livejournal.com 2013-04-03 09:25 am (UTC)(link)
ИМХО, всякие ораклы- это давно уже PHP от баз данных. Вот тут у нас такие-то запросы педалят? А давайте напишем специально для этого случая отдельную ф-цию или придумаем хинт!

[identity profile] veter-r-r.livejournal.com 2013-04-03 10:04 am (UTC)(link)
Это не Oracle-way. Oracle в таких случаях предлагает купить дополнительную тулзу, отдельный сервер и нанять еще одного администратора.

(no subject)

[identity profile] guamoka.livejournal.com - 2013-04-03 10:05 (UTC) - Expand

(no subject)

[identity profile] nivanych.livejournal.com - 2013-04-03 17:55 (UTC) - Expand

(no subject)

[identity profile] guamoka.livejournal.com - 2013-04-03 20:57 (UTC) - Expand

Уебланология

[identity profile] livejournal.livejournal.com 2013-04-03 06:25 pm (UTC)(link)
User [livejournal.com profile] theiced referenced to your post from Уебланология (http://theiced.livejournal.com/238876.html) saying: [...] http://metaclass.livejournal.com/800013.html?thread=17348877&style=mine#t17348877 [...]

[identity profile] Дмитрий Васильев (from livejournal.com) 2013-04-03 07:06 pm (UTC)(link)
А вы не могли бы привести пример какой-нибудь задачи, которая на clojure решается проще чем на sql + plpgsql?

[identity profile] metaclass.livejournal.com 2013-04-03 07:27 pm (UTC)(link)
Отчетность, которая плохо сводится к реляционным таблицам.
Тут такое дело - промежуточные данные для отчетности идеально делаются sql запросами. Неважно, в 10 строк или в 100 - ключевой момент, что в схеме БД не создаются новые объекты для таких запросов (их очень неудобно поддерживать).
Но постобработка - лучше это делать на clojure. Например, когда надо 150 кодов аналитики разложить по нетривиальным правилам в 30 пунктов итогового отчета. Я раньше это делал на императивных расширениях SQL - поддержка задалбывает (отладки нет, проверка ошибок через задницу, контроль версий аналогично).
Далее - удобнее завернуть это дело в json на clojure и отдать клиенту (десктопному приложению и js-клиенту) чем отдавать нативным протоколом СУБД клиентской либе этой же СУБД.

[identity profile] Дмитрий Васильев (from livejournal.com) 2013-04-03 07:25 pm (UTC)(link)
Вообще, я бы с удовольствием поучаствовал в спецолимпиаде по генерации белорусской налоговой отчетности.

[identity profile] permea-kra.livejournal.com 2013-04-04 11:51 am (UTC)(link)
Ребе, а как вам с точки зрения генерации отчетов xquery? Разумеется, имея в виду отсутствие поддержки в реляционках.

[identity profile] metaclass.livejournal.com 2013-04-04 12:18 pm (UTC)(link)
Не помню, давно смотрел.
Но я не знаю, что лучше обычной функциональщины с лямбдами и DSL можно сделать для отчетов.