Zlatko Michailov
    Software Foundation


I believe that all people are born good and deep inside they want to do good. It is the surrounding environment that prevents people from showing their good nature.

All the failures I have seen in my career have been due to lack of commitment. I have never witnessed any intended sabotage.

Therefore, a manager's job is to create and preserve a positive environment that stimulates good attitude and that creates incentives for commitment.

- Zlatko Michailov

Back to top


Software Practices

    Common Security Framework

    Software Quality for a Warfare


    DSL Router Modem DSL305E - Tele2/BeWAN/Aztech/Conexant

Back to top



Z-SQL is a SQL language designed specifically for Microsoft SQL Server to fill up the gaps of its native T-SQL. The purpose of Z-SQL is to make SQL Server solutions secure and maintainable. It utilizes the SQL Server schema/ownership model to create a new paradigm - package. Packages are secure entities that are easier to maintain than the bundle of native SQL Server objects. Z-SQL also implements some useful features typical to programming languages - defining script constants and types, and including other source files. On top of all that Z-SQL implements an exception handling mechanism. There is no need to check the @@error system variable after each statement in a transaction any more.

Z-SQL contains two binary modules - an engine and a command line shell. The engine is a standard .NET assembly that may be invoked from any .NET client. The command line shell, zsql, sits on top of osql that comes with the SQL Server distribution. This way zsql completely supersedes osql.

The Z-SQL distribution also includes a complete language specification, a command line options specification, and an article that explains the motivation behind Z-SQL.

Back to top


MSDK was originally written in 2002 as a supplemental to the Win32 threading model. In 2003/2004 the pgjobs agent needed to support multiple threads under Linux. Although the threading concepts under Windows and Linux are similar, the implementations are by far incompatible. That was an opportunity for MSDK to expand its usefulness by becoming platform-independent. Thus MSDK was rewritten from scratch.

Now MSDK is much better structured. There is a layer of C++ classes that represent synchronization primitives. A couple of new primitives were invented that don't exist in either Windows or Linux. There is another layer of C++ classes for threading support. And there is a third layer of C++ classes for multithreading applications like Single Writer - Multiple Readers, and Thread Pool.

MSDK was successfully tested under Windows and Linux. It is yet to be adopted by the pgjobs project.

Back to top


Project pgjobs is looking for a new Manager/Developer. The person must be committed to carry on with the current development plan, to maintain, and to further enhance the product. Send a free-formatted self nomination to Zlatko Michailov.

pgjobs has a very simple concept - to provide the infrastructure for scheduling and executing stored procedures under the PostgreSQL database server. Both Oracle and Microsoft SQL Server have such a feature. That feature is vital for the database application designers but the PostgreSQL core team prefers it to be implemented as a separate project out of the main baseline.

pgjobs uses MSDK 2.00 as a multithreading platform. pgjobs is only supported on the Linux/UNIX platform for now but it is intended to be supported for Windows as well. Generally the code is platform-independent. It is some specific file system paths and characters that are not Windows-compatible. That should be fixed in the near future.

pgjobs should be ported to the MSDK 2.10 platform. That would shrink the baseline significantly and will enable both the daemon and the config tool on Windows. A Windows installation script has to be developed separately.

Back to top

Visitors since 29-Jul-2002: 29099

Copyright (c) 2002-2005, Zlatko Michailov