Progress
DataServer for
Microsoft SQL Server
Guide


Unsupported 4GL Statements

The DataServer supplies you with complete Progress functionality when accessing MSS data sources. Nearly all 4GL language elements (statements, functions, and so forth) and Progress Data Dictionary features work the same whether your application accesses a data source through the DataServer or a Progress database.

Use the DBRESTRICTIONS function to find out which Progress features your MSS data source does not support. For the DataServer for SQL Server™, DBRESTRICTIONS can return SETUSERID and COUNT–OF. In certain circumstances, it can return additional values. For example, it can return READ–ONLY if you connect to the schema holder in read-only mode. See the DBRESTRICTIONS function reference entry in the Progress Language Reference for information on syntax.

Table 2–6 summarizes the 4GL differences between Progress databases and MSS data sources.

Table 2–6: 4GL Differences Between Progress Databases and cMSS Data Sources
Progress Feature
MSS Data Source Difference
CONTAINS operator
This operator relates to word indexing, which the DataServer does not support.
COUNT–OF function
The DataServer does not support this function.
CREATE statement
Records that you create after opening a cursor might be invisible to that cursor.
FIND statements
FOR EACH statements
OPEN QUERY statement
To reduce the number of records included in the results set, qualify your FIND statements and queries with a WHERE clause.
MATCHES function
BEGINS function
The DataServer does not support using the percent (%) or underscore (_) character with the MATCHES and BEGINS functions. Do not use these functions with a pattern that is not an expression.
It is theoretically possible to do this with a Progress database, but using this kind of criteria results in poor performance.
NO–LOCK option1
SHARE–LOCK option
EXCLUSIVE–LOCK option
A Progress EXCLUSIVE–LOCK is emulated in the SQL Server™ DataServer. A Progress NO-LOCK can be emulated in the SQL Server™ database when the isolation level is set to read-uncommitted. SHARE-LOCK behavior is data source and isolation level dependent. See the section "Data Source Record Locking" for more information.
NULL
SQL Server™ NULL = Progress unknown value ("?")

Progress empty string ("") = a one space string in SQL Server™.
Record creation
A record is created at the end of a record’s scope and not when the required index information becomes available.
SETUSERID function
You cannot use this function to change the login name and password.
  1. For more information, see the "Data Source Record Locking" section.


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095