From: rpeterse@watserv1.uwaterloo.ca (Raymond Petersen)
Subject: Re: WATCOM SQL  (Opinions sought)
Organization: University of Waterloo
Date: Fri, 11 Sep 1992 02:31:11 GMT

In article <THOMASG.915.715985512@epx.cis.umn.edu> THOMASG@epx.cis.umn.edu (ThomasD.Gasser) writes:
>Ok every one,  I am looking for opinions on WATCOM's SQL database server for 
>Novell.  The price seems right ($395for the developers version and $95 to 
>upgrade to the 6 user network version).   
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Since I have a lot of experience with this product (I used the first version
before it was shrink-wrapped and beta tested the new version that they released)
I'll post a summary of this product.

1) I consider the major strength of WATCOM SQL to be the speed of retrieving
   data.  I've tested most DOS and one OS/2 SQL DBMSs and WATCOM SQL has
   outperformed them all (for speed).  From my tests I would say that
   cost-based optimizing heuristic is VERY good - even when compared to 
   programable filers like Dbase, FoxPro, and Paradox.

2) The core parts of the database package are the engine (that runs as a 235,000
   byte TSR for a single user) and ISQL (which allows you to type interactive
   SQL statements.  It also can import data from Dbase files etc.)  If you are
   running on the LAN, then the engine runs on the dedicated database server
   (They suggest that you use the 386 protected mode engine - which uses 100K 
   of real memory and an additional 700K of expanded memory.) and the client TSR
   runs on all the client machines.  The memory usage of the client TSR can be
   adjusted from 110,000 bytes to 70,000 bytes by using command line parms.
   By the way, one of the major reasons we began using WATCOM SQL was that the
   single user database engine was 128,000 bytes smaller than the previous DOS
   SQL DBMS that we were using.  (Not to mention that it was 5 times faster on
   complex SQL queries).

3) The product comes with a 4GL called ACME (Application Creation Made Easy)
   It is quite tightly integrated with the database engine and it is quite
   simple to get an application that uses the database up and running.
   However, like any 4GL it forces you to conform to its paradigm.
   (It seems that C programmers like myself are irked by this restriction on
    our freedom and only use 4GLs for a certain style of application.)

4) The part that I use most is Embedded SQL (in my C code).  I then use a
   pre-processor which converts the SQL in my C code to C function calls that
   are resolved at link time by a library that comes in the developer's edition.
   (It comes with Borland,Microsoft, and WATCOM C compilers.  If you need it for
   another compiler - ask.)  The one thing that some people may find unusual is
   that in WATCOM SQL all Embedded Sql is dynamic.  None of it is precompiled,
   it is only pre-processed.  There are a LOT of advantages to doing it this
   way.  The reason most products precompile SQL into a PLAN table, is
   execution speed, but lack of speed isn't one of WATCOM SQLs shortcomings.

5) Here is their list of features (sent to WATCOM C registered users)
   - ANSI standard SQL
   - Bi-directional scrollable updatable cursors
   - Referential and entity integrity
   - Automatic Query optimization
   - Row-level locking
   - Symmetric multi-threading of LAN server requests.
   - Database compression
   - Database encryption
   - ANSI standard SQL transaction logs
   - Transaction processing with a checkpoint log and a forward transaction log
   - Comprehensive security capabilities
   - Updatable views
   - Easily imports data files from other popular data formats.
   - Automatically uses expanded and extended memory to improve performance
   - Will run on 640K PCs (I do)
   - Royalty free run-time - $99.

6) Other interesting facts.
   a) All strings are variable length.
   b) NULL values in a row only use 1 bit to store.
   c) The developers spent a lot of time comparing the speed of WATCOM SQL
      (the 386 database engine) and Microsoft SQL Server, so that their product
      would outperform Microsoft's on the most common operations.

If you have further questions I'll try to answer them (as long as I don't get
too many)

I have no connection with WATCOM other than as a satisfied customer and beta
tester.

Customary warnings that I don't speak for my employer apply.

Raymond Petersen
MicroComputer Centre
Mutual Life of Canada