Field news :)


Yesterday I downloaded all the FB4-0-2 files from

Today I opened the folder with these files and stared at them.

It has been waiting for me for long time 🙂

PS. Explanation — it is the release notes of a previous release.

20 years of

Let’s smile and go on.

DLL Hell v2

Hello everyone.

A few years ago we split IBProvider module for sharing a thread manager with our OLE DB connection pool.

Now we did the next step. (далее…)

The picture of day

I’m really hating a standard COM infrastructure for it inhumanity error messages.

Therefore my COM will be with blackJack and extended error messages.

IBProvider Trial v5.26.0.37386

Hello Everyone.

I would like to say that new IBProvider v5.26 has gone even closer to release.

Current trial is based on a new component infrastructure which resolves a couple of problems.

The first problem was connected with the single-threaded creation and destruction of COM objects. This was a pay for threads within DLL. Now this problem is solved.

The second problem was connected with internal COM objects. They behaved like public COM objects with all the linked costs. Now these objects are detached from public infrastructure and it improves the overall performance of COM server.

Of course, all these improvements won’t provide any visible effects for simple applications. But they are really useful for heavy multithreaded systems like our primary system for load testing. And this system shows that the new provider began to work better.

In any rate, without such changes it is hard to move ahead 🙂

I don’t want to add new seriously changes in these assemblies and really hope that this version will be released as is 🙂

Load tests have already run.

Work in Yandex :)

Yandex: How do we hire backend developers?
Me: I know 🙂

Yandex, Internal Server Error.

Field news

The latest IBProvider trial ( contains a considerably improved management some dynamically created global objects. I implemented a lock-free cache for these objects at last. It means that the parallel creation of metadata rowsets will work more effectively and won’t lock some other operations.

More over, this new management provides a more clear deinitialization of IBProvider state during unload.

As usual it is not enough to create a new multithreaded code. The primary problem — it’s creating tests for it. I hope I was able to do it. These tests allowed to better understand how to implement new features.

So I think I will able to avoid the usual problems which are connected with such changes.

Field news


I hate thinking that something wasn’t finished or can be improved. So, I’ve forced myself to do the following things:

1. Some important changes in EFCore provider which were postponed one year ago. These changes connected with local calculation of expressions. Now provider ignores a conversion to System.Object as it has been done in SQL translation since beginning. This real crazy thing has already been released.

2. In IBProvider was improved a management of loaded DLLs. The some of main things:
— In case of ICU libraries IBProvider calls u_init and u_cleanup.
— In case of FB/IB client libraries IBProvider now uses per DLL global locks for attach/detach/create_db/drop_db operations.

These changes will be released later after passing loaded tests.

I thought to add a call of fb_shutdown (for fbclient.dll v3+) but decided put off it. As I’ve already said many times I don’t like such an idea of deinitialization.

Do you can WPF?

Hello everyone.

At the beginning of this week I was asked about %subj%. I was interested in it a bit and I spent few days on learning this topic. Just for fun.

What I can say about it — it’s really cool to create such things without tons of infrastructure code.

… These tons of code were created by someone else 🙂

My first application for WPF+EFCore+IBProvider on GitHub.

Oh, yes. Thanks a lot to the authors of this manual!

Last Dream

James A. Starkey, замутивший хренотень, с которой потом мы играли … половину жизни, недавно опубликовал FB-Devel свои свежие мысли.

AmorphousDB White Paper

Не, мужик молодец.


Как любое качественное литературное произведение, оно засталяет задуматься над разными вещами.

Последнее из того что я вспомнил это «байка» моего старика.

Говорит, в конце 70-ых, когда он работал с киявлянами над автоматизацией стана 2000 (НЛМК), те привозили брошюрку Глушко «что-то там про вычислительную технику» и там на корешке была перфолента на которой дырочками было выбито на украинском «усе це гивно».