; *******************************************************************
; Connect options
;     PBTRACE - ON : set ODBC connect option for trace on,  all odbc 
;                    are written to the file specified by the
;                    PBTraceFile entry (only use for debugging since
;                    tracing adversely affect performance)
;               OFF: do notset ODBC connect option for trace on            
; *******************************************************************
[PBCONNECTOPTIONS]
PBTrace='OFF'
PBTraceFile='c:\PBSQL.LOG'
; ********************************************************************
; DBMS Driver / DBMS Settings see comments at end of file
; 
; ********************************************************************

;[WATCOM SQL 3.0]
[WATCOM SQL WSQLODBC]
PBSyntax='WATCOM_SYNTAX'
PBDateTime='STANDARD_DATETIME'
PBFunctions='WATCOM_FUNCTIONS'
DelimitIdentifier='YES'
PBDateTimeInvalidInSearch='NO'
PBTimeInvalidInSearch='YES'
PBQualifierIsOwner='NO'
PBSpecialDataTypes='WATCOM_SPECIALDATATYPES'
PBSystemOwner='sys'

;[WATCOM SQL WOD40W]
[WATCOM SQL]
PBSyntax='WATCOM40_SYNTAX'
PBDateTime='STANDARD_DATETIME'
PBFunctions='WATCOM_FUNCTIONS'
DelimitIdentifier='YES'
PBDateTimeInvalidInSearch='NO'
PBTimeInvalidInSearch='YES'
PBQualifierIsOwner='NO'
PBSpecialDataTypes='WATCOM_SPECIALDATATYPES'
PBSystemOwner='sys'
ForeignKeyDeleteRule='Disallow if Dependent Rows Exist (RESTRICT),Delete any Dependent Rows (CASCADE),Set Dependent Columns to NULL (SET NULL)'

[Sybase SQL Anywhere]
PBSyntax='WATCOM50_SYNTAX'
PBDateTime='STANDARD_DATETIME'
PBFunctions='WATCOM_FUNCTIONS'
PBDefaultValues='autoincrement,current date,current time,current timestamp,timestamp,null,user'
PBDefaultCreate='YES'
PBDefaultAlter='YES'
PBDefaultExpressions='YES'
DelimitIdentifier='YES'
PBDateTimeInvalidInSearch='NO'
PBTimeInvalidInSearch='YES'
PBQualifierIsOwner='NO'
PBSpecialDataTypes='WATCOM_SPECIALDATATYPES'
IdentifierQuoteChar='"'
PBSystemOwner='sys,dbo'
PBUseProcOwner='YES'
SQLSrvrTSName='YES'
SQLSrvrTSQuote='YES'
SQLSrvrTSDelimit='YES'
ForeignKeyDeleteRule='Disallow if Dependent Rows Exist (RESTRICT),Delete any Dependent Rows (CASCADE),Set Dependent Columns to NULL (SET NULL)'

; Microsoft driver for Access
[Access]
PBSyntax='ACCESS_SYNTAX'
PBConCatIndex='YES'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
IdentifierQuoteChar='"'
PBDateTime='DEFAULT_DATETIME'
PBSpecialDataTypes='ACCESS_SPECIALDATATYPES'

; Q+E driver for Btrieve
[BTRIEVE]
PBSyntax='QE_BTRIEVE_SYNTAX'
PBConCatIndex='YES'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
PBDateTime='DEFAULT_DATETIME'
PBFunctions='QE_BTRIEVE_FUNCTIONS'
PBSpecialDataTypes='QE_BTRIEVE_SPECIALDATATYPES'
DelimitIdentifier='NO'
IdentifierCase=1

; Microsoft driver for Access
[Access]
PBSyntax='ACCESS_SYNTAX'
PBConCatIndex='YES'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
PBDateTime='DEFAULT_DATETIME'
PBSpecialDataTypes='ACCESS_SPECIALDATATYPES'

; Q+E driver for Btrieve
[BTRIEVE]
PBSyntax='QE_BTRIEVE_SYNTAX'
PBConCatIndex='YES'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
PBDateTime='DEFAULT_DATETIME'
PBFunctions='QE_BTRIEVE_FUNCTIONS'
PBSpecialDataTypes='QE_BTRIEVE_SPECIALDATATYPES'
DelimitIdentifier='NO'

; Microsoft driver for Btrieve
[BTRIEVE SIMBA]
PBSyntax='MS_BTRIEVE_SYNTAX'
PBConCatIndex='YES'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
PBDateTime='STANDARD_DATETIME'
PBFunctions='MS_BTRIEVE_FUNCTIONS'

; Microsoft driver for Btrieve 2.0 pack
[BTRIEVE ODBCJT16]
PBSyntax='MS_BTRIEVE_SYNTAX'
PBConCatIndex='YES'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
PBDateTime='STANDARD_DATETIME'
PBFunctions='MS_BTRIEVE_FUNCTIONS'

[BTRIEVE ODBCJT32]
PBSyntax='MS_BTRIEVE_SYNTAX'
PBConCatIndex='YES'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
PBDateTime='STANDARD_DATETIME'
PBFunctions='MS_BTRIEVE_FUNCTIONS'

; CA-IDMS/DB driver
[CA-IDMS/DB]
PBCatalogOwner='PBCatalogOwner-schema-name'
PBSyntax='IDMS_SYNTAX'
PBDateTime='DEFAULT_DATETIME'
PBFunctions='IDMS_FUNCTIONS'
DelimitIdentifier='YES'
PBSpecialDataTypes='IDMS_SPECIALDATATYPES'
PBEscapeChar='NO'
PBNonStdChars='-'

; Q+E driver for DBASE
[DBASE]
PBSyntax='DBASE_SYNTAX'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
DelimitIdentifier='NO'
PBSpecialDataTypes='DBASE_SPECIALDATATYPES'
PBDateTime='DEFAULT_DATETIME'

; Q+E 2.0 ODBC driver for DBASE 4 
[dBase V]
PBSyntax='DBASE_SYNTAX'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
DelimitIdentifier='NO'
PBSpecialDataTypes='DBASE_SPECIALDATATYPES'
PBDateTime='DEFAULT_DATETIME'


; Q+E 2.0 ODBC driver for DBASE 4 
[dBase IV]
PBSyntax='DBASE_SYNTAX'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
DelimitIdentifier='NO'
PBSpecialDataTypes='DBASE_SPECIALDATATYPES'
PBDateTime='DEFAULT_DATETIME'

; Q+E 2.0 ODBC driver for DBASE 3 
[dBase III]
PBSyntax='DBASE_SYNTAX'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
DelimitIdentifier='NO'
PBSpecialDataTypes='DBASE_SPECIALDATATYPES'
PBDateTime='DEFAULT_DATETIME'

; Q+E 2.0 ODBC driver for DBASE 2 
[dBase II]
PBSyntax='DBASE_SYNTAX'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
DelimitIdentifier='NO'
PBSpecialDataTypes='DBASE_SPECIALDATATYPES'
PBDateTime='DEFAULT_DATETIME'

; Microsoft driver for DBASEIII
[DBASE3]
PBSyntax='DBASE_SYNTAX'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'

; Microsoft driver for DBASEIV
[DBASE4]
PBSyntax='DBASE_SYNTAX'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'

; Microsoft driver for DBASE  2.0 pack
[DBASE ODBCJT16]
PBSyntax='DBASE_SYNTAX'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'

[DBASE ODBCJT32]
PBSyntax='DBASE_SYNTAX'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'

; Q+E Driver for DB2/2  and IBM CAE 1.2 and 2.1 DB2CLIW
[DB2/2]
PBCatalogOwner='PBCATOWN'
PBSyntax='DB22_SYNTAX'
PBDateTime='ISO_DATETIME'
PBFunctions='DB22_FUNCTIONS'
DelimitIdentifier='YES'
PBSystemOwner='SYSIBM,SYSSTAT,SYSCAT'
IdentifierCase=3
PBSupportBindSelect='NO'
PBSupportBindUpdate='NO'
PBSupportDBBind='NO'
BlobSegmentSize=32767
ForeignKeyDeleteRule='Disallow if Dependent Rows Exist (RESTRICT),Delete any Dependent Rows (CASCADE),Set Dependent Columns to NULL (SET NULL)'
TableListType='ALIAS'

; IBM DB2/NT 2.1 DB2CLI
[DB2/NT]
PBCatalogOwner='PBCATOWN'
PBSyntax='DB22_SYNTAX'
PBDateTime='ISO_DATETIME'
PBFunctions='DB22_FUNCTIONS'
DelimitIdentifier='YES'
PBSystemOwner='SYSIBM,SYSSTAT,SYSCAT'
IdentifierCase=3
PBSupportBindSelect='NO'
PBSupportBindUpdate='NO'
PBSupportDBBind='NO'
BlobSegmentSize=32767
ForeignKeyDeleteRule='Disallow if Dependent Rows Exist (RESTRICT),Delete any Dependent Rows (CASCADE),Set Dependent Columns to NULL (SET NULL)'
TableListType='ALIAS'

; IBM DB2/MVS 4.1 DB2CLI
[DB2]
PBCatalogOwner='PBCATOWN'
PBSyntax='DB22_SYNTAX'
PBDateTime='ISO_DATETIME'
PBFunctions='DB22_FUNCTIONS'
DelimitIdentifier='YES'
PBSystemOwner='SYSIBM,SYSSTAT,SYSCAT'
IdentifierCase=3
PBSupportBindSelect='NO'
PBSupportBindUpdate='NO'
PBSupportDBBind='NO'
BlobSegmentSize=32767
ForeignKeyDeleteRule='Disallow if Dependent Rows Exist (RESTRICT),Delete any Dependent Rows (CASCADE),Set Dependent Columns to NULL (SET NULL)'
TableListType='ALIAS'

; IBM DB2/6000 2.1 DB2CLI
[DB2/6000]
PBCatalogOwner='PBCATOWN'
PBSyntax='DB22_SYNTAX'
PBDateTime='ISO_DATETIME'
PBFunctions='DB22_FUNCTIONS'
DelimitIdentifier='YES'
PBSystemOwner='SYSIBM,SYSSTAT,SYSCAT'
IdentifierCase=3
PBSupportBindSelect='NO'
PBSupportBindUpdate='NO'
PBSupportDBBind='NO'
BlobSegmentSize=32767
ForeignKeyDeleteRule='Disallow if Dependent Rows Exist (RESTRICT),Delete any Dependent Rows (CASCADE),Set Dependent Columns to NULL (SET NULL)'
TableListType='ALIAS'

; IBM DB2/SUN 2.1 DB2CLI
[DB2/SUN]
PBCatalogOwner='PBCATOWN'
PBSyntax='DB22_SYNTAX'
PBDateTime='ISO_DATETIME'
PBFunctions='DB22_FUNCTIONS'
DelimitIdentifier='YES'
PBSystemOwner='SYSIBM,SYSSTAT,SYSCAT'
IdentifierCase=3
PBSupportBindSelect='NO'
PBSupportBindUpdate='NO'
PBSupportDBBind='NO'
BlobSegmentSize=32767
ForeignKeyDeleteRule='Disallow if Dependent Rows Exist (RESTRICT),Delete any Dependent Rows (CASCADE),Set Dependent Columns to NULL (SET NULL)'
TableListType='ALIAS'

; IBM DB2/HPUX 2.1 DB2CLI
[DB2/HPUX]
PBCatalogOwner='PBCATOWN'
PBSyntax='DB22_SYNTAX'
PBDateTime='ISO_DATETIME'
PBFunctions='DB22_FUNCTIONS'
DelimitIdentifier='YES'
PBSystemOwner='SYSIBM,SYSSTAT,SYSCAT'
IdentifierCase=3
PBSupportBindSelect='NO'
PBSupportBindUpdate='NO'
PBSupportDBBind='NO'
BlobSegmentSize=32767
ForeignKeyDeleteRule='Disallow if Dependent Rows Exist (RESTRICT),Delete any Dependent Rows (CASCADE),Set Dependent Columns to NULL (SET NULL)'
TableListType='ALIAS'

; IBM DB2/6000 PE 2.1 DB2CLI
[DB2/6000 PE]
PBCatalogOwner='PBCATOWN'
PBSyntax='DB22_SYNTAX'
PBDateTime='ISO_DATETIME'
PBFunctions='DB22_FUNCTIONS'
DelimitIdentifier='YES'
PBSystemOwner='SYSIBM,SYSSTAT,SYSCAT'
IdentifierCase=3
PBSupportBindSelect='NO'
PBSupportBindUpdate='NO'
PBSupportDBBind='NO'
BlobSegmentSize=32767
ForeignKeyDeleteRule='Disallow if Dependent Rows Exist (RESTRICT),Delete any Dependent Rows (CASCADE),Set Dependent Columns to NULL (SET NULL)'
TableListType='ALIAS'

; IBM DB2/SNI 2.1 DB2CLI
[DB2/SNI]
PBCatalogOwner='PBCATOWN'
PBSyntax='DB22_SYNTAX'
PBDateTime='ISO_DATETIME'
PBFunctions='DB22_FUNCTIONS'
DelimitIdentifier='YES'
PBSystemOwner='SYSIBM,SYSSTAT,SYSCAT'
IdentifierCase=3
PBSupportBindSelect='NO'
PBSupportBindUpdate='NO'
PBSupportDBBind='NO'
BlobSegmentSize=32767
ForeignKeyDeleteRule='Disallow if Dependent Rows Exist (RESTRICT),Delete any Dependent Rows (CASCADE),Set Dependent Columns to NULL (SET NULL)'
TableListType='ALIAS'

; For EDA/SQL, build the PB catalog with ISQL then delete PBNoCatalog entry
; and replace it with PBCatalogOwner=owner.  
[EDASERVE]
PBNoCatalog='YES'
PBDateTime='ISO_DATETIME'

; Microsoft driver for EXCEL
[EXCEL]
PBSyntax='Excel_SYNTAX'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBNoCatalog='YES'
PBSupportBindSelect='NO'
PBSupportBindUpdate='NO'
PBSupportDBBind='NO'

; Microsoft driver for Foxpro
[FoxPro 2.5]
PBConCatIndex='NO'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBSyntax='FOXP25_SYNTAX'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'

; Microsoft driver for Foxpro 2.0 pack
[FOXPRO ODBCJT16]
PBConCatIndex='NO'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBSyntax='FOXP25_SYNTAX'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'

[FOXPRO ODBCJT32]
PBConCatIndex='NO'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBSyntax='FOXP25_SYNTAX'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'

;Intersolve foxpro 2.5
[FOXPRO]
PBSyntax='FOXP25_SYNTAX'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
DelimitIdentifier='NO'

;Intersolve foxbase
[FOXBASE]
PBSyntax='FOXP25_SYNTAX'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
DelimitIdentifier='NO'

; Q+E driver for Informix 
[INFORMIX]
PBSpecialDataTypes='INFORMIX_SPECIALDATATYPES'

; Q+E driver for Ingres
[INGRES QEING03]
PBSyntax='INGRES_SYNTAX'
PBDateTime='DEFAULT_DATETIME'
PBFunctions='DEFAULT_FUNCTIONS'
PBDateTimeInvalidInSearch='YES'
PBTimeInvalidInSearch='YES'
DelimitIdentifier='NO'
PBQualifierIsOwner='NO'
PBSystemOwner='$ingres'
PBCatalogOwner='ingres'

; Ingres (Page Ahead) driver for Ingres
[INGRES]
PBSyntax='INGRES_SYNTAX'
PBDateTime='DEFAULT_DATETIME'
PBFunctions='DEFAULT_FUNCTIONS'
PBDateTimeInvalidInSearch='YES'
PBTimeInvalidInSearch='YES'
DelimitIdentifier='NO'
PBQualifierIsOwner='NO'
PBSystemOwner='$ingres'
PBCatalogOwner='ingres'

[Microsoft SQL Server]
PBCatalogOwner='dbo'
PBSyntax='SYBASE_SYNTAX'
PBDateTime='DEFAULT_DATETIME'
PBFunctions='SYBASE_FUNCTIONS'
;ghw 3/19/95 Delta 28399
; From this:
;PBSpecialDataTypes='SYBASE_SPECIALDATATYPES'
; To this
PBSpecialDataTypes='MS_SQLSERVER6_SPECIALDATATYPES'
;end ghwxs
PBObjectIDs='YES'
PBMaxBlobSize='2147483647'
PBMaxTextSize='32767'
PBDWDynamic='NO'


; PB Q+E driver for NetWareSQL  
[Netware SQL]
PBSyntax='QE_NETWARE_SYNTAX'
PBConCatIndex='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
PBDateTime='DEFAULT_DATETIME'
PBFunctions='QE_BTRIEVE_FUNCTIONS'
PBSpecialDataTypes='QE_NETWARESQL_SPECIALDATATYPES'
DelimitIdentifier='NO'
IdentifierCase=3
PBQualifiersOnDesc='YES'

; Q+E driver for Oracle6
[ORACLE QEORA03]
PBCatalogOwner='SYSTEM'
PBSystemOwner='SYS'
IdentifierCase=3
PBParseProcs='NO'

; Microsoft driver for Oracle6
[ORACLE]
PBCatalogOwner='SYSTEM'
PBSystemOwner='SYS'
PBParseProcs='NO'

; Oracle's latest ODBC driver
[Oracle7]
PBCatalogOwner='SYSTEM'
PBSystemOwner='SYS'
PBDateTime='ORA7_DATETIME'
IdentifierCase=3
PBParseProcs='NO'

; Q+E driver for Paradox
[PARADOX]
PBSyntax='Paradox_SYNTAX'
PBCatNdxIsTblName='YES'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoCatalog='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
PBSpecialDataTypes='PARADOX_SPECIALDATATYPES'
DelimitIdentifier='NO'
PBSupportBindSelect='NO'
PBSupportBindUpdate='NO'
PBSupportDBBind='NO'

; Microsoft driver for Paradox
[PARADOX SIMBA]
PBSyntax='Paradox_SYNTAX'
PBCatNdxIsTblName='YES'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoCatalog='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
DelimitIdentifier='YES'

; Microsoft driver for Paradox 2.0 pack
[PARADOX ODBCJT16]
PBSyntax='Paradox_SYNTAX'
PBCatNdxIsTblName='YES'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoCatalog='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
DelimitIdentifier='YES'

[PARADOX ODBCJT32]
PBSyntax='Paradox_SYNTAX'
PBCatNdxIsTblName='YES'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoCatalog='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
DelimitIdentifier='YES'

[Rdb]
PBSyntax='Rdb_SYNTAX'
PBDateTime='DEFAULT_DATETIME'
PBEscapeChar='NO'
PBTrimCharColumns='YES'

; Q+E driver for Gupta SQLBase
[SQLBase]
PBSyntax='SQLBase_SYNTAX'
PBDateTime='DEFAULT_DATETIME'
PBFunctions='DEFAULT_FUNCTIONS'
PBDateTimeInvalidInSearch='YES'
PBTimeInvalidInSearch='YES'
IdentifierCase=3
PBSpecialDataTypes='SQLBASE_SPECIALDATATYPES'
PBQualifiersOnDesc='YES'

; Q+E Text driver
[Text]
PBNoCatalog='YES'
PBSyntax='CORE_SYNTAX'
PBDateTime='DEFAULT_DATETIME'
DelimitIdentifier='NO'

[Text SIMBA]
PBNoCatalog='YES'
PBSyntax='CORE_SYNTAX'
PBDateTime='DEFAULT_DATETIME'
DelimitIdentifier='YES'
PBFunctions='TEXT_FUNCTIONS'
PBTableDot=0

[Text ODBCJT16]
PBNoCatalog='YES'
PBSyntax='CORE_SYNTAX'
PBDateTime='DEFAULT_DATETIME'
DelimitIdentifier='YES'
PBFunctions='TEXT_FUNCTIONS'
PBTableDot=0

[Text ODBCJT32]
PBNoCatalog='YES'
PBSyntax='CORE_SYNTAX'
PBDateTime='DEFAULT_DATETIME'
DelimitIdentifier='YES'
PBFunctions='TEXT_FUNCTIONS'
PBTableDot=0

; Fulcrum Tech's text retrieval driver
[SearchServer]
PBSyntax='SearchServer_SYNTAX'
PBFunctions='SearchServer_FUNCTIONS'
DelimitIdentifier='YES'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'

[SQL Server]
PBCatalogOwner='dbo'
PBSyntax='SYBASE_SYNTAX'
PBDateTime='DEFAULT_DATETIME'
PBFunctions='SYBASE_FUNCTIONS'
PBSpecialDataTypes='SYBASE_SPECIALDATATYPES'
PBObjectIDs='YES'
PBMaxBlobSize='2147483647'
PBMaxTextSize='32767'
PBDWDynamic='NO'



; VMark's HyperSTAR STAR/ODBC driver - connected to uniVerse
[HyperSTAR / uniVerse]
PBSpecialDataTypes='HYPERSTAR_SPECIALDATATYPES'

; VMark's HyperSTAR STAR/ODBC driver - connected to PI/open
[HyperSTAR / PI/open]
PBSpecialDataTypes='HYPERSTAR_SPECIALDATATYPES'

; VMark's HyperSTAR STAR/ODBC driver - connected to PRIME Information
HyperSTAR / PRIME Information]
PBSpecialDataTypes='HYPERSTAR_SPECIALDATATYPES'

; VMark's HyperSTAR STAR/ODBC driver - connected to Informix
[HyperSTAR / Informix]
PBSpecialDataTypes='HYPERSTAR_SPECIALDATATYPES'

; VMark's HyperSTAR STAR/ODBC driver - connected to Sybase
[HyperSTAR / Sybase]
PBSpecialDataTypes='HYPERSTAR_SPECIALDATATYPES'

; XDB's Driver for XDB  (DBMS changes according to backend DB accessed)
[XDB0300W]
;ForeignKeyDeleteRule='Disallow if Dependent Rows Exist (RESTRICT),Delete any Dependent Rows (CASCADE),Set Dependent Columns to NULL (SET NULL)'
PBSyntax='XDB_SYNTAX'
PBDateTime='DEFAULT_DATETIME'
PBCatalogOwner='INSTALL'
PBDelimitReservedWord='No'
PBSupportBindSelect='NO'
PBSupportBindUpdate='NO'
;IdentifierCase=3

; ********************************************************************
; Data Source Settings
; ********************************************************************

; ********************************************************************
; Pattern matching syntax
; ********************************************************************

[WATCOM_SYNTAX]
AlterForeignKey='ALTER TABLE &TableOwner.&TableName ADD FOREIGN KEY &KeyName (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName'
AlterPrimaryKey='ALTER TABLE &TableOwner.&TableName ADD PRIMARY KEY (&ColumnName[,&ColumnName]...)'  
CreatePrimaryKey=', PRIMARY KEY (&ColumnName[,&ColumnName]...)'
CreateForeignKey=', FOREIGN KEY &KeyName (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName'
DropPrimaryKey='ALTER TABLE &TableOwner.&TableName DELETE PRIMARY KEY'
DropForeignKey='ALTER TABLE &TableOwner.&TableName DELETE FOREIGN KEY &KeyName'   
DropIndex='DROP INDEX &IndexName'
RenameTable='ALTER TABLE &OldTableName RENAME &NewTableName'
RenameColumn='ALTER TABLE &TableName  ::RenameColElement'
RenameColElement='RENAME &OldColumnName TO &NewColumnName'
AddColumn='ALTER TABLE &TableOwner.&TableName ::AddColElement[, ::AddColElement ]...'
AddColElement=' ADD &ColumnName &DataType'
ModifyColumn='ALTER TABLE &TableOwner.&TableName ::ModifyColElement[, ::ModifyColElement ]...'
ModifyColElement='MODIFY &ColumnName &DataType'
DeleteColumn='ALTER TABLE &TableOwner.&TableName ::DeleteColElement[, ::DeleteColElement ]...'
DeleteColElement='DELETE &ColumnName'
PBSelectViewSyntax='select view_def from sys.systable where table_name = ''&ObjectName'' and table_type = 'VIEW' ' 
PBFKeyListSyntax='select puser.user_name, ptbl.table_name, column_name, 0, 0, 0, role, fkc.primary_column_id from SYS.SYSTABLE ftbl, SYS.SYSFOREIGNKEY fkt, SYS.SYSTABLE ptbl, SYS.SYSUSERPERMS puser, SYS.SYSUSERPERMS fuser, SYS.SYSFKCOL fkc, SYS.SYSCOLUMN scol where ftbl.table_name = ''&TableName'' and ftbl.creator = fuser.user_id and fuser.user_name = ''&TableOwner'' and ftbl.table_id = fkt.foreign_table_id and fkt.primary_table_id = ptbl.table_id and ptbl.creator = puser.user_id and fkc.foreign_key_id = fkt.foreign_key_id and fkt.foreign_table_id = scol.table_id and fkc.foreign_table_id = scol.table_id and fkc.foreign_column_id = scol.column_id order by role, fkc.primary_column_id '
AddUser='GRANT CONNECT TO &UserID IDENTIFIED BY &Password'
DefaultUserAuthority='GRANT RESOURCE TO &UserID'
ChangeUser='GRANT CONNECT TO &UserID IDENTIFIED BY &Password'
DeleteUser='REVOKE CONNECT FROM &UserID'
SelectUsers='SELECT USER_NAME FROM SYS.SYSUSERPERMS'
SelectTableUsers='SELECT if USER_GROUP='Y' then '*' || USER_NAME else USER_NAME endif FROM SYS.SYSUSERPERMS'
SelectGroups='SELECT USER_NAME FROM SYS.SYSUSERPERMS WHERE USER_GROUP='Y''
AddGroup='GRANT GROUP TO &GroupID'
DeleteGroup='REVOKE GROUP FROM &GroupID'
SelectMembers='SELECT MEMBER_NAME FROM SYS.SYSGROUPS WHERE GROUP_NAME='&sqlsub''
AddMembers='GRANT MEMBERSHIP IN GROUP &GroupID TO &UserID'
DeleteMembers='REVOKE MEMBERSHIP IN GROUP &GroupID FROM &UserID'
 
[WATCOM40_SYNTAX]
AlterForeignKey='ALTER TABLE &TableOwner.&TableName ADD FOREIGN KEY &KeyName (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName ON DELETE &DeleteRule'
AlterPrimaryKey='ALTER TABLE &TableOwner.&TableName ADD PRIMARY KEY (&ColumnName[,&ColumnName]...)'  
CreatePrimaryKey=', PRIMARY KEY (&ColumnName[,&ColumnName]...)'
CreateForeignKey=', FOREIGN KEY &KeyName (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName ON DELETE &DeleteRule'
DropPrimaryKey='ALTER TABLE &TableOwner.&TableName DELETE PRIMARY KEY'
DropForeignKey='ALTER TABLE &TableOwner.&TableName DELETE FOREIGN KEY &KeyName'   
DropIndex='DROP INDEX &IndexName'
RenameTable='ALTER TABLE &OldTableName RENAME &NewTableName'
RenameColumn='ALTER TABLE &TableName  ::RenameColElement'
RenameColElement='RENAME &OldColumnName TO &NewColumnName'
AddColumn='ALTER TABLE &TableOwner.&TableName ::AddColElement[, ::AddColElement ]...'
AddColElement=' ADD &ColumnName &DataType'
ModifyColumn='ALTER TABLE &TableOwner.&TableName ::ModifyColElement[, ::ModifyColElement ]...'
ModifyColElement='MODIFY &ColumnName &DataType'
DeleteColumn='ALTER TABLE &TableOwner.&TableName ::DeleteColElement[, ::DeleteColElement ]...'
DeleteColElement='DELETE &ColumnName'
PBSelectViewSyntax='select view_def from sys.systable where table_name = ''&ObjectName'' and table_type = 'VIEW' '
PBSelectProcSyntax='select proc_defn from SYS.SYSPROCEDURE JOIN SYS.SYSUSERPERMS where proc_name = ''&ObjectName'' and user_name = ''&ObjectOwner'''
;PBFKeyListSyntax='select puser.user_name, ptbl.table_name, column_name, 0,  0, isnull((select if referential_action='C' then 0 else if referential_action='N' then 2 else 3 endif endif from SYSTRIGGER where table_id=fkt.primary_table_id and foreign_table_id=fkt.foreign_table_id and foreign_key_id=fkt.foreign_key_id and event = 'D')  ,1) AS DELETE_RULE , role, fkc.primary_column_id from SYS.SYSTABLE ftbl, SYS.SYSFOREIGNKEY fkt, SYS.SYSTABLE ptbl, SYS.SYSUSERPERMS puser, SYS.SYSUSERPERMS fuser, SYS.SYSFKCOL fkc, SYS.SYSCOLUMN scol where ftbl.table_name = ''&TableName'' and ftbl.creator = fuser.user_id and fuser.user_name = ''&TableOwner'' and ftbl.table_id = fkt.foreign_table_id and fkt.primary_table_id = ptbl.table_id and ptbl.creator = puser.user_id and fkc.foreign_key_id = fkt.foreign_key_id and fkt.foreign_table_id = scol.table_id and fkc.foreign_table_id = scol.table_id and fkc.foreign_column_id = scol.column_id order by role, fkc.primary_column_id '
ShowPlanSyntax='select plan('&sqlsub') from DUMMY'
AddUser='GRANT CONNECT TO &UserID IDENTIFIED BY &Password'
DefaultUserAuthority='GRANT RESOURCE TO &UserID'
ChangeUser='GRANT CONNECT TO &UserID IDENTIFIED BY &Password'
DeleteUser='REVOKE CONNECT FROM &UserID'
SelectUsers='SELECT USER_NAME FROM SYS.SYSUSERPERMS'
SelectTableUsers='SELECT if USER_GROUP='Y' then '*' || USER_NAME else USER_NAME endif FROM SYS.SYSUSERPERMS'
SelectGroups='SELECT USER_NAME FROM SYS.SYSUSERPERMS WHERE USER_GROUP='Y''
AddGroup='GRANT GROUP TO &GroupID'
DeleteGroup='REVOKE GROUP FROM &GroupID'
SelectMembers='SELECT MEMBER_NAME FROM SYS.SYSGROUPS WHERE GROUP_NAME='&sqlsub''
AddMembers='GRANT MEMBERSHIP IN GROUP &GroupID TO &UserID'
DeleteMembers='REVOKE MEMBERSHIP IN GROUP &GroupID FROM &UserID'
 
[QE_BTRIEVE_SYNTAX]
CreateIndex='CREATE &UNIQUE INDEX &IndexName ON &TableOwner.&TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName'
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &NotNull'
DropIndex='DROP INDEX &TableName.&IndexName'
DropTable='DROP TABLE &TableOwner.&TableName'
DropView='DROP VIEW &TableOwner.&TableName'

[MS_BTRIEVE_SYNTAX]
CreateIndex='CREATE &UNIQUE INDEX &IndexName ON &TableOwner.&TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName'
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType'
DropIndex='DROP INDEX &TableName.&IndexName'
DropTable='DROP TABLE &TableOwner.&TableName'
DropView='DROP VIEW &TableOwner.&TableName'

[WATCOM50_SYNTAX]
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &NotNull ::Default'
Default='DEFAULT &default'
AlterForeignKey='ALTER TABLE &TableOwner.&TableName ADD FOREIGN KEY &KeyName (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName ON DELETE &DeleteRule'
AlterPrimaryKey='ALTER TABLE &TableOwner.&TableName ADD PRIMARY KEY (&ColumnName[,&ColumnName]...)'  
CreatePrimaryKey=', PRIMARY KEY (&ColumnName[,&ColumnName]...)'
CreateForeignKey=', FOREIGN KEY &KeyName (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName ON DELETE &DeleteRule'
DropPrimaryKey='ALTER TABLE &TableOwner.&TableName DELETE PRIMARY KEY'
DropForeignKey='ALTER TABLE &TableOwner.&TableName DELETE FOREIGN KEY &KeyName'   
DropIndex='DROP INDEX &IndexName'
RenameTable='ALTER TABLE &OldTableName RENAME &NewTableName'
RenameColumn='ALTER TABLE &TableName  ::RenameColElement'
RenameColElement='RENAME &OldColumnName TO &NewColumnName'
AddColumn='ALTER TABLE &TableOwner.&TableName ::AddColElement[, ::AddColElement ]...'
AddColElement=' ADD &ColumnName &DataType'
ModifyColumn='ALTER TABLE &TableOwner.&TableName ::ModifyColElement[, ::ModifyColElement ]...'
ModifyColElement='MODIFY &ColumnName &DataType ::Default'
DeleteColumn='ALTER TABLE &TableOwner.&TableName ::DeleteColElement[, ::DeleteColElement ]...'
DeleteColElement='DELETE &ColumnName'
PBSelectViewSyntax='select view_def from sys.systable where table_name = ''&ObjectName'' and table_type = 'VIEW' '
PBSelectProcSyntax='select proc_defn from SYS.SYSPROCEDURE JOIN SYS.SYSUSERPERMS where proc_name = ''&ObjectName'' and user_name = ''&ObjectOwner'''
ShowPlanSyntax='select plan('&sqlsub') from DUMMY'
AddUser='GRANT CONNECT TO &UserID IDENTIFIED BY &Password'
DefaultUserAuthority='GRANT RESOURCE TO &UserID'
ChangeUser='GRANT CONNECT TO &UserID IDENTIFIED BY &Password'
DeleteUser='REVOKE CONNECT FROM &UserID'
SelectUsers='SELECT USER_NAME FROM SYS.SYSUSERPERMS'
SelectTableUsers='SELECT if USER_GROUP='Y' then '*' || USER_NAME else USER_NAME endif FROM SYS.SYSUSERPERMS'
SelectGroups='SELECT USER_NAME FROM SYS.SYSUSERPERMS WHERE USER_GROUP='Y''
AddGroup='GRANT GROUP TO &GroupID'
DeleteGroup='REVOKE GROUP FROM &GroupID'
SelectMembers='SELECT MEMBER_NAME FROM SYS.SYSGROUPS WHERE GROUP_NAME='&sqlsub''
AddMembers='GRANT MEMBERSHIP IN GROUP &GroupID TO &UserID'
DeleteMembers='REVOKE MEMBERSHIP IN GROUP &GroupID FROM &UserID'
GetIdentity='Select @@identity from dummy'
GetCatalogIdentity='Select CNAME from SYS.SYSCOLUMNS where TNAME = ''&TableName'' and CREATOR = ''&TableOwner'' and DEFAULT_VALUE = 'autoincrement' and IN_PRIMARY_KEY = 'Y' '
SelectDefault='Select CNAME, DEFAULT_VALUE from SYS.SYSCOLUMNS where TNAME = ''&TableName'' and CREATOR = ''&TableOwner'' and DEFAULT_VALUE IS NOT NULL'

[QE_BTRIEVE_SYNTAX]
CreateIndex='CREATE &UNIQUE INDEX &IndexName ON &TableOwner.&TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName'
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &NotNull'
DropIndex='DROP INDEX &TableName.&IndexName'
DropTable='DROP TABLE &TableOwner.&TableName'
DropView='DROP VIEW &TableOwner.&TableName'

[MS_BTRIEVE_SYNTAX]
CreateIndex='CREATE &UNIQUE INDEX &IndexName ON &TableOwner.&TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName'
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType'
DropIndex='DROP INDEX &TableName.&IndexName'
DropTable='DROP TABLE &TableOwner.&TableName'
DropView='DROP VIEW &TableOwner.&TableName'


[CORE_SYNTAX]
AddColumn='ALTER TABLE &TableOwner.&TableName ADD ::AddColElement[, ::AddColElement ]...'
AddColElement='&ColumnName &DataType &Null'
CreateIndex='CREATE &UNIQUE INDEX &IndexName ON &TableOwner.&TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName &Descending'
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &NotNull'
DropIndex='DROP INDEX &TableName.&IndexName'
DropTable='DROP TABLE &TableOwner.&TableName'
DropView='DROP VIEW &TableOwner.&TableName'
GrantTablePrivilege='GRANT &Privilege[,&Privilege]... ON &TableOwner.&TableName TO &UserName[,&UserName]...'
RevokeTablePrivilege='REVOKE &Privilege[,&Privilege]... ON &TableOwner.&TableName FROM &UserName[,&UserName]...'
 
[IDMS_SYNTAX]
AddColumn='ALTER TABLE &TableOwner.&TableName ADD ::AddColElement[, ::AddColElement ]...'
AddColElement='&ColumnName &DataType &NotNull'
CreateIndex='CREATE &UNIQUE INDEX &IndexName ON &TableOwner.&TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName'
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &NotNull'
DropIndex='DROP INDEX &TableName.&IndexName'
DropTable='DROP TABLE &TableOwner.&TableName'
DropView='DROP VIEW &TableOwner.&TableName'
GrantTablePrivilege='GRANT ACCESS ON &TableOwner.&TableName TO &UserName[,&UserName]...'
RevokeTablePrivilege='REVOKE &Privilege[,&Privilege]... ON &TableOwner.&TableName FROM &UserName[,&UserName]...'
  
[Paradox_SYNTAX]
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType'
DropTable='DROP TABLE &TableOwner.&TableName'
DropIndex='DROP INDEX &TableName.&IndexName'
AddColumn='ALTER TABLE &TableOwner.&TableName ADD ::AddColElement[, ::AddColElement ]...'
AddColElement='&ColumnName &DataType &Null'

[FOXP25_SYNTAX]
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType'
DropTable='DROP TABLE &TableOwner.&TableName'
DropIndex='DROP INDEX &TableName.&IndexName'

[ACCESS_SYNTAX]
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType'
DropTable='DROP TABLE &TableOwner.&TableName'
CreateIndex='CREATE &UNIQUE INDEX &IndexName ON &TableOwner.&TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName'
DropIndex='DROP INDEX &TableName.&IndexName'

[DBASE_SYNTAX]
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType'
DropTable='DROP TABLE &TableOwner.&TableName'
DropIndex='DROP INDEX &TableName.&IndexName'

[Excel_SYNTAX]
CreateTable='CREATE TABLE &TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType'
DropTable='DROP TABLE &TableName'

[DB22_SYNTAX]
AddColumn='ALTER TABLE &TableOwner.&TableName ::AddColElement [ ::AddColElement ]...'
AddColElement='ADD &ColumnName &DataType &NotNull'
AlterForeignKey='ALTER TABLE &TableOwner.&TableName FOREIGN KEY &KeyName (&ColumnName[,&ColumnName]...) REFERENCES &RefTableName ON DELETE &DeleteRule'
AlterPrimaryKey='ALTER TABLE &TableOwner.&TableName PRIMARY KEY (&ColumnName[,&ColumnName]...)'  
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &NotNull'
CreatePrimaryKey=', PRIMARY KEY (&ColumnName[,&ColumnName]...)'
CreateForeignKey=', CONSTRAINT &KeyName FOREIGN KEY (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName ON DELETE &DeleteRule'
CreateIndex='CREATE &UNIQUE INDEX &IndexName ON &TableOwner.&TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName &Descending'
DropTable='DROP TABLE &TableOwner.&TableName'
DropView='DROP VIEW &TableOwner.&TableName'
DropIndex='DROP INDEX &IndexName'
DropPrimaryKey='ALTER TABLE &TableOwner.&TableName DROP PRIMARY KEY'
DropForeignKey='ALTER TABLE &TableOwner.&TableName DROP FOREIGN KEY &KeyName'   
GrantTablePrivilege='GRANT &Privilege[,&Privilege]... ON &TableOwner.&TableName TO &UserName[,&UserName]...'
RevokeTablePrivilege='REVOKE &Privilege[,&Privilege]... ON &TableOwner.&TableName FROM &UserName[,&UserName]...'
PBSelectViewSyntax='SELECT TEXT from SYSIBM.SYSVIEWS WHERE NAME = ''&ObjectName'' AND SEQNO = 1 AND CREATOR = ''&ObjectOwner'''

[EXTENDED_SYNTAX]
AddColumn='ALTER TABLE &TableOwner.&TableName ADD ::AddColElement[, ::AddColElement ]...'
AddColElement='&ColumnName &DataType &Null'
CreateIndex='CREATE &UNIQUE INDEX &IndexName ON &TableOwner.&TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName &Descending'
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &NotNull'
DropIndex='DROP INDEX &TableName.&IndexName'
DropTable='DROP TABLE &TableOwner.&TableName'
DropView='DROP VIEW &TableOwner.&TableName'
ProcedureCall='{call &ProcedureName [(::Parameter[, ::Parameter]...)]}'
GrantTablePrivilege='GRANT &Privilege[,&Privilege]... ON &TableOwner.&TableName TO &UserName[,&UserName]...'
RevokeTablePrivilege='REVOKE &Privilege[,&Privilege]... ON &TableOwner.&TableName FROM &UserName[,&UserName]...'

[INGRES_SYNTAX]
CreateIndex='CREATE &UNIQUE INDEX &IndexName ON &TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName'
CreateTable='CREATE TABLE &TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &NotNull'
DropIndex='DROP INDEX &IndexName'
DropTable='DROP TABLE &TableName'
DropView='DROP VIEW &TableName'
GrantTablePrivilege='GRANT &Privilege[,&Privilege]... ON &TableName TO &UserName[,&UserName]...'
RevokeTablePrivilege='REVOKE &Privilege[,&Privilege]... ON &TableName FROM &UserName[,&UserName]...'

[MINIMUM_SYNTAX]
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &NotNull'
DropTable='DROP TABLE &TableOwner.&TableName'

[QE_NETWARE_SYNTAX]
AddColElement=' ADD &ColumnName &DataType'
CreateIndex='CREATE &UNIQUE INDEX &IndexName ON &TableOwner.&TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName &Descending'
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &NotNull'
DropIndex='DROP INDEX &TableName.&IndexName'
DropTable='DROP TABLE &TableOwner.&TableName'
DropView='DROP VIEW &TableOwner.&TableName'
AddColumn='ALTER TABLE &TableOwner.&TableName ::AddColElement[, ::AddColElement ]...'
ModifyColumn='ALTER TABLE &TableOwner.&TableName ::ModifyColElement[, ::ModifyColElement ]...'
ModifyColElement='MODIFY &ColumnName &DataType'

[Rdb_SYNTAX]
AlterForeignKey='ALTER TABLE &TableName ADD CONSTRAINT FOREIGN KEY (&ColumnName[,&ColumnName]...) REFERENCES &RefTableName CONSTRAINT &KeyName'
AlterPrimaryKey='ALTER TABLE &TableName ADD CONSTRAINT PRIMARY KEY (&ColumnName[,&ColumnName]...)'  
CreateIndex='CREATE &UNIQUE INDEX &IndexName ON &TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName'
CreateTable='CREATE TABLE &TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &NotNull'
DropIndex='DROP INDEX &IndexName'
DropPrimaryKey='ALTER TABLE &TableName DROP CONSTRAINT &keyName'
DropForeignKey='ALTER TABLE &TableName DROP CONSTRAINT FOREIGN KEY &KeyName'   
DropTable='DROP TABLE &TableName'
DropView='DROP VIEW &TableName'
AddColumn='ALTER TABLE &TableName ADD ::AddColElement'
AddColElement='&ColumnName &DataType &NotNull'
ModifyColumn='ALTER TABLE &TableName ::ModifyColElement'
ModifyColElement='ALTER &ColumnName &DataType'
DeleteColumn='ALTER TABLE &TableName ::DeleteColElement'
DeleteColElement='DROP &ColumnName'
GrantTablePrivilege='GRANT &Privilege[,&Privilege]... ON &TableName TO &UserName[,&UserName]...'
RevokeTablePrivilege='REVOKE &Privilege[,&Privilege]... ON &TableName FROM &UserName[,&UserName]...'
CreatePrimaryKey=', PRIMARY KEY (&ColumnName[,&ColumnName]...)'
CreateForeignKey=', FOREIGN KEY &KeyName (&ColumnName[,&ColumnName]...) REFERENCES &RefTableName'
PBSelectProcSyntax='SELECT rdb$routine_source FROM rdb$routines WHERE rdb$routine_name = ''&ObjectName'' ' 
PBSelectViewSyntax='SELECT rdb$view_source FROM rdb$relations WHERE rdb$relation_name = ''&ObjectName'' ' 
PBFKeyListSyntax='SELECT '''',i.rdb$relation_name,f.rdb$field_name,f.rdb$field_position,1,1,f.rdb$constraint_name FROM rdbvms$relation_constraints c,rdbvms$relation_constraint_flds f,rdbvms$interrelations i WHERE f.rdb$field_position=(SELECT f2.rdb$field_position FROM rdbvms$relation_constraints c2,rdbvms$relation_constraint_flds f2 WHERE c2.rdb$relation_name=i.rdb$relation_name AND c2.rdb$constraint_name=f2.rdb$constraint_name AND f2.rdb$field_name=i.rdb$field_name) AND c.rdb$constraint_name=f.rdb$constraint_name AND c.rdbvms$refd_constraint_name=i.rdbvms$entity_name1 AND i.rdbvms$usage='Constraint' AND c.rdbvms$constraint_type=3 AND c.rdb$relation_name = ''&TableName'' ORDER BY 2,4'


[SQLBase_SYNTAX]
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &NotNull'
DropTable='DROP TABLE &TableOwner.&TableName'

[SYBASE_SYNTAX]
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &Null'
CreateIndex='CREATE &UNIQUE INDEX &IndexName ON &TableOwner.&TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName &Descending'
DropTable='DROP TABLE &TableOwner.&TableName'
DropView='DROP VIEW &TableOwner.&TableName'
DropIndex='DROP INDEX &TableName.&IndexName'
RenameTable='EXECUTE sp_rename &OldTableName, &NewTableName'
RenameColumn='EXECUTE sp_rename ::RenameColElement'
RenameColElement='"&TableName.&OldColumnName", &NewColumnName'
AddColumn='ALTER TABLE &TableOwner.&TableName ADD ::AddColElement[, ::AddColElement ]...'
AddColElement='&ColumnName &DataType &Null'
GrantTablePrivilege='GRANT &Privilege[,&Privilege]... ON &TableOwner.&TableName TO &UserName[,&UserName]...'
RevokeTablePrivilege='REVOKE &Privilege[,&Privilege]... ON &TableOwner.&TableName FROM &UserName[,&UserName]...'
PBOuterJoin='&FirstJoin &OuterJoin1&Operator&OuterJoin2 &SecondJoin'
PBOuterJoinOperator='*'
PBSelectProcSyntax='select text from dbo.syscomments where id = object_id(''&ObjectOwner.&ObjectName'')'
PBSelectViewSyntax='select text from dbo.syscomments where id = object_id(''&ObjectOwner.&ObjectName'')'

[SearchServer_SYNTAX]
CreateIndex='VALIDATE INDEX &TableOwner.&TableName '
ColumnIndex='&ColumnName '
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType'
DropTable='DROP TABLE &TableOwner.&TableName'
AddColumn='ALTER TABLE &TableOwner.&TableName ::AddColElement[, ::AddColElement ]...'
AddColElement=' ADD &ColumnName &DataType'

[XDB_SYNTAX]
AlterPrimaryKey='ALTER TABLE &TableOwner.&TableName PRIMARY KEY (&ColumnName[,&ColumnName]...)'
;AlterForeignKey='ALTER TABLE &TableOwner.&TableName FOREIGN KEY &KeyName (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName ON DELETE &DeleteRule'
DropIndex='DROP INDEX &IndexName'
DropPrimaryKey='ALTER TABLE &TableOwner.&TableName DROP PRIMARY KEY'
RenameColumn='ALTER TABLE &TableName ::RenameColElement'
RenameColElement='RENAME &OldColumnName &NewColumnName'
ModifyColumn='ALTER TABLE &TableOwner.&TableName ::ModifyColElement[, ::ModifyColElement ]...'
ModifyColElement='MODIFY &ColumnName &DataType'

; ********************************************************************
; Date Formats
; ********************************************************************
[DEFAULT_DATETIME]
PBDateFmt=''{d '\'yyyy-mm-dd\'' }''
PBTimeFmt=''{t '\'hh:mm:ss\''}''
PBDateTimeFmt=''{ts '\'yyyy-mm-dd hh:mm:ss.ffffff\''}''

[ISO_DATETIME]
PBDateFmt='\'yyyy-mm-dd\''
PBTimeFmt='\'hh.mm.ss\''
PBDateTimeFmt='\'yyyy-mm-dd-hh.mm.ss.ffffff\''

[STANDARD_DATETIME]
PBDateFmt='\'yyyy-mm-dd\''
PBTimeFmt='\'hh:mm:ss\''
PBDateTimeFmt='\'yyyy-mm-dd hh:mm:ss.ffffff\''

[ORA7_DATETIME]
PBDateFmt=''{d '\'yyyy-mm-dd\'' }''
PBTimeFmt=''{t '\'hh:mm:ss\''}''
PBDateTimeFmt=''{ts '\'yyyy-mm-dd hh:mm:ss\''}''


; ********************************************************************
; Functions
; ********************************************************************

[WATCOM_FUNCTIONS]
AggrFuncs=avg(),count(),list(),max(),min(),sum()
Functions=length(),similar(),soundex(),substr(),string(),date(),dateformat(),datetime(),day(),days(),dow(),hour(),hours(),minute(),minutes(),second(),seconds(),month(),months(),now(*),today(*),weeks(),year(),years(),ymd(),abs(),ifnull(),isnull(),number(*),remainder(),mod()

[QE_BTRIEVE_FUNCTIONS]
Functions={fn char()},{fn concat()},{fn curdate()},day(),{fn floor()},{fn ifnull()},left(),ltrim(),lower(),mod(),month(),right(),rtrim(),substr(),upper(),year()
AggrFuncs=avg(),count(),max(),min(),sum()

[MS_BTRIEVE_FUNCTIONS]
Functions=concat(),curdate(),curtime(),database(),dayofmonth(),dayofweek(),left(),ltrim(),length(),locate(),lcase(),mod(),month(),right(),rtrim(),substring(),ucase(),user(),year()
AggrFuncs=avg(),count(),max(),min(),sum()

[IDMS_FUNCTIONS]
Functions=cast(),char(),date(),day(),days(),decimal(),digits(),float(),hex(),hour(),integer(),length(),microsecond(),minute(),month(),profile(),second(),substr(),time(),timestamp(),year()
AggrFuncs=avg(),count(),max(),min(),sum()

[DB22_FUNCTIONS]
AggrFuncs=avg(),count(),max(),min(),sum()
Functions=blob(),char(),date(),day(),days(),decimal(),digits(),double(),float(),hex(),hour(),integer(),length(),microsecond(),minute(),month(),nullif(),posstr(),raise_error(),second(),substr(),time(),timestamp(),translate(),value(),vargraphic(),year()

[DEFAULT_FUNCTIONS]
AggrFuncs=ave(),count(),max(),min(),sum()

[SearchServer_FUNCTIONS]
Functions=relevance()

[SYBASE_FUNCTIONS]
AggrFuncs=ave(),sum()
Functions=substr()

[TEXT_FUNCTIONS]
Functions=concat(),curdate(),curtime(),database(),dayofmonth(),dayofweek(),left(),ltrim(),length(),locate(),lcase(),mod(),month(),right(),rtrim(),substring(),ucase(),user(),year()
AggrFuncs=avg(),count(),max(),min(),sum()

; ********************************************************************
; Special data type information
; special data type information is dbmstype = pbtype
;         where dbmstype is the data source-dependent data type name and pbtype
;         is the PowerBuilder string representation of the PB data type (table is in pbodbc5.c)
; ********************************************************************

[WATCOM_SPECIALDATATYPES]
SpecialDataTypes='char=DBI_TYPECHAR=1'

[ACCESS_SPECIALDATATYPES]
SpecialDataTypes='text=DBI_TYPEVCHAR=12,memo=DBI_TYPESTRINGLONG=-1;0'

[DBASE_SPECIALDATATYPES]
SpecialDataTypes='char=DBI_TYPEVCHAR=12,float=DBI_TYPEDECIMAL=100;10,numeric=DBI_TYPEDECIMAL=3;5,memo=DBI_TYPESTRINGLONG=-1;0'

[HYPERSTAR_SPECIALDATATYPES]
SpecialDataTypes='MONEY=DBI_TYPEMONEY=100'

[IDMS_SPECIALDATATYPES]
SpecialDataTypes='char=DBI_TYPECHAR=1'

[INFORMIX_SPECIALDATATYPES]
SpecialDataTypes='MONEY=DBI_TYPEMONEY=100,SERIAL=DBI_ULONG=101'

[PARADOX_SPECIALDATATYPES]
SpecialDataTypes='FORMATTED MEMO=DBI_TYPEBLOB=100,GRAPHIC=DBI_TYPEBLOB=101,OLE=DBI_TYPEBLOB=102,CURRENCY=DBI_TYPEFLOAT=103

[QE_BTRIEVE_SPECIALDATATYPES]                                                                   
SpecialDataTypes='AUTOINCREMENT(2)=DBI_TYPESINT=100,AUTOINCREMENT(4)=DBI_TYPEINT=101,MONEY=DBI_TYPEDECIMAL=102;10,ZSTRING=DBI_TYPEVCHAR=103,LOGICAL(2)=DBI_TYPEBIT=104,BFLOAT(4)=DBI_TYPEFLOAT=105,BFLOAT(8)=DBI_TYPEFLOAT=106,NUMERICSTS=DBI_TYPEDECIMAL=107;10,'

[QE_NETWARESQL_SPECIALDATATYPES]                                                                        
SpecialDataTypes='AUTOINC=DBI_TYPESINT=100,AUTOINC(4)=DBI_TYPEINT=101,MONEY=DBI_TYPEDECIMAL=102;10,ZSTRING=DBI_TYPEVCHAR=103,LOGICAL(2)=DBI_TYPEBIT=104,BFLOAT=DBI_TYPEFLOAT=105,BFLOAT(8)=DBI_TYPEFLOAT=106,NUMERICSTS=DBI_TYPEDECIMAL=107;10,BIT=DBI_TYPEBIT=108,LVAR=DBI_TYPESTRINGLONG=109'

[SQLBASE_SPECIALDATATYPES]
SpecialDataTypes='char=DBI_TYPECHAR=1,number=DBI_TYPEFLOAT=100'

[SYBASE_SPECIALDATATYPES]
SpecialDataTypes='timestamp=DBI_TYPETIMESTAMP=100,sysname=DBI_TYPEVCHAR=101,money=DBI_TYPEMONEY=102'

; ghw 3/19/9 Delta 28399 added this section 
[MS_SQLSERVER6_SPECIALDATATYPES]
SpecialDataTypes='timestamp=DBI_TYPETIMESTAMP=100,sysname=DBI_TYPEVCHAR=101,money=DBI_TYPEMONEY=102,int identity=DBI_TYPEINT=103,decimal() identity=DBI_TYPEDECIMAL=104;5,numeric() identity=DBI_TYPEDECIMAL=105;5,smallint identity=DBI_TYPESINT=106,tinyint identity=DBI_TYPESINT=107'


; ********************************************************************
; DBMS Driver / DBMS Settings
; 
; Powerbuilder takes advantage of extended capabilities of ODBC drivers
; and navigates around shortcomings by utilizing pbodb040.ini file
; entries in the data source, DBMS Driver, or DBMS section.  If no
; sections exist for a particular connection then Powerbuilder runs
; as an ODBC compliant client and extensions that might be available
; cannot not be utilized.
;
; The search algorithm for the entries is:
;      IF section and entry for are present current datasource
;      THEN use entry value
;      ELSE IF section corresponding to DBMS_Name Driver_Name exist
;      THEN use entry value if it exist
;      ELSE IF section corresponding to DBMS_Name exist
;      THEN use entry value if it exist
;
; If PowerBuilder is search for SQL syntax and no entry is found in
; the above search Powerbuilder searches the syntax section which
; corresponds to the current datasources SQL Grammar conformance level.
;
; SECTION Headings - DataSource_Name (None are in ini file by default
;                    but if you need to override the more general
;                    setting of DBMS_Driver or DBMS_Name you would put
;                    in a data source specific section
;
;                  - DBMS_Name Driver_Name (Driver_Name is stripped of
;                    .dll extention) 
;
;                  - DBMS_Name (DBMS name returned by the SQLGetInfo call)                                       
; 
; Entries which appear under these section headings include:
;
;BlobSegmentSize=4096 - buffer size to use for SQLPutData when updating
;   blob fields, default is 4096
;DelimitIdentifier='NO' - do not delimit identifiers in SQL syntax,
;   default is YES if datasource returns a identifier delimiting
;   character
;ForeignKeyDeleteRule=Option text (option key word), option text
;   (option key word) - specifiy up to 3 options for foreign
;   key constrain action on delete of primary key,  if the (option
;   key word ) is not found then the option text is assumed to be
;   the key word  
;IdentifierCase=3 - overrides SQLGetInfo Identifier case value
;   4 - case insensitive, 3 - mixed case, 2 - lower, 1 - upper
;PBCatalogOwner='Powerbuilder_Catalog_Owner'- Powerbuilder catalog tables
;   are referenced with this owner, default if this entry is not found
;   is the signon user
;PBConCatIndex='NO' - do not use concatenated indexes, used when
;   creating PowerBuilder catalogs, default is 'YES'
;PBDateTime='name of section which contains date, time, and datetime
;            formats'
;PBDateTimeInvalidInSearch='YES' - data windows does not use datetime
;   in where criteria, default value is 'NO'
;PBDWDynamic='NO' - data windows needs second connect to handle retrieve
;   as needed data windows, default is 'YES'
;PBEscapeChar='NO' - do not escape meta characters _ or % when making
;   ODBC catalog api calls, default is 'YES'
;PBFileManager='YES'    - driver is a file manager i.e. Dbase, used when
;   creating PowerBuilder catalogs, Default is 'NO'
;PBFunctions='name of section which contains native function names'
;PBMaxBlobSize='21474836547' only used by MS SQLServer for read blob 
;   statement option
;PBMaxTextSize='32767' only used by MS SQLServer for Text fields 
;   limit      
;PBNoCatalog='YES' - do not use Powerbuilder catalogs, default is 'NO'
;PBNoRequiredFields='YES' - do not set not null attribute when creating
;   or altering table definitions, default is 'NO'
;PBNonStdChars='- +....' allow up to 15 non standard SQL identifier
; characters to be treated as valid chars in identifiers.  Default is
; no non standard chars
;PBObjectIDs='YES'- use SQLServer/Sybase object ids for Powerbuilder
;   catalog entities, default is 'NO'
;PBParseProcs='NO' - do not parse execute procedure stmts from script painter
;PBQualifierIsOwner='YES' - use the table qualifier returned by SQLTables
;   as the qualifier for the table name,  default is 'NO' use the table
;   owner returned by  SQLTables as the qualifier for the table name
;PBQualifiersOnDesc='YES' - the column name returned by SQLDescribeCol
;   may be fully qualified, Default is NO
;PBReadOnly='YES' - Powerbuilder runs in read only mode, Powerbuilder
;   catlaogs are accessed if they exist but not updated, default is 'NO'
;PBSyntax='name of section which contains SQL syntax'
;PBSpecialDataTypes='name of section which contains special data types'
;PBSupportBindSelect='YES' - support use of bind variables in select
;  criteria.  The default is yes. Note if the data source does not support
;  the SQLDescribeParam function then PowerBuilder will not attempt to use 
;  bind variables. This setting can be overridden by disablebind in DBParm
;PBSupportBindUpdate='YES' - support use of bind variables in insert, update,
;  and delete SQL statements.  The default is yes.  See PBSupportBindSelect
;  for comments
;PBSupportDBBind='YES' - support use of bind variables in rpc and pipeline
;  SQL statements.  The default is yes. Note if the data source does not support
;  the SQLSetParam function then PowerBuilder will not attempt to use 
;  bind variables;
;PBSystemOwner='System_Owner' - entities returned by SQLTables which
;   match this owner are treated as system tables
;PBTableDot=0  - a decimal number,  if 0 then table names which include
;   a "." are excluded from the table list, otherwise the table are 
;   listed
;PBTableOwner='NO' - do not qualify table names, default is 'YES'  
;PBTimeInvalidInSearch='YES' - data windows does use time in where
;   criteria; default is 'NO'
;PBTrimCharColumns='YES' - trim trailing blanks after fetching character
;   data, default is NO
;PBTrimCatCharColumns='YES'- trim trailing blanks on character data 
;   returned from catalog API calls, default is 'NO'
;PBUseProcOwner='YES' - retain the owner id of a stored procedure name when
;	submitting the statement for execution or prepare ie {call ownerid.procname}
;   or {call procname}, default is 'NO'			(Delta 22442)
;SQLSyntaxQualifiers=1 - only qualify sql identifiers with one qualifier,
;   default is 0 which means use the PowerBuilder default rules to qualify
;   identifiers
;
; The Syntax sections identified by the PBSyntax entry values are used
; to define SQL syntax substitution patterns for SQL Data definition
; statements generated by PowerBuilder painters. Substitution varibles are
; preceded by an &, elements which are exploded in another entry are preceded
; by ::, and repeating entities are followed by [, entity ]...  If a 
; substitution variable is not included in the pattern then the generated
; does not contain the substitution value.  For example if &TableName is
; not in the CreateTable pattern then the generated syntax does not contain
; a table owner qualifier.
;
; Syntax entries and their substitution variables include:
;
;AddColumn=
;   &TableOwner.&TableName ::AddColElement[, ::AddColElement ]... - add column
;   to an existing table syntax
;AddColElement=
;   &ColumnName &DataType &Null
;AlterForeignKey=
;   &TableOwner &TableName &KeyName (&ColumnName[,&ColumnName]...) &RefTableName
;AlterPrimaryKey=&TableOwner &TableName (&ColumnName[,&ColumnName]...)
;CreateForeignKey=
;   &KeyName (&ColumnName[,&ColumnName]...) &RefTableName
;CreateIndex=
;   &UNIQUE &IndexName &TableOwner &TableName (::ColumnIndex[, ::ColumnIndex]...)'
;ColumnIndex= 
;   &ColumnName &Descending or &Ascending - if &descending is used then
;   PowerBuilder allows you to create indexes with descending order otherwise
;   only ascending indexes can be generated  
;CreatePrimaryKey= 
;   (&ColumnName[,&ColumnName]...)
;CreateTable= 
;   &TableOwner &TableName (::ColumnElement[, ::ColumnElement]...)
;ColumnElement='
;   &ColumnName &DataType &Null or &NotNull     - if &Null is used then
;   every column that allows nulls will have the NULL keyword,  if 
;   &NotNull is used then any column that does not allow nulls will
;   have the NOT NULL keywords for that column definition 
;DeleteColumn=
;   &TableName ::DeleteColElement;
;DeleteColElement=
;   &ColumnName
;DropForeignKey=
;   &TableOwner.&TableName &KeyName   
;DropIndex=
;   &TableName &IndexName'
;DropPrimaryKey=
;   &TableOwner.&TableName 
;DropTable=
;   &TableOwner &TableName
;DropView=
;   &TableOwner &TableName
;GrantTablePrivilege=
;   &Privilege[,&Privilege]... &TableOwner &TableName &UserName[,&UserName]...
;ModifyColumn=
;   &TableName ::ModifyColElement
;ModifyColElement=
;   &ColumnName &DataType
;PBOuterJoin=
;   &FirstJoin &OuterJoin1 &Operator &OuterJoin2 &SecondJoin' - native
; outer join syntax,  if not specified PowerBuilder uses the ODBC escape
; sequencefor outer joins
;PBOuterJoinOperator='*'
;PBSelectProcSyntax=
;   &ObjectOwner &ObjectName - SQL syntax to retrieve procedure definition text
;PBSelectViewSyntax=
;   &ObjectOwner &ObjectName - SQL syntax to retrieve view definition text
;RenameColumn=
;   ::RenameColElement - rename column syntax
;RenameColElement=
;   &TableName.&OldColumnName &NewColumnName
;RenameTable=
;   &OldTableName &NewTableName - rename table syntax
;RevokeTablePrivilege=
;   &Privilege[,&Privilege]... &TableOwner &TableName &UserName[,&UserName]...
;ShowPlanSyntax=
;   &sqlstmt - the sql statement that you want execution plan info for, it
;   must return 1 column dingle row char data formatted as you want it 
;   displayed
;
; The Datetime sections referenced by the PBDateTime entry value define
; the formats for date, time, and datetime formats that Powerbuilder uses
; in SQL syntax these datatypes.  If no Datetime section is specified
; Powerbuilder uses the DEFAULT_DATETIME section.  For maximum portability
; use the ODBC escape sequence which is the default.  For maximum performance
; use the native format for the data source.
;
; DateTime entries include:
;
;PBDateFmt='\'yyyy-mm-dd\'' - date format
;PBTimeFmt='\'hh.mm.ss\'' - time format
;PBDateTimeFmt='\'yyyy-mm-dd-hh.mm.ss.ffffff\'' - datetime format
;
; The Functions section referenced by the PBFunctions entry value is used
; by the Powerbuilder painters to populate a dropdown list of functions
; for generating SQL statements.  If there is no PBFunctions entry for 
; a data source or DBMS/driver then Powerbuilder constructs a list with
; the ODBC escape sequences for all supported functions.  For maximum
; portability use the escape sequences.  For readability, performance,
; and extended functions define a native function section.
;
; Function entries include:
;
;Functions=comma separated list
;AggrFuncs=comma separated list - aggregate function names
;
;
; Special data type section referenced by the PBSpecialDataTypes is 
; required by data sources that map a single ODBC SQL type to multiple
; data source dependent data type names.  For example SQLServer's driver
; maps ODBC's SQL_VARBINARY to data types "varbinary" and "timestamp". 
; PowerBuilder uses the special data type information generate the 
; correct syntax for the the database painter table definition and to
; bind the data appropriately for datawindows.
;
; Special data type is a single list entry with comma separated values
; in the format:
;
;     data_source_dependent_name=Powerbuilder_internal_type=Extended_type
;     (;default_length=ODBCSQL_Paramtype;Param_Precision;Param_Scale).
;
; The items within parens are optional.  If you want to specify 
; ODBCSQL_Paramtype you must then specify default length since the items
; are positional.
;
; If the extended type is less than 100 Powerbuilder takes the default
; bind information for the ODBC SQL type,  otherwise Powerbuilder obtains
; additional information to bind the column using the data source 
; dependent data type name.  A sample entry follows.
;
;SpecialDataTypes='timestamp=DBI_TYPETIMESTAMP=100,sysname=DBI_TYPEVCHAR=101'
;
; ********************************************************************
