;*********************************************************************** ;Licensed Materials - Property of IBM ; ;BI and PM: UDA ; ;(C) Copyright IBM Corp. 2005, 2011 ; ;U.S. Government Users Restricted Rights - Use, duplication, or disclosure ;by GSA ADP Schedule Contract with IBM Corp. ; ;Unless specifically authorized by IBM, you may not modify any part of this ;file. Where modification is authorized, you must reproduce any copyright ;notices contained in this file and specifically identify which ;modifications have been made by your organization. YOU ARE SOLELY ;RESPONSIBLE FOR DETERMINING THE APPROPRIATENESS OF ANY MODIFICATIONS TO ;THIS FILE AND ASSUME ALL RISKS ASSOCIATED WITH THE USE AND DISTRIBUTION ;OF THE MODIFIED FILE. IBM will not provide support relating to ;unauthorized changes you make to this file. ;*********************************************************************** ; $Header: //uda/main/prod/dmd/sgi/odbc35/composite/cogdmod_cs.ini#3 $ ; ; Module: ; cogdmod_cs.ini ; ; Purpose: ; This module contains the Composite information. ; ; Notes: ; Do NOT modify this file. Doing so could result in unknown SQL ; being generated for composite, possibly resulting in application aborts. ; Relavent sections cloned from odbc35/generic_od/cogdmod.ini#15 ; ; ************************************************************************ [Database Functions] ;Each of the parameter is identified by "%" followed by the number, ; followed by the type . The types can be the following: ;"b" stands for boolean. ;"c" stands for character. ;"x" stands for text. ;"d" stands for date. ;"i" stands for the interval. ;"n" stands for the numeric. ;"s" stands for the timestamp. ;"t" stands for the time. ;"y" stands for time with time zone ;"z" stands for timestamp with time zone ;Numeric functions n:absolute(%1n)=ABS(%1); n:round(%1n,%2n)=round(%1,%2); ; ln( x ) = log(x)/log(e) n:ln(%1n)=(log(%1)*2.302585093); ; EE uses 'C' style % operator for local processing. This is equivalent. n:mod(%1n,%2n)=(ABS(%1)-ABS(FLOOR(ABS((%1)/(%2)))*(%2)))*(ABS(%1)/(%1)); ;String functions n:char_length(%1cx)=LENGTH(%1); n:character_length(%1cx)=LENGTH(%1); c:substring(%1c, %2n, %3n)=SUBSTRING(%1, %2, %3); ; Date / Time functions s:Localtimestamp({%1n})=CURRENT_TIMESTAMP; t:localtime({%1n})=CURRENT_TIME; ; Convert functions c:to_char(%1cdnst)=TO_CHAR(%1); n:to_number(%1c)=TO_NUMBER(%1); d:to_date(%1c)=TO_DATE(%1); s:to_timestamp(%1c)=TO_TIMESTAMP(%1); [Builtin Functions] n:_round(%1n,%2n)=round(%1,%2); ; casts c:coguda#cast_char(%1sd,%2n)=CAST( TO_CHAR( %1 ) AS CHAR( %2 )); c:coguda#cast_char(%1nc,%2n)=CAST( %1 AS CHAR( %2 )); c:coguda#cast_varchar(%1sd,%2n)=CAST( TO_CHAR( %1) AS VARCHAR( %2 )); c:coguda#cast_varchar(%1nc,%2n)=CAST( %1 AS VARCHAR( %2 )); c:coguda#cast_nvarchar(%1nc,%2n)=CAST( %1 AS VARCHAR( %2 )); c:coguda#cast_nvarchar(%1sd,%2n)=CAST( TO_CHAR( %1) AS VARCHAR( %2 )); c:coguda#cast_nchar(%1nc,%2n)=CAST( %1 AS CHAR( %2 )); c:coguda#cast_nchar(%1sd,%2n)=CAST( TO_CHAR( %1 ) AS CHAR( %2 )); [Exceptions Aggregates] ; Entries added here affect all ODBC connections. ; For this reason overwrites should be added to subsections only. ; The entries below show the ODBC defaults. Avg="avg" Count="count" Count_star="count(*)" Max="max" Min="min" ; ravg ; rdiff ; rsum ; Stddev Sum="sum" ; Variance ; xmovingavg ; xmovingsum ; xntile ; xrank ; xratio ; xstddev ; xtertile ; xvariance [Exceptions Clauses] ; Entries added here affect all ODBC connections. ; For this reason overwrites should be added to subsections only. ; Group_By is set in the gateway using SQLGetInfo(SQL_GROUP_BY) ; The entries below show the ODBC defaults. From="from" Group_By="group by" Having="having" Where="where" With="" With_Recursive="" [Exceptions Clauses DATABASE:COMPOSITE VERSION:04.01] With="" [Exceptions Clauses DATABASE:COMPOSITE VERSION:03] With="" [Exceptions Commands] ; Entries added here affect all ODBC connections. ; For this reason overwrites should be added to subsections only. ; The entries below show the ODBC defaults. Call="call " Delete="delete " Insert="insert " Select="select " Update="update " [Exceptions Delimiters] ; Entries added here affect all ODBC connections. ; For this reason overwrites should be added to subsections only. ; The entries below show the ODBC defaults. Catalog_Delimiter="\"" Schema_Delimiter="\"" Table_Delimiter="\"" Column_Delimiter="\"" Procedure_Delimiter="\"" Wholename_Delimiter= [Exceptions General] ; Entries added here affect all ODBC connections. ; For this reason overwrites should be added to subsections only. ; Correlated_Subqueries is set in the gateway using SQLGetInfo(SQL_SUBQUERIES) ; Nulls_Sort_Last is set in the gateway using SQLGetInfo(SQL_NULL_COLLATION) ; Subqueries is set in the gateway using SQLGetInfo(SQL_SUBQUERIES) ; Subquery_Column_Alias is set in the gateway using SQLGetInfo(SQL_SUBQUERIES and SQL_COLUMN_ALIAS) ; The entries below show the ODBC defaults. Aggregate_In_Expr=T Aggregate_Value_Expr=T Boolean_Comparison=F Correlated_Subqueries=T Count_Blob=F Count_Literal=T Count_Non_Distinct=T Count_Value_Expr=T Cross_Product=T Distinct_Aggregates=F Group_By_Expr=T Is_Null_Value_Expr=T Like_Value_Expr=T Multiple_Distinct=T ; Null=T Order_By_Alias=F Substring_On_Expr=T Subqueries=T Subquery_Column_Alias=F Integer_Division_Truncation=T Comments=F [Exceptions Joins] ; Entries added here affect all ODBC connections. ; For this reason overwrites should be added to subsections only. ; Full_Outer is set in the gateway using SQLGetInfo(SQL_OJ_CAPABILITIES and SQL_OUTER_JOINS) ; Inner is set in the gateway using SQLGetInfo(SQL_OJ_CAPABILITIES and SQL_OUTER_JOINS) ; Left_Eql is set in the gateway using SQLGetInfo(SQL_OJ_CAPABILITIES and SQL_OUTER_JOINS) ; Left_Outer is set in the gateway using SQLGetInfo(SQL_OJ_CAPABILITIES and SQL_OUTER_JOINS) ; Left_Post is set in the gateway using SQLGetInfo(SQL_OJ_CAPABILITIES and SQL_OUTER_JOINS) ; Left_Pre is set in the gateway using SQLGetInfo(SQL_OJ_CAPABILITIES and SQL_OUTER_JOINS) ; Right_Eql is set in the gateway using SQLGetInfo(SQL_OJ_CAPABILITIES and SQL_OUTER_JOINS) ; Right_Nested is set in the gateway using SQLGetInfo(SQL_OJ_CAPABILITIES and SQL_OUTER_JOINS) ; Right_Outer is set in the gateway using SQLGetInfo(SQL_OJ_CAPABILITIES and SQL_OUTER_JOINS) ; Right_Post is set in the gateway using SQLGetInfo(SQL_OJ_CAPABILITIES and SQL_OUTER_JOINS) ; Right_Pre is set in the gateway using SQLGetInfo(SQL_OJ_CAPABILITIES and SQL_OUTER_JOINS) ; The entries below show the ODBC defaults. Cross=T Cross_Syntax=" CROSS JOIN " Full_Non_Equi_Join=F Full_Outer=T Full_Post="" Full_Pre="" Full_Syntax=" FULL OUTER JOIN " Inner=T Inner_Col_Post="" Inner_Col_Pre="" Inner_Syntax=" INNER JOIN " Inner_Tbl_Restrict=F Left_Eql=" LEFT OUTER JOIN " Left_Nested=F Left_Outer=T Left_Post="" Left_Pre="" Natural=F Natural_Syntax="" Nested_Outer=F Non_Equi_Joins=F One_Outer=F On_Condition_Between_Predicate=F On_Condition_In_Predicate=T On_Condition_IsNull_Predicate=T On_Condition_Like_Predicate=T On_Condition_Not_Predicate=T On_Condition_Or_Predicate=T On_Condition_Set_Functions=F On_Condition_Subqueries=T Optnl_Tbl_Filter=F Optnl_Tbl_Join_Filter=F Optnl_Tbl_Join_Restrict=F Outer_Tbl_List=F Optnl_Tbl_Restrict=T Outer_Syntax=T Right_Eql=" RIGHT OUTER JOIN " Right_Nested=T Right_Outer=T Right_Post="" Right_Pre="" Two_Sided_Join_Restrict=F Union_Syntax="" [Exceptions Literals] ; The entries below show the ODBC defaults. ; If the data source supports the call SQLGetTypeInfo ; then all the following flags will be over written by ; information retrieved from the data source. Alt_Date_Literal_Assignment=F Alt_Date_Literal_Between=F Alt_Date_Literal_Comparison=F Alt_Date_Literal_In=F Alt_Date_Literal_Insert_Value=F Alt_Date_Literal_Str= Alt_Interval_Literal_Str= Alt_Time_Literal_Str= Alt_Timestamp_Literal_Str= Boolean_Literal=F Date_Add_Function_Str= Date_Format_Str="YYYY MM DD" Date_Literal=C Date_Literal_Str="DATE '%s-%s-%s'" Date_Sub_Function_Str= False_Literal_Str= Interval_Format_Str= Interval_Literal=F Interval_Literal_Str= Time_Format_Str="HH MM SS" Time_Literal=C Time_Literal_Str="TIME '%s:%s:%s'" TimeTZ_Format_Str= TimeTZ_Literal=F TimeTZ_Literal_Str= Timestamp_Format_Str="YYYY MM DD HH MM SS" Timestamp_Literal=C Timestamp_Literal_Str="TIMESTAMP '%s-%s-%s %s:%s:%s'" TimestampTZ_Format_Str= TimestampTZ_Literal=F TimestampTZ_Literal_Str= True_Literal_Str= Unknown_Literal_Str= Zero_Date_Literal_Str= Zero_Timestamp_Literal_Str= [Exceptions Operators] ; Entries added here affect all ODBC connections. ; For this reason overwrites should be added to subsections only. ; The entries below show the ODBC defaults. Add="+" And="and" Div="/" Eql="=" Geq=">=" Grt=">" Leq="<=" Les="<" Mul="*" ;Neg="-" Neq="<>" Not="not" Or="or" Sub="-" [Exceptions Predicates] ; Entries added here affect all ODBC connections. ; For this reason overwrites should be added to subsections only. ; The entries below show the ODBC defaults. All= Any= Between= Exists= [Exceptions Separators] ; Entries added here affect all ODBC connections. ; For this reason overwrites should be added to subsections only. ; Catalog_Separator is set in the gateway using SQLGetInfo(SQL_QUALIFIER_NAME_SEPARATOR) ; Schema_Separator is set in the gateway using SQLGetInfo(SQL_QUALIFIER_NAME_SEPARATOR) ; only if SQLGetInfo(SQL_OWNER_TERM) indicates the data source does not support schemas. ; The entries below show the ODBC defaults. Catalog_Separator="." Schema_Separator="." Table_Separator="." [Exceptions Set Operators] ; Entries added here affect all ODBC connections. ; For this reason overwrites should be added to subsections only. ; Union is set in the gateway using SQLGetInfo(SQL_UNION) ; Union_All is set in the gateway using SQLGetInfo(SQL_UNION) ; The entries below show the ODBC defaults. Distinct="distinct" Except= Except_All=F Intersect= Intersect_All=F ;Order_By= Union= Union_All=F [Exceptions Tables] ; Entries added here affect all ODBC connections. ; For this reason overwrites should be added to subsections only. ; The entries below show the ODBC defaults. Derived=T Joined=T Simple=T UniqueName_Prefix="coguda" [Exceptions Value Expressions] ; Entries added here affect all ODBC connections. ; For this reason overwrites should be added to subsections only. ; Cast is set in the gateway using SQLGetInfo(SQL_CONVERT_FUNCTIONS) ; Lower is set in the gateway using SQLGetInfo(SQL_STRING_FUNCTIONS) ; Position is set in the gateway using SQLGetInfo(SQL_STRING_FUNCTIONS) ; StrCat is set in the gateway using SQLGetInfo(SQL_STRING_FUNCTIONS) ; Substring is set in the gateway using SQLGetInfo(SQL_STRING_FUNCTIONS) ; Upper is set in the gateway using SQLGetInfo(SQL_STRING_FUNCTIONS) ; The entries below show the ODBC defaults. Bit_Length=F Case=T Case_Simple=T Case_Searched=T Cast=C Coalesce=F Extract=F Nullif=F Octet_Length=F Position=F ;Date / Time functions Current_Date=T Current_Time=F Current_Timestamp=F LocalTimeStamp=C LocalTime=C ; The following date functions are supported by Composite, but they are also ; reserved keywords so have to be used with {} around, e.g. select {day(orderDate)} ;DAY, MONTH, YEAR ;String functions Char_Length=C Lower=T StrCat=T Substring=C Trim=F Upper=T ;Numeric functions Ln=C Mod=C Abs=C Ceiling=T Floor=T Power=T Sqrt=T Exp=T ; The followin numeric functions supported by Composite will be pushed down ; either as {fn funcName}, e.g. select {Cos(30)} as c1, or as "fn funcName", ; e.g. select Cos (30) as c1. ;Acos ;Asin ;Atan ;Cos ;Cot ;Degrees ;Log ;Pi ;Radians ;Sin ;Tan [Operator Addition] Date= Timestamp= Time= Interval= [Operator Subtraction] Date= Time= Timestamp= Interval= ; From this point on this ini file contains entries pertaining to ; the operation of the gateway through the ODBC driver being used. ; The section name used to set entries for a particular driver ; consists of the driver name with a possible driver version. ; (ie: DRIVER:[ VERSION:] ) ; The section name used to set entries for a particular database ; consists of the database name with a possible database version. ; (ie: DATABASE:[ VERSION:] ) ; To get the... The gateway uses... ; driver_name SQLGetInfo(SQL_DRIVER_NAME) ; driver_version SQLGetInfo(SQL_DRIVER_VER) ; database_name SQLGetInfo(SQL_DBMS_NAME) ; database_version SQLGetInfo(SQL_DBMS_VER) ; All entries are terminated with a semi comma character. ; The possible exceptions, listed alphabetical for easy lookup, ; that can be set are... ; Keyword Ascending=; ; If given, the default ascending keyword, "asc" will be replaced ; with this literal. For some drivers this keyword is optional or ; invalid, an blank entry will remove the keyword. ; Convert To Blob Limit=; ; The number will indicate the size limit for LongVarChar and ; LongVarBinary data. If the data size is greater then the ; specified size the data type will be treated as blob data. ; By default the size limit is 32K. ; Cursor Type for Deletes=[FORWARD|STATIC|KEYSET|DYNAMIC]; ; If given, this cursor type will be used for delete ; statements instead of the default cursor type for ; the data source. For definitions of the different cursor ; types refer to the SQLSetStmtOption(SQL_CURSOR_TYPE) ; function in the ODBC manual. ; Cursor Type for Inserts=[FORWARD|STATIC|KEYSET|DYNAMIC]; ; If given, this cursor type will be used for insert ; statements instead of the default cursor type for ; the data source. For definitions of the different cursor ; types refer to the SQLSetStmtOption(SQL_CURSOR_TYPE) ; function in the ODBC manual. ; Cursor Type for Metadata=[FORWARD|STATIC|KEYSET|DYNAMIC]; ; If given, this cursor type will be used for metadata ; statements instead of the default cursor type for ; the data source. For definitions of the different cursor ; types refer to the SQLSetStmtOption(SQL_CURSOR_TYPE) ; function in the ODBC manual. ; Cursor Type for Procedures=[FORWARD|STATIC|KEYSET|DYNAMIC]; ; If given, this cursor type will be used for procedure ; statements instead of the default cursor type for ; the data source. For definitions of the different cursor ; types refer to the SQLSetStmtOption(SQL_CURSOR_TYPE) ; function in the ODBC manual. ; Cursor Type for Selects=[FORWARD|STATIC|KEYSET|DYNAMIC]; ; If given, this cursor type will be used for select ; statements instead of the default cursor type for ; the data source. For definitions of the different cursor ; types refer to the SQLSetStmtOption(SQL_CURSOR_TYPE) ; function in the ODBC manual. ; Cursor Type for Updates=[FORWARD|STATIC|KEYSET|DYNAMIC]; ; If given, this cursor type will be used for update ; statements instead of the default cursor type for ; the data source. For definitions of the different cursor ; types refer to the SQLSetStmtOption(SQL_CURSOR_TYPE) ; function in the ODBC manual. ; Date Format=; ; If given, the default date format, YYYY MM DD, will be ; replaced with . The ODBC driver or underlying ; database must understand the date format. ; Date literal=; ; If given, the default ODBC date conversion, "{d '%s-%s-%s'}", ; will be replaced with a literal date string. For some drivers, ; ODBC date literals are converted into function calls and may ; cause the database optimizer to use table scan instead of index scan, ; impacting performance. So alternate literal date string can be ; used if the default ODBC date conversion is not desired. ; Disable Transaction Support=[T|F]; ; If set to T, transaction support is disabled and the drivers ; auotcommit option will be in effect. This option sets the ; transaction isolation level to SQL_TXN_SERIALIZABLE, meaning ; dirty reads, nonrepeatable reads and phantom reads will not ; be possible. ; Optimize For=; ; If a numeric value greater then zero is given, "OPTIMIZE FOR n ROWS" clause will ; be appended to the select statements ( n being equal to the numeric value and the ; number of rows to optimize for ). This option can improve performance based on the ; assumption that rows will be retrieved and causes a suitable communication ; buffer size to be chosen for blocked cursors. ; Procedure Cursors=T|F ; When set to T, sqlfeatures will report that procedure cursors are supported. ; For databases that have result set pending after SQLExecute of a {call ..} ; statement, this entry should be set to T. ; Qualified Synonyms are not supported=[T|F] ; If set to T, the database doesn't supported qualified synonyms. ; Replace Count Non-Distinct=[T|F]; ; If set to T, the count(value) expression will be replaced by count(*). ; Note, that this is NOT semantically equivalent: count(*) may count NULL ; values whereas count(value) does not. ; Select For Fetch Only=[T|F]; ; If set to T, "FOR FETCH ONLY" will be appended to select statements. ; This option can work around quirks on the server by turning on ; journalling or improve performance by affecting the locking strategy. ; Select For Update Disabled=[T|F]; ; If set to T, "FOR UPDATE" will not be allowed in SELECT statements. ; System View Supported=[T|F]; ; If set to F, 'SYSTEM VIEW' is not passed to SQL table. A few driver ; treat the unsupported table type as an error ; System Synonym Supported=[T|F]; ; If set to F, 'SYSTEM SYNONYM' is not passed to SQL table. A few driver ; treat the unsupported table type as an error ; System Alias Supported=[T|F]; ; If set to F, 'SYSTEM ALIAS' is not passed to SQL table. A few driver ; treat the unsupported table type as an error ; Time format=