Вести с полей. Запросы с «RETURNING INTO»

Привет всем.

Вчера выложили бинарники очередного релиза IBProvider’a — сборка 3.15.0.14897. С моей точки зрения в этом выпуске выправлена внутренняя архитектура провайдера и закрыты накопившиеся висяки в отношении пока еще не выпущенного Firebird 3. С пользовательской точки зрения это выглядит так.

Но, как говорится, это дела минувших дней. На повестке дня у нас реализация следующей моей давней идеи — явное указание имен для OUT-параметров в запросах вида «INSERT … RETURNING», «UPDATE .. RETURNING» и так далее.

Предлагаю не изобретать велосипед, а украсть позаимствовать синтаксис из PSQL — «… RETURNING … INTO …».

Выглядеть это будет приблизительно так:
(далее…)

Firebird и закон сохранения

Привет всем.

Наконец-то получилось снова прогнать любимый набор из шести миллионов тестов. Предыдущий раз эти тесты выполнялись в конце ноября 2012 года. Но из-за вот этого, пришлось временно забыть про это маленькое развлечение.

Было
Провайдер: 3.13.2.13992 x64
Сервер: FB 2.5.3.26543 SC x64
Диски: RAID10 (4x1TB) на ICH9R
Продолжительность реальной работы тестов (8 потоков): 6 дней и 20 часов.

Стало
Провайдер: 3.15.0.14847 x64
Сервер: FB 2.5.3.26576 SC x64
Диски: выделенный RAID0 (4x1TB) на RS2BL040 под базу и временные файлы провайдера.
Продолжительность реальной работы тестов (8 потоков): 2 дня и 3 часа.
Использовался пул подключений и асинхронная загрузка.

Мне нравится. Можно начинать осторожно думать о запуске всех тестов. Это, грубо говоря, плюс еще 1млн, но они совсем тупые тяжелые.

Позабавил факт «исчезновения» капитальной утечки памяти в процессе сервера. Скорее всего это заслуга пула подключений (Next attachment ID равен 49073). Но это компенсировалось недетским опуханием тестовой базы данных до 1.6TB.

Oldest transaction 61013580
Oldest active 61013581
Oldest snapshot 61013575
Next transaction 61013710

Размер бакапа базы — 1 733 120 байт. Сборка мусора не отключалась.

Есть, конечно, вялая мысль — полностью обновить сервер и заново настроить его конфиг. Но лень.

GSTAT.exe и удаленный сервер

Привет всем.

Сегодня с утра решил посмотреть (с ноутбука) состояние тестовой базы (на десктопе), через которую проехало уже 2.7млн тестов и опухшей до 770 гигабайт. Выполняю из командной строки

gstat -h -u gamer -p vermut home2:\database\ibp_test_fb25_d3.gdb

И столбенею от увиденного:


Oldest transaction 4354
Oldest active 4355
Oldest snapshot 4355
Next transaction 4356
Bumped transaction 1
Sequence number 0
Next attachment ID 217

(далее…)

Новый триал [сборка 14847].

Привет всем.

В новую сборку IBProvider-a внесен ряд достаточно существенных изменений.

1. По-умолчанию провайдер отклоняет повторное использование подключения, если у его сессий остались «зависшие» подписчики на уведомления (ITransactionOutcomeEvents). Это поведение можно изменить через новое свойство инициализации reset_ds_session_sinks_rule
(далее…)

FB DEVEL: Демократия в опасности!

Всех с понедельником!

Все утро угробил на размышления по поводу сообщения Адриано (это один из разработчиков FB, мой последний герой) с темой «Codebase degradation». Похоже он хорошо провел эти выходные.

First, this is not a solution proposal nor critiques for previous
decisions. I just want to express the problems I’m seeing.

Firebird codebase is becoming more and more difficult to change/extend.
Some not good code/concepts are being introduced everywhere, added with
some bad previous code/concepts/architecture…

Many of this are internal problems becoming public with plugins. It will
make things much difficult to fix/change later.

<тут пошли технические детали, которые вызывают улыбку>

И я даже хотел ему ответить (в первых рядах) — «пожалей печень, ты нам нужен давай начнем с малого …». Но потом передумал — «этот не спасет».

Еще раз — всех с началом недели 🙂

Visual Studio 2012

Привет всем.

Вчера вечером решил не добивать последний две недели из 90-дневного тестового режима и приобрести этот шедевр для создания программного обеспечения. О VS2012 не писал только ленивый, чиркну и я пару строчек о своих впечатлениях. (далее…)

Разработка и тестирование завершены

Картинка на ночь глядя. Состояние процесса FB 2.5.3.26576 SuperClassic x64 [WIN] на момент релиза провайдера.


Состояние процесса FB 2.5.3.26576 SuperClassic x64 [win]

Uptime самого компьютера составляет 877 часов.

Про Interbase.

Привет всем.

Обнаружил такую запись про Interbase на новостном сайте Firebird-а. Вкратце:

На текущий момент (февраль 2013) над Interbase работает только один разработчик. С Delphi тоже не все гладко.

На ум приходит только фраза про полимеры. Мне лично жаль. Хотя я здесь и глумился не очень хорошо отзывался о разработчиках Interbase. <Censorship>.

Firebird Server Client and VS CRT.

Привет всем.

Сегодня, в очередной раз помогая с устранением проблемы «[dbobj] Загрузка динамической библиотеки «fbclient.dll»», обратил внимание на одну странную несогласованность файлов из дистрибутива Firebird 2.5.2.26539 (разрядность не имеет значения):

  • fbclient.dll
  • Microsoft.VC80.CRT.manifest
  • msvcp80.dll
  • msvcr80.dll

(далее…)

«Математика» в программировании. Выравнивание.

Привет всем.

Народная мудрость гласит — «Если бедуин нашел вход в твое жилище, завали его и вырой новое»…

После того как я посмотрел в исходный код в FB, эта занятие снова стало эпизодически жрать мое время и мозг. Про второе заглядывание я не буду много говорить — оно меня не разочаровало. Сегодня вот, в третий раз решил посмотреть «чего нового?» и реально подвис на пару часов въезжая в одну единственную строчку кода свежезакоммиченного «Aligner.h». Если хотите и себе вынести мозг — читайте дальше. (далее…)