SOLID Server
VERSION 2.2 Overview
Details This detailed list of new features in SOLID Server version 2.2 is ordered by the release number and affected subsystem. An exception to this rule is that the features promoting the main focus of this version are listed separately first irrespective of the affected subsystem. Release 02.20.0027 Release 02.20.0019
Release 02.20.0027 (compared to release 2.20.0019)1 SQL Functionality Enhancements1.1 Configuration Parameter JoinPathSpan RemovedThe modified SQL optimization algorithm no longer needs a limit for the depth of the SQL parse tree to be spanned. Therefore, the solid.ini configuration parameter [SQL] JoinPathSpan has been removed. Setting a value for this parameter has no effect anymore. Also, the SQL statement SET SQL JOINPATHSPAN has no effect, although the syntax is still accepted for compatibility reasons. Release 02.20.0019 (compared to release 2.10.0002)1 Ease-of-Deployment Features1.1 Several Solid Installations within One ComputerAll SOLID driver, interface, and communication library files are named according to the Solid version. This means that when a new Partner application that has SOLID Inside is installed onto a computer that already has Solid installed as part of other Partners' applications, all the SOLID DBMSs can happily co-exist without problems within the same computer. 1.2 Create Database and ExitNew SOLID Server command line options allow starting SOLID Server to only create the database and/or to execute some SQL script to create tables, indices etc. and exiting immediately after that. This feature is useful, for example, in an embedded setup utility, where the database needs to be created and closed first before SOLID Server can be started in the background as an NT service process. For details, see SOLID Server Administrator's Guide: Appendix G. 1.3 Logical Data Source NamesBy using Logical Data Source Names, SOLID Server databases can be referred to and accessed from clients also by using a Logical Data Source Name, i.e., any user-specified character string. Now the data source names can be made self-documenting instead of using the network names, which tend to be rather cryptic on certain protocols. Clients can still use the SOLID Server network name consisting of the communication protocol name and the unique identifier of the server. The logical name is translated to a network name according to the entries in either solid.ini, odbc.ini, or the Windows registry. Using Logical Data Source Names means that SOLID databases can be named so that the name makes sense to the end user, e.g., "Enterprise Intelligence Database" instead of "tcp serverX 1234". This makes using SOLID databases more convenient to the power users of ODBC tools like Excel. Also, it will be easier for application developers to write portable applications and setup programs. Please see SOLID Server Administrator's Guide for details. 1.4 Shrink Initial DatabasesBased on Partner feedback, we have further developed SOLID Tools in order to make it straight-forward to export all data from a SOLID database and to reinsert the data into a new database. The result is a database with the desired contents and a minimal size in bytes. The SOLID Server Administrator's Guide contains detailed instructions on how to perform the database compression using the soldd, solexp, and solload utilities. We suggest compressing the initial databases that are mass distributed with Partner applications always when preparing evaluation or product packages, whatever the delivery media may be: diskette, CD-ROM, FTP, or Web. 1.5 Reset Database Age for Evaluation DatabasesThis is a service provided to our Partners who are distributing evaluation copies of their software with a SOLID Server database. Partners can preset the contents of a SOLID Server database and have Solid erase the database creation time stamp after that. This way, the limited evaluation time starts only after the evaluator opens the database. 1.6 CD-ROM SupportIn addition to the evaluation database creation and database compression utilities mentioned above, version 2.2 provides the following new features that support CD-ROM distribution:
Using the read-only startup option allows the database to reside on a CD-ROM device. This feature is useful when implementing tutorial applications that are run directly from CD-ROM and that need a demo database. The read-only license option is mainly targeted for the information providers who wish to sell and distribute non-alterable data, even if the database is copied from CD-ROM to a hard disk. 2 SQL Functionality Enhancements2.1 Schema SupportTable schemas allow several logical databases to reside in the same physical database. A typical use could be to have a similar table structure for each customer in the database of an accounting firm. All the data would still be stored in a single physical database, which allows sharing the common parameter information. For schema usage instructions and syntax details, please refer to SOLID Server Administrator's Guide. 2.2 Enhanced Support for JoinsIn addition to the already supported LEFT OUTER JOIN, now SOLID provides support also for the following join types: RIGHT [OUTER] JOIN Specifying join columns can now be done with: USING (...) The abovementioned keywords are now reserved words that cannot be used as identifiers. For syntax details, please refer to SOLID Server Administrator's Guide. Nested outer joins are also supported, which is indicated to applications by SQL API function call SQLGetInfo(SQL_OUTER_JOINS) returning value "F". 2.3 NULLIF and COALESCE SupportedShorthand CASE expressions NULLIF and COALESCE are now supported. For syntax details, please refer to SOLID Server Administrator's Guide. 2.4. Returning Result Sets from Database ProceduresIn version 2.2, SOLID Server can return multiple row result sets from database procedures. This enables application designers to have all database operations performed through database procedures when appropriate in order to hide the physical table structures from client applications or to solve data protection or network congestion problems. 2.5. Pseudo Column ROWNUM ImplementedThe ROWNUM attribute may be used in SELECT and UPDATE statements to limit the number of rows in the result set that are returned to the client or processed. The ROWNUM semantics are similar with Oracles ROWNUM. Please take note on the following points:
2.6 WHENEVER SQLERROR SupportedThe syntax
has been added to decrease the need for
tests after every executed SQL statement in a procedure. 2.7 SET STATEMENT MAXTIME SupportedThe new SQL statement SET STATEMENT MAXTIME <minutes> sets connection-specific statement maximum execution time in seconds. The setting is effective until a new maximum time is given. A zero value means no maximum time, which is also the default. When a statement fails due to a timeout expiration, the SQL error code 14529 is returned to the application. 2.8 EXCEPT and INTERSECT SupportedNow the EXCEPT and INTERSECT statements are allowed in SELECT criteria. For details on the syntax, please see SOLID Server Administrator's Guide. 2.9 Table Name Shorthand Aliases AllowedThe syntax <table id> AS <identifier> was added as a new feature. The reserved word AS cannot be used as an identifier without double quotes. 2.10 UPDATE <table>.<column> SupportedSupport for the following syntax was added: UPDATE <table>.<column> For details, please refer to SOLID Server Administrator's Guide. 2.11 "INTO" Optional in "INSERT INTO"In the "INSERT INTO" statement, the word "INTO" is now optional. Therefore, the reserved word "INTO" cannot be used any more as an identifier name. 2.12 Accurate Data Type Mapping in Database ProceduresNow all the data type length and precision information are exploited also in database procedures. All data types behave in produres exactly as in the SQL API. 2.13 CASE Control Structure Allowed in Database ProceduresSupport for the following syntax was added: CASE WHEN ... THEN ... ELSE ... END For details, please refer to SOLID Server Administrator's Guide. 2.14 Identifier Name Length Restriction RemovedNow the SQL identifier name length is unlimited. 2.15 SQL Info Logging EnhancementsSome new parameters to configure the SQL Info facility were added:
2.16 Several SQL Performance EnhancementsThe SQL operations performance has been further improved by:
3 Server Functionality Enhancements3.1 More Efficient Group CommitThe log write in multithread environments has been improved to automatically execute group commit for write operations. This is done by queueing the write operations both before and after the logical log write operation. The grouping increases adaptively and prevents the log file flushing from becoming a bottleneck to the server performance. The new group commit method is independent of the write mode and usually the default LogWriteMode is the best alternative. Note that the configuration parameter setting [Logging] CommitMaxWait = n has now become obsolete and should be removed from solid.ini. Also the LogWriteMode=3 (lazy) is now obsolete and is implicitly replaced by Logwritemode=2 (overwrite last block mode) 3.2 Cursor Read Level ChangedThe cursor read level has been changed. Previously the cursor was able to see changes that were made in the same transaction after the cursor was opened. For example, if the cursor was positioned onto row 2 and a new row was added in position 5, the new row was visible in following fetch calls. This caused some problems because the cursor behaved differently if the set was ordered using external sorter or index leaf buffering. The new changed behaviour fixes the cursor read level to the point when the cursor was opened. Later changes in the same transaction are not visible to the cursor. At transaction commit or rollback the cursor read level is updated to the point of the start of the transaction. 3.3 Windows Info... DisplayOn Windows platforms (3.1x, 95, NT) the SOLID Server icon menu has the new option 'Info...'. It displays server startup messages including license and listening details in a message box. This helps to identify separate SOLID Server processes that are running on the same workstation. 3.4 ADMIN COMMAND Accepts Arguments that Contain SpacesServer-internal command line argument parsing, which is used to process, e.g., ADMIN COMMAND staments now accepts double quoting to give arguments that contain spaces. Double quotes can be included in the command string by preceding them with a backslash (i.e. \"). 3.5 Enhancements to the ADMIN COMMAND 'Userlist'The ADMIN COMMAND userlist output has been changed. Instead of dividing users to control and normal users, it now displays the user type (e.g., SQL, SA, rcon, or solcon user). Also, there are new arguments for the userlist command. The new extended syntax is: ul [-l] [name|id] Option -l prints the long list including more info such as user login time and current SQL statement details. The optional name or id argument requests the info for that one user only. 3.6 Configuration File Shorthand Syntax for Numeric ValuesNumeric values in solid.ini (e.g., CacheSize) can now be given with the suffix k, K, m, or M.
The parameter type must be long; this mechanism does not work for parameters of the type double. 3.7 Ability to Configure No TimeoutsNegative or zero value for the solid.ini configuration parameters [Srv]ConnectTimeOut and [Srv]AbortTimeOut mean infinite timeout. 3.8 Error Log File Size LimitedThe error log file solerror.out size is limited to 1 MB. When the file grows over this limit it is renamed to solerror.bak, and a new solerror.out is started. 3.9 Minimum Cache Size IncreasedThe minimum size of the database cache in central memory has been increased from 10*blocksize to 20*blocksize. 3.10 Several Server Performance ImprovementsSeveral performance optimizations have been implemented in the:
4 Communication Functionality Enhancements4.1 UNIX Pipes SupportNow SOLID Server and the client applications can communicate locally within a UNIX host by using the UNIX Pipes protocol. The shorthand for the UNIX Pipes protocol is 'upipe' or 'unp'. E.g.: [Com] Listen = unp MySOLID This means that Desktop licenses can now be controlled also on UNIX platforms by allowing only UNIX Pipes connections. UNIX Pipes are implemented on AIX, Clix, HP-UX, IRIX, Linux, and Solaris platforms. 4.2 Unlimited Amount of Listening SessionsThe previous limitation of 10 concurrent listening sessions was removed. Now any number of listening sessions or asynchronous client connections is possible. 4.3 DECNet Client on 32-bit Windows PlatformsDECNet protocol is now supported for client communication on 32-bit Windows platforms. Requires Digital PATHWORKS 32 for Windows NT/95 to be installed. 4.4 NetBIOS Multiadapter ConnectionWhen NetBIOS listening is started in Windows NT without specifying the adapter identifier (i.e., the lana number), the default now is "listen to all available lanas" instead of just lana 0, which often is not the wanted one or may even be unusable. The lana number containing the "Nbf" on the top level is used first. Also, the client using the NetBIOS protocol without specifying any adapter tries first to connect to the server using the lana bound to "Nbf". If the connection is not established, all the available lanas are tried one at a time. 5 Tools Functionality Enhancements5.1 Schema Support Related ChangesThe following schema support related changes have been made to tools: SOLID Datadictionary (soldd): - schema names are
exported for tables - for other SOLID Export (solexp): - table names are stored in
format schema.table - default file SOLID Speedloader (solload, solloads): - schema name
and double quotes are now Table schemas allow several logical databases to reside in the same physical database. A typical use could be to have a similar table structure for each customer in the database of an accounting firm. All the data would still be stored in a single physical database, which allows sharing the common parameter information. For schema usage instructions and syntax details, please refer to SOLID Server Administrator's Guide. 5.2 Streamlined Operation; Command Line OptionsThe co-operations between soldd, solexp, and solload has been streamlined. Also, the command line options have been changed to be as consistent as possible between executables. For details, please see SOLID Server Administrator's Guide or run tool programs with the option: '-?'. 5.3 Long File Names in Solexp and SolddSolexp and soldd no longer truncate file names generated from table names to 8 characters except in Windows 3.x versions. 5.4 BLOb Support for solexpSolexp now also supports binary fields of unlimited length. 5.5 Inserting Enclose CharactersSpeedLoader accepts the special characters CR and LF in enclosed formats and within fixed length fields. Enclose characters can be included in strings by typing two consequtive enclose characters (e.g., 'can''t'). Solexp now outputs two quote characters in strings that contain quote characters ('). 5.6 SOLID SpeedLoader Commit Interval ConfigurableThe SOLID SpeedLoader commit batch size can be changed using the command line option -b or the control file option COMMITBATCH. If the commit batch size is specified, data is committed at commit batch intervals. If the commit batch value is zero, all data is loaded before commit. The default commit batch value is one, which is the same as the autocommit mode. 5.7 SOLID SpeedLoader TIME and TIMESTAMP Format KeywordsIn the SOLID SpeedLoader control file it is possible to also specify default TIME and TIMESTAMP formats for columns in addition to the DATE format. The syntax is the following: DATE 'format-str' Any or all of the default formats may be missing, but the existing ones must be given in the above order, e.g., DATE must always be specified before TIME. The keywords TIME and TIMESTAMP work in the same way as the keyword DATE. 5.8 'Quit' also from Solcon & SolinstFor consistency reasons, solcon now acceps the quit command, which is equivalent to the exit command. Solinst accepts the 'Q' command, which is equivalent to 'X'. 6 Changes to Supported Platforms6.1 Silicon Graphics IRIXIRIX was provided as a 2.1 beta release. Now, with SOLID Server version 2.2, IRIX v. 6.2 becomes a supported platform. 6.2 Windows NT 4.0 (Intel)SOLID Server 2.1 for NT could be run without problems on Windows NT 4.0, although it was not an officially supported platform. Now, both NT 3.51 and NT 4.0 are officially supported on the Intel hardware. On Digital Alpha hardware, NT 3.51 continues to be the supported NT version. 6.3 Intergraph CLIX Phased OutSOLID Server 2.2 is not provided for the Intergraph CLIX platform anymore. The support for customers using SOLID Server 2.1 for CLIX is continued for 18 months after the version 2.2 release date. Company | Products | Support | Search | Free Eval Packs |