LzLabs GmbHSenior Software Engineer
Sep. 2016Whitby, Ontario, CanadaAt a very high level our product the Software Defined Mainframe (SDM) re-hosts an IBM System z (zOS) system in a Linux environment. The Linux environment can be hosted in any location (Cloud or in-house) without needing to do any sort of recoding, recompilation or any other changes. To accomplish this we need to emulate all of the subsystems involved in the zOS ecosystem. One of these systems is the DB2z (RDB) subsystem. This is my area of focus and is implemented generally as PostgreSQL, PLPGSQL functions and DDL/DML. The following are a sample of the items I have implemented amongst others: - Add proper RDB security based on our own security model (again based the zOS model)
- Add DES encryption based on OpenSSL
- Add hash functions (MD5, CRC32, SHA1 and SHA256) based again on OpenSSL
- Add support for multiple datatypes to multiple DB2z types as extensions to the PostgreSQL database which we use to emulate the DB2z subsystem
- PostgreSQL extension must be aware of differences in the operating environments including such things as EBCDIC, codepage conversion, ROWID, XML, etc.
- The DB2z language is very different from PostgreSQL so translation from one dialect to the other is necessary. I have made these dialect translation
- Added other features such as hidden column support Continue to support/add new features required by current and potentially future customers. Work daily individually or with other team mates to produce a strong robust product. This collaboration includes coding, design and reviews of new features and existing code. Our code is primarily C++, however, because of our interaction with PostgreSQL I also do quite a lot of direct C programming as well. Needless to say there is also a significant amount of SQL, plpgsql and SQL optimization involved in my day to day work as well. I also consider myself at guru level in terms of debugging and problem diagnosis.