The Software Workshop inc. - software that fits! ™                  ExtSQL - Extended SQL
. Home   Contact Us    login





    News & Events

    Privacy Policy

    Report Problem


    Terms & Conditions

Quick Feedback!
This is a new project,
feedback is welcome
(and will be read!)

Product Testing

Obviously, this is the most important part of our development process.  If you do buy a binary license from us, we want you to feel confident that it will perform as expected. Our modified ExtSQL daemon should be just a simple 'drop-in' change to your existing MySQL or PostgreSQL environment. To insure reliability almost the entire process is automated.  If we have done our job properly, you shouldn't notice any differences.  Here are some details on how our internal process works.

 Building/Testing ExtSQL versions (using MySQL as an example)

Here are the steps taken before a binary is released for a specific combination of MySQL, i.e. a combination of MySQL Version, OS, and architecture:

  1. We start with a binary distribution from the MySQL web site for the Architecture, OS, & MySQL version we plan on building. This binary distirbution (0) executable is automatically tested using a combination of the MySQL distribution benchmarks and some of our own tests which run multiple queries in parallel from different hosts.   Testing is done against both MyISAM and Innodb engines. This binary data is recorded to be used for comparison purposes later.
  2. Depending on the OS we next use a source distribution from the main MySQL site.   We initially use the same configure options that were used in the MySQL binary distribution. These are labelled as 'STANDARD' in our download system. We then build a level (0.0) baseline executable on a system configured similarly to step 1.
  3. The (0.0) executable, similar to the baseline (0),  is automatically tested using a combination of the MySQL distribution benchmarks and some of our own tests which run multiple queries in parallel from different hosts.   The baseline build (0.0) should perform identically to the binary (0) distribution. Testing is done against both MyISAM and Innodb engines. The data is again recorded to be used for comparison purposes.
  4. A comparison is done between the data collected for the (0) and (0.0) versions.  We expect to see practically no differences.
  5. We next do another clean build and apply our patches before any 'configure' is done.  This (1.0) build is again done under automatic control to help guarantee a correct configuration.  With ExtSQL features disabled, we again run the same tests used for the baseline build  and record the results.
  6. A comparison is then done between the baseline (0) and patch (1.0) results to insure test success and also that no performance changes were noted. We expect to see almost identical results (while disabled the performance impact of the patches is < 1%).
  7. Extended statistics are then activated with a default set of variables to be tracked.  The prior benchmarks are again run and data recorded.
  8. A comparison is then made to check for not only success, but also to measure performance impact, and to check that the statistics are reporting correct results (regression testing). While tracking 18 different status variables the increase in server load was measured at approximately 5%.
  9. The binary is then certified as ready for your use for that combination of MySQL version, OS, and Architecture, e.g. MySQL 4.1.22 on RHEL 4, x86_64.

There is always the possibility of a surprise.  Because we are building hundreds of different combinations of MySQL, OS, and Architectures -- we take care to track configurations and bugs carefully.  Our key to reading versions helps you understand how we name our downloads and how bugs are tracked.  To give you confidence in the product, our installation instructions make it clear that we expect you to start with a working installation on either Unix/Linux or Windows platforms.  We also give you the ability to vote for specific versions/configurations you would like to see supported.

Installing the extensions means just shutting down your server, replace the executable with our binary, and restarting the server (with extended statistics disabled).  If problems start to occur, you can just re-install your original binary, and we know that there was a problem or configure difference with our binary.

Let us know if you have any questions!


[Home]    [FAQ List]    [About Us]    [Contact Us]   

NOTE: MySQL® is a registered trademark of Sun Microsystems. 
ExtSQL® is registered trademark of Software Workshop Inc.
ExtSQL is a separate product and should not be confused with MySQL
or PostgreSQL. It contains independently developed additional features,
released under the GPL,v.2.

©Copyright 1996-2009 Software Workshop Inc.