; ********************************************************************
; 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]
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)'

[Sybase SQL Anywhere]
PBSyntax='WATCOM50_SYNTAX'
PBDateTime='STANDARD_DATETIME'
PBFunctions='WATCOM_FUNCTIONS'
PBDefaultValues='autoincrement,current date,current publisher,current time,current timestamp,current user,last user,sqlcode,sqlstate,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)'
TableListType='GLOBAL TEMPORARY'

[Adaptive Server Anywhere]
PBSyntax='WATCOM50_SYNTAX'
PBDateTime='STANDARD_DATETIME'
PBFunctions='ASA_FUNCTIONS'
PBDefaultValues='autoincrement,current date,current publisher,current time,current timestamp,current user,last user,sqlcode,sqlstate,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)'
TableListType='GLOBAL TEMPORARY'

[Adaptive Server IQ]
PBSyntax='WATCOM50_SYNTAX'
PBDateTime='STANDARD_DATETIME'
PBFunctions='ASA_FUNCTIONS'
PBDefaultValues='autoincrement,current date,current publisher,current time,current timestamp,current user,last user,sqlcode,sqlstate,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)'
TableListType='GLOBAL TEMPORARY'

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

; 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 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 2.1 DB2CLI
[DB2/2]
PBCatalogOwner='PBCATOWN'
PBSyntax='DB2CS_SYNTAX'
PBDateTime='ISO_DATETIME'
PBFunctions='DB2CS_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='DB2NT_SYNTAX'
PBDateTime='ISO_DATETIME'
PBFunctions='DB2CS_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='DB2CS_SYNTAX'
PBDateTime='ISO_DATETIME'
PBFunctions='DB2CS_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='DB2CS_SYNTAX'
PBDateTime='ISO_DATETIME'
PBFunctions='DB2CS_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='DB2CS_SYNTAX'
PBDateTime='ISO_DATETIME'
PBFunctions='DB2CS_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='DB2CS_SYNTAX'
PBDateTime='ISO_DATETIME'
PBFunctions='DB2CS_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='DB2CS_SYNTAX'
PBDateTime='ISO_DATETIME'
PBFunctions='DB2CS_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='DB2CS_SYNTAX'
PBDateTime='ISO_DATETIME'
PBFunctions='DB2CS_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 Client Access/400 ODBC Driver
[DB2/400 SQL]
PBSyntax='DB24_SYNTAX'
PBDateTime='ISO_DATETIME'
DelimitIdentifier='YES'
IdentifierCase=3
ForeignKeyDeleteRule='Disallow if Dependent Rows Exist (RESTRICT), Delete any Dependent Rows (CASCADE), Set Dependent Columns to NULL (SET NULL), Set Dependent Columns to Default (SET DEFAULT)'
PBSystemOwner='NULLID'
;  Uncomment PBCatalogOwner if you want all PB users to share a common PB extended catalog 
;PBCatalogOwner=<collection name>        

; 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'
PBSyntax='INFORMIX_SYNTAX'
PBBlobDynamic='YES'
PBPrimaryKeyName='YES'

; 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='MS_SQLSERVER_SYNTAX'
PBDateTime='MSSQLSERVER_DATETIME'
PBFunctions='SYBASE_FUNCTIONS'
PBSpecialDataTypes='SYBASE_SPECIALDATATYPES'
PBObjectIDs='YES'
PBMaxBlobSize='32767'
PBMaxTextSize='32767'
PBDWDynamic='NO'
PBPrimaryKeyName='YES'
Block=1
SQLSrvrTSPrefix='0x'
PBUseProcOwner='YES'

; 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'
PBSyntax='OR7_Syntax'
PBPrimaryKeyName='YES'

; QE Oracle7 driver
[ORACLE QEOR706]
PBCatalogOwner='SYSTEM'
PBSystemOwner='SYS'
PBDateTime='NO_MSECS_DATETIME'
IdentifierCase=3
PBParseProcs='NO'
PBSyntax='OR7_Syntax'
PBPrimaryKeyName='YES'

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

; Oracle 7 ODBC driver
[Oracle7]
PBCatalogOwner='SYSTEM'
PBSystemOwner='SYS'
PBDateTime='NO_MSECS_DATETIME'
IdentifierCase=3
PBParseProcs='NO'
PBPrimaryKeyName='YES'

; Oracle 8 ODBC driver
[Oracle8]
PBCatalogOwner='SYSTEM'
PBSystemOwner='SYS'
PBDateTime='NO_MSECS_DATETIME'
IdentifierCase=3
PBParseProcs='NO'
PBSyntax='OR7_Syntax'
PBPrimaryKeyName='YES'

[Oracle 8]
PBCatalogOwner='SYSTEM'
PBSystemOwner='SYS'
PBDateTime='NO_MSECS_DATETIME'
IdentifierCase=3
PBParseProcs='NO'
PBSyntax='OR7_Syntax'
PBPrimaryKeyName='YES'

; 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 2.0 pack
[PARADOX ODBCJT16]
PBSyntax='Paradox_SYNTAX'
PBCatNdxIsTblName='YES'
PBConCatIndex='NO'
PBFileManager='YES'
PBNoCatalog='YES'
PBNoRequiredFields='YES'
PBTrimCharColumns='YES'
PBTrimCatCharColumns='YES'
IdentifierQuoteChar='"'
DelimitIdentifier='YES'

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

;Platinum driver for InfoSession
[PLATINUM InfoSession INTODBC]
PBEscapeChar='NO'
PBNoCatalog='YES'
PBDateTime='DEFAULT_DATETIME'

;RedBrick 16-bit
[Red Brick Warehouse RBODBC]
PBSpecialDataTypes='REDBRICK_SPECIALDATATYPES'

;RedBrick v4.0.6
[Red Brick Warehouse RBODBC32]
PBSpecialDataTypes='REDBRICK_SPECIALDATATYPES'

;RedBrick v5.1.x
[Red Brick Warehouse RB32ODBC]
PBSpecialDataTypes='REDBRICK_SPECIALDATATYPES'

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

; 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 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='32767'
PBMaxTextSize='32767'
PBDWDynamic='NO'
SQLSrvrTSPrefix='0x'
PBTrimCatCharColumns='YES'
PBUseProcOwner='YES'

[Sybase SQL Server]
PBCatalogOwner='dbo'
PBSyntax='SYBASE_SYNTAX'
PBDateTime='DEFAULT_DATETIME'
PBFunctions='SYBASE_FUNCTIONS'
PBSpecialDataTypes='SYBASE_SPECIALDATATYPES'
PBObjectIDs='YES'
PBMaxBlobSize='32767'
PBMaxTextSize='32767'
PBDWDynamic='NO'
SQLSrvrTSPrefix='0x'
PBTrimCatCharColumns='YES'
PBUseProcOwner='YES'

; 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 ::Default'
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' ' 
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'
 
[WATCOM50_SYNTAX]
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &NotNull ::Default'
Default='DEFAULT &default'
NoDefault='DEFAULT NULL'
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 &TableName.&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 ::Default'
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')'
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'
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'
GetServerTime='Select now(*)'

[SYBASE_SYNTAX]
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &NotNull'
CreateIndex='CREATE &UNIQUE INDEX &IndexName ON &TableOwner.&TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName'
DropIndex='DROP INDEX &TableName.&IndexName'
AlterForeignKey='ALTER TABLE &TableOwner.&TableName ADD CONSTRAINT &KeyName  FOREIGN KEY (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName'
AlterPrimaryKey='ALTER TABLE &TableOwner.&TableName ADD PRIMARY KEY (&ColumnName[,&ColumnName]...)'  
CreatePrimaryKey=', PRIMARY KEY (&ColumnName[,&ColumnName]...)'
CreateForeignKey=', CONSTRAINT &KeyName FOREIGN KEY (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName'
DropTable='DROP TABLE &TableOwner.&TableName'
DropView='DROP VIEW &TableOwner.&TableName'
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'') and number=&ObjectNumber'
PBSelectViewSyntax='select text from dbo.syscomments where id = object_id(''&ObjectOwner.&ObjectName'')'
GetIdentity='Select @@identity'
GetServerTime='Select getdate()'
; GetIdentity='Select max(IDENTCOL) from &TableName'
; Alternative technique if table has insert trigger associated with it.

[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]...'

[INFORMIX_SYNTAX]
AddColumn='ALTER TABLE &TableOwner.&TableName ADD (::ColumnElement[, ::ColumnElement ]...)'
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 &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]...'
DeleteColumn='ALTER TABLE &TableOwner.&TableName ::DeleteColElement[, ::DeleteColElement ]...'
DeleteColElement='DROP &ColumnName'
PBSelectViewSyntax='select viewtext from sysviews where tabid = (select tabid from systables where tabname = ''&ObjectName'')'
PBSelectProcSyntax='select data from informix.sysprocbody WHERE datakey = 'T' AND procid = (SELECT procid FROM informix.sysprocedures WHERE informix.sysprocedures.procname = ''&ObjectName'')'
AlterPrimaryKey='ALTER TABLE &TableOwner.&TableName ADD CONSTRAINT (PRIMARY KEY (&ColumnName[,&ColumnName]...) CONSTRAINT &KeyName)'  
AlterForeignKey='ALTER TABLE &TableOwner.&TableName ADD CONSTRAINT (FOREIGN KEY (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName CONSTRAINT &KeyName)'
CreatePrimaryKey=', PRIMARY KEY (&ColumnName[,&ColumnName]...) CONSTRAINT &KeyName'
CreateForeignKey=', FOREIGN KEY (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName CONSTRAINT &KeyName'
DropPrimaryKey='ALTER TABLE &TableOwner.&TableName DROP CONSTRAINT &KeyName'
DropForeignKey='ALTER TABLE &TableOwner.&TableName DROP CONSTRAINT &KeyName' 
 
[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'
AddColumn='ALTER TABLE &TableOwner.&TableName ::AddColElement [ ::AddColElement ]...'
AddColElement='ADD COLUMN &ColumnName &DataType &NotNull'
DeleteColumn='ALTER TABLE &TableName ::DeleteColElement'
DeleteColElement='DROP COLUMN &ColumnName'
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'

[DB2CS_SYNTAX]
AddColumn='ALTER TABLE &TableOwner.&TableName ::AddColElement [ ::AddColElement ]...'
AddColElement='ADD &ColumnName &DataType &NotNull'
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'
AlterForeignKey='ALTER TABLE &TableOwner.&TableName FOREIGN KEY &KeyName (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName ON DELETE &DeleteRule'
AlterPrimaryKey='ALTER TABLE &TableOwner.&TableName PRIMARY KEY (&ColumnName[,&ColumnName]...)'  
CreateIndex='CREATE &UNIQUE INDEX &TableOwner.&IndexName ON &TableOwner.&TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName &Descending'
DropTable='DROP TABLE &TableOwner.&TableName'
DropView='DROP VIEW &TableOwner.&TableName'
DropIndex='DROP INDEX &IndexOwner.&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'''
DeleteColumn=' '
DeleteColElement=' '

[DB2NT_SYNTAX]
AddColumn='ALTER TABLE &TableOwner.&TableName ::AddColElement [ ::AddColElement ]...'
AddColElement='ADD &ColumnName &DataType &NotNull'
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'
AlterForeignKey='ALTER TABLE &TableOwner.&TableName FOREIGN KEY &KeyName (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName ON DELETE &DeleteRule'
AlterPrimaryKey='ALTER TABLE &TableOwner.&TableName PRIMARY KEY (&ColumnName[,&ColumnName]...)'  
CreateIndex='CREATE &UNIQUE INDEX &TableOwner.&IndexName ON &TableOwner.&TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName &Descending'
DropTable='DROP TABLE &TableOwner.&TableName'
DropView='DROP VIEW &TableOwner.&TableName'
DropIndex='DROP INDEX &IndexOwner.&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 SYSCAT.VIEWS WHERE VIEWNAME = ''&ObjectName'' AND VIEWSCHEMA = ''&ObjectOwner'''
DeleteColumn=' '
DeleteColElement=' '

[DB24_SYNTAX]
AlterForeignKey='ALTER TABLE &TableName FOREIGN KEY &KeyName (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName'
AlterPrimaryKey='ALTER TABLE &TableName PRIMARY KEY (&ColumnName[,&ColumnName]...)'
CreateTable='CREATE TABLE &TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &NotNull'
CreateIndex='CREATE &UNIQUE INDEX &IndexName ON &TableName (::ColumnIndex[, ::ColumnIndex]...)'
DropTable='DROP TABLE &TableName'
DropView='DROP VIEW &TableName'
DropIndex='DROP INDEX &IndexName'
DropPrimaryKey='ALTER TABLE &TableName DROP PRIMARY KEY'
DropForeignKey='ALTER TABLE &TableName DROP FOREIGN KEY &KeyName'
CreatePrimaryKey=', PRIMARY KEY (&ColumnName[,&ColumnName]...)'
CreateForeignKey=', CONSTRAINT &KeyName FOREIGN KEY (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName  ON DELETE &DeleteRule'
GrantTablePrivilege='GRANT &Privilege[,&Privilege]... ON &TableName TO &UserName[,&UserName]...'
RevokeTablePrivilege='REVOKE &Privilege[,&Privilege]... ON &TableName FROM &UserName[,&UserName]...'
;PBSelectViewSyntax='SELECT VIEW_DEFINITION from QSYS2.SYSVIEWS WHERE TABLE_NAME = ''&ObjectName'' AND SEQNO = 1 AND VIEW_OWNER = ''&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'
DeleteColumn='ALTER TABLE &TableOwner.&TableName ::DeleteColElement[, ::DeleteColElement ]...'
DeleteColElement='DROP &ColumnName'
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]...'

[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'

[MS_SQLSERVER_SYNTAX]
AlterForeignKey='ALTER TABLE &TableOwner.&TableName ADD CONSTRAINT &KeyName FOREIGN KEY (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName'
AlterPrimaryKey='ALTER TABLE &TableOwner.&TableName ADD CONSTRAINT &KeyName PRIMARY KEY &NonClustered (&ColumnName[,&ColumnName]...)'  
CreatePrimaryKey=', CONSTRAINT &KeyName PRIMARY KEY &NonClustered (&ColumnName[,&ColumnName]...)'
CreateForeignKey=', CONSTRAINT &KeyName FOREIGN KEY  (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName'
DropPrimaryKey='ALTER TABLE &TableOwner.&TableName DROP CONSTRAINT &KeyName'
DropForeignKey='ALTER TABLE &TableOwner.&TableName DROP CONSTRAINT &KeyName'   
CreateTable='CREATE TABLE &TableOwner.&TableName (::ColumnElement[, ::ColumnElement]...)'
ColumnElement='&ColumnName &DataType &NotNull'
CreateIndex='CREATE &UNIQUE &Clustered INDEX &IndexName ON &TableOwner.&TableName (::ColumnIndex[, ::ColumnIndex]...)'
ColumnIndex='&ColumnName'
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'') and number=&ObjectNumber'
PBSelectViewSyntax='select text from dbo.syscomments where id = object_id(''&ObjectOwner.&ObjectName'')'
GetCatalogIdentity='Select c.name from syscolumns c, sysobjects o, master.dbo.spt_datatype_info d, systypes t where o.id = OBJECT_ID(''&TableOwner.&TableName'') and c.id = o.id and o.type != 'P' and d.auto_increment = (c.status &128 )/128 and c.usertype = t.usertype and (c.status &128) = 128'
GetIdentity='Select @@identity'
; GetIdentity='Select max(IDENTCOL) from &TableName'
; Alternative technique if table has insert trigger associated with it.

[OR7_SYNTAX]
AlterForeignKey='ALTER TABLE &TableOwner.&TableName ADD (CONSTRAINT &KeyName FOREIGN KEY (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName)'
AlterPrimaryKey='ALTER TABLE &TableOwner.&TableName ADD (CONSTRAINT &KeyName PRIMARY KEY (&ColumnName[,&ColumnName]...))'  
CreatePrimaryKey=', CONSTRAINT &KeyName PRIMARY KEY (&ColumnName[,&ColumnName]...)'
CreateForeignKey=', CONSTRAINT &KeyName FOREIGN KEY  (&ColumnName[,&ColumnName]...) REFERENCES &RefTableOwner.&RefTableName'
DropPrimaryKey='ALTER TABLE &TableOwner.&TableName DROP PRIMARY KEY'
DropForeignKey='ALTER TABLE &TableOwner.&TableName DROP CONSTRAINT &KeyName'   
RenameTable='RENAME &OldTableName TO &NewTableName'
AddColumn='ALTER TABLE &TableOwner.&TableName ADD (::AddColElement[, ::AddColElement ]...)'
AddColElement=' &ColumnName &DataType'
ModifyColumn='ALTER TABLE &TableOwner.&TableName MODIFY (::ModifyColElement[, ::ModifyColElement ]...)'
ModifyColElement=' &ColumnName &DataType'
PBSelectProcSyntax='SELECT TEXT FROM SYS.ALL_SOURCE WHERE NAME = ''&ObjectName'' and OWNER = ''&ObjectOwner'' ORDER BY SYS.ALL_SOURCE.LINE'
PBSelectViewSyntax='SELECT TEXT FROM SYS.ALL_VIEWS WHERE VIEW_NAME = ''&ObjectName'' and OWNER = ''&ObjectOwner'''
PBOuterJoin='&FirstJoin &Operator &SecondJoin &OuterJoin1 &OuterJoin2'
DropIndex='DROP INDEX &IndexName'
DropView='DROP VIEW &TableOwner.&TableName'
PBOuterJoinOperator='(+)'
 
[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 &RefTableOwner.&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 &RefTableOwner.&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'
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 IN (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'

[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\''

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

[NO_MSECS_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()

[ASA_FUNCTIONS]
AggrFuncs=avg(x),avg(distinct x),count(x),count(distinct x),count(*),list(x),list(distinct x),max(x),max(distinct x),min(x),min(distinct x),sum(x),sum(distinct x)
Functions=abs(x),acos(x),asin(x),atan(x),atan2(x,y),ceiling(x),cos(x),cot(x),degrees(x),exp(x),floor(x),log(x),log10(x),mod(dividend,divisor),pi(*),power(x,y),radians(x),rand(),rand(x),remainder(dividend,divisor),round(x,y),sign(x),sin(x),sqrt(x),tan(x),"truncate"(x,y),ascii(x),byte_length(x),byte_substr(x,y,z),char(x),char_length(x),charindex(x,y),difference(x,y),insertstr(x,y,z),lcase(x),left(x,y),length(x),locate(x,y,z),lower(x),ltrim(x),patindex('x',y),repeat(x,y),replicate(x,y),right(x,y),rtrim(x),similar(x,y),soundex(x),space(x),str(x,y,z),string(x,...),stuff(w,x,y,z),substr(x,y,z),trim(x),ucase(x),upper(x),date(x),dateformat(x,y),datename(x,y),day(x),dayname(x),days(x),dow(x),hour(x),hours(x),minute(x),minutes(x),minutes(x,y),month(x),monthname(x),months(x),months(x,y),now(*),quarter(x),second(x),seconds(x),seconds(x,y),today(*),weeks(x),weeks(x,y),year(x),years(x),years(x,y),ymd(x,y,z),dateadd(x,y,z),datediff(x,y,z),datename(x,y),datepart(x,y),getdate(),cast(x as y),convert(x,y,z),hextoint(x),inttohex(x),connection_property(x,...),datalength(x),db_id(x),db_name(x),db_property(x),next_conection(x),next_database(x),property(x),property_name(x),property_number(x),property_description(x),argn(x,y,...),coalesce(x,...),estimate(x,y,z),estimate_source(x,y,z),experience_estimate(x,y,z),ifnull(x,y,z),index_estimate(x,y,z),isnull(x,...),number(*),plan(x),traceback(*)

[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()

[DB212_FUNCTIONS]
AggrFuncs=avg(),count(),max(),min(),sum()
Functions=curdate(),curtime(),dayofmonth(),hour(),left(),length(),minute(),month(),second(),substr(),year()

[DB2CS_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
; ********************************************************************

[WATCOM_SPECIALDATATYPES]
SpecialDataTypes='tinyint=DBI_TINYINT=-6'

[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_TYPEINT=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'

[REDBRICK_SPECIALDATATYPES]
SpecialDataTypes='time=DBI_TYPETIME=101,timestamp=DBI_TYPETIME=102'

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

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

; ********************************************************************
; DBMS Driver / DBMS Settings
; 
; Powerbuilder takes advantage of extended capabilities of ODBC drivers
; and navigates around shortcomings by utilizing pbodb70.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 extension) 
;
;                  - 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
;Block=nnn - default is 1000,  maximum # of rows to retrieve with extended 
;   fetch if SQLExtendedFetch is supported for a data window
;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) - specify 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
;IdentifierQuoteChar='<quote_char>' - overrides quote char returned
;   by SQLGetInfo for SQL_IDENTIFIER_QUOTE_CHAR, value can be overridden
;   by the DBParm entry IdentifierQuoteChar
;InsertBlock=nnn - # of rows to block for insert if bind parameters supported,
;   DEFAULT is 100
;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'
;PBDefaultValues='comma separated list of database default value keywords'
;PBDefaultCreate='YES' - database default value supported in CREATE TABLE
;  statement, DEFAULT is NO
;PBDefaultAlter='YES' - database default value supported in ALTER TABLE
;  statement, DEFAULT is NO
;PBDefaultExpressions='YES' - expressions allowed in database default value,
;  DEFAULT 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='32767' 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
;PBPrimaryKeyName='YES' - primary key needs constraint name. Default is NO
;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
;   catalogs 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' - include procedure owner name when the call escape sequence
;   is generated for a stored procedure, DEFAULT is 'NO',  Can be overridden
;   by DBparm entry PBUseProcOwner
;SQLSyntaxQualifiers=1 - only qualify sql identifiers with one qualifier,
;   default is 0 which means use the PowerBuilder default rules to qualify
;   identifiers
;SQLSrvrTSName='YES' - A column named "timestamp" is treated as a special SQLServer
;   like timestamp, DEFAULT is NO
;SQLSrvrTSQuote='YES' - Put SQLServer like timestamp value in single quotes,
;   DEFAULT is NO
;SQLSrvrTSDelimit='YES' - delimit the SQLServer like timestamp column name timestamp,
;   DEFAULT is NO
;SQLSrvrTSPrefix='cc' - 2 character prefix for SQLServer timestamp values,
;   DEFAULT is NO
;
; 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 variables 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 PBOuterJoin is not defined, PB assumes the data source 
; supports ANSI outer joins (as defined by the ODBC specs). 
; &OuterJoin1 and &OuterJoin2 represent the keywords where the type of join
; will be substituted. If the outerjoin is on the FirstJoin, the operator
; defined by PBOuterJoinOperator is substitued in &OuterJoin1. If the outerjoin
; is on the secondjoin, the operator defined by PBOuterJoinOperator is 
; substitued in &OuterJoin2. The &Operator is currently the '=' sign.
;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 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=default length for table painter).
;
; The items within parens are optional.

; 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'
;
; If the extended type is 999 the data type is excluded.
;
;  TableListType='type [,type]...'  This is a list of additional table 
;  types returned by SQLTables() that should be included in the "select
;  tables" listbox.  PB automatically includes names with table type of
;  'SYSTEM TABLE', 'SYSTEM VIEW', 'TABLE', and 'VIEW'.
;
; ********************************************************************
