I've been lucky enough to get my hands on a BETA version of Enterprise Manager for the upcoming V3 release (EMV3). Here are my first impressions.

Starting it up, it looks very much like, if not identical to, V2. Those comfortable with EMV2 will have no problem adjusting to EMV3. Surprisingly, it found my V2 nxServer aliases but couldn't connect to them because of obvious version differences. I created a folder and used the internal server to set up an alias pointing to it before delving into it's SQL and restructuring functionality.

Something you SQL affictionados will love is the ability to create database aliases IN SQL:

CREATE ALIAS AliasName FROM {<pathname> | MEMORY}
DROP ALIAS AliasName
ALTER ALIAS AliasName SET PATH TO <pathname>
<pathname> ::= <character string literal> [ ENFORCE ]

Finally! The ability to create and destroy aliases via SQL. ENFORCE btw will create the directory on the server if it's not yet there. Also note the word MEMORY. That's right! V3 will introduce SQL-accessible in-memory databases which are persistent until the server is stopped.

Cursors make their debut in V3 aswell:

DECLARE myvar INT;
DECLARE acursor CURSOR FOR SELECT intfield from table1;
OPEN acursor;
FETCH NEXT FROM acursor INTO myvar;
WHILE @@FETCH_STATUS = 0 DO
    INSERT INTO table2 values (myvar);
    FETCH NEXT FROM acursor INTO myvar;
END WHILE;
CLOSE acursor;
ASSERT table table1 = table table2;

Cusors have been a long missed feature by those of us who've used them in other RDBMSs such as MS SQL Server. It's great to see them make an appearance in V3.

There are many other features in the works which include functionality to (de)activate triggers, procs etc on active databases. More on those as more progress is made on them.

Browsing a table in EMV3 is, as you'd expect, the same as in EMV2. The restructure screens also look identical which is good. It means the learning curve for those migrating from V2 is as shallow as a kiddies wading pool. For newcomers to the NexusDB environment, the learning curve is about the same as it's always been. Maybe a little steeper but not much.

Looking, and having the same functionality as EMV2 doesn't mean it IS EMV2 with a version change. EMV3 has a few more tricks up it's sleeve.

For a start, when you right-click on the 'Tables' tree option there's a new menu option called "Change All Tables". This unsuspecting option opens a new window which allows you to perform a batch update your database tables such as record engine, block size, table locales. It even allows you to add, edit, or delete common fields. There are more features I can imagine wanting this feature to do but for the initial release it is great.

Right-clicking on the database server shows another new menu option: Data Dictionary Code Generator.
This is the "Code Gun" feature mentioned in the V3 roadmap, which is an adaptation of Bert Moorthaemer's NXDDCG tool (thanks Bert!) and it's not too shabby. There are, and always will be, cases where generating SQL scripts on are not going to yield exact equivalents but that is mainly due to NXDB's insistence on conforming to SQL:2003 standards whilst still providing DBA's and developers more flexibility through the restructure functionality and direct access via code to the data dictionary.

Keep in mind that my copy of EMV3 is still an early beta so fixes/improvements will undoubtedly be made thick and fast prior to release.

Things are looking good! If I can get my hands on a pre-release nxServer you'll definintely hear about it! ^_^

Home | Community | Blogs | William's Blog