;***********************************************************************
;Licensed Materials - Property of IBM
;
;BI and PM: UDA
;
;(C) Copyright IBM Corp. 2005, 2009
;
;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/generic_od/cogdmod_ib.ini#3 $
;
; Module:
;    cogdmod_ib.ini
;
; Purpose:
;    This module contains the interbase SQL information.
;
; Notes:
;    Do NOT modify this file.  Doing so could result in unknown behavior
;    by the ODBC gateway, possibly resulting in application aborts.
;
;
; ************************************************************************

[Expression Results]

[Exceptions Commands]
  Call=""

[Exceptions Commands Version:5.5]	
   Call="EXECUTE PROCEDURE"
   Delete="delete"
   Insert="insert"
   Select="select"
   Update="update"

[Exceptions Commands Version:5.6]
   Call="EXECUTE PROCEDURE"
   Delete="delete"
   Insert="insert"
   Select="select"
   Update="update"
   
[Exceptions Clauses]

[Exceptions Clauses Version:5.5]
   From="from"
   Group_By="group by"
   Having="having"
   Where="where"

[Exceptions Clauses Version:5.6]
   From="from"
   Group_By="group by"
   Having="having"
   Where="where"

[Exceptions Tables]
  Derived=F
  Joined=F

[Exceptions Tables Version:5.5]
   Derived=F
   Joined=T
   Simple=T

[Exceptions Tables Version:5.6]
   Derived=F
   Joined=T
   Simple=T

[Exceptions Joins]
  Inner=F
  Left_Outer=F
  Right_Outer=F
  Full_Outer=F
  Cross=F

[Exceptions Joins Version:5.5]
   Cross=F
   Cross_Syntax=	
   Full_Non_Equi_Join=T
   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=T
   Left_Outer=T
   Left_Post=""
   Left_Pre=""
   Natural=F
   Natural_Syntax=""
   Nested_Outer=T
   Non_Equi_Joins=T	
   Non_Join_Expr=T
   Non_Join_Non_Equi_Expr=T
   On_Condition_Between_Predicate=T
   On_Condition_In_Predicate=T
   On_Condition_Isnull_Predicate=T
   On_Condition_Like_Predicate=T
   On_Condition_Not_Predicate=T
   On_Condition_Set_Functions=T
   On_Condition_Subqueries=T
   One_Outer=F
   Optnl_Tbl_Filter=T
   Optnl_Tbl_Join_Filter=T
   Optnl_Tbl_Join_Restrict=F
   Optnl_Tbl_Restrict=F
   Prsrv_Tbl_Filter=T
   Prsrv_Tbl_Join_Filter=T
   Outer_Syntax=F
   Outer_Tbl_List=F
   Right_Eql=" RIGHT OUTER JOIN "
   Right_Nested=T
   Right_Outer=T
   Right_Post=" "
   Right_Pre=" "
   Two_Sided_Join_Restrict=F
   Union_Syntax=" "

[Exceptions Joins Version:5.6]
   Cross=F
   Cross_Syntax=	
   Full_Non_Equi_Join=T
   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=T
   Left_Outer=T
   Left_Post=""
   Left_Pre=""
   Natural=F
   Natural_Syntax=""
   Nested_Outer=T
   Non_Equi_Joins=T	
   Non_Join_Expr=T
   Non_Join_Non_Equi_Expr=T
   On_Condition_Between_Predicate=T
   On_Condition_In_Predicate=T
   On_Condition_Isnull_Predicate=T
   On_Condition_Like_Predicate=T
   On_Condition_Not_Predicate=T
   On_Condition_Set_Functions=T
   On_Condition_Subqueries=T
   One_Outer=F
   Optnl_Tbl_Filter=T
   Optnl_Tbl_Join_Filter=T
   Optnl_Tbl_Join_Restrict=F
   Optnl_Tbl_Restrict=F
   Prsrv_Tbl_Filter=T
   Prsrv_Tbl_Join_Filter=T
   Outer_Syntax=F
   Outer_Tbl_List=F
   Right_Eql=" RIGHT OUTER JOIN "
   Right_Nested=T
   Right_Outer=T
   Right_Post=" "
   Right_Pre=" "
   Two_Sided_Join_Restrict=F
   Union_Syntax=" "

[Exceptions Predicates]
  In=
  All=

[Exceptions Predicates Version:5.5]
   All="T"
   Any="T"
   Between="T"
   Exists="T"
   In="T"
   Is_Null="T"
   Like="T"
   Match=
   Overlaps=	
   Unique=	

[Exceptions Predicates Version:5.6]
   All="T"
   Any="T"
   Between="T"
   Exists="T"
   In="T"
   Is_Null="T"
   Like="T"
   Match=
   Overlaps=	
   Unique=	

[Exceptions Separators]	

[Exceptions Separators Version:5.5]
   Catalog_Separator=	
   Decimal_Separator=
   Schema_Separator=	
   Table_Separator="."

[Exceptions Separators Version:5.6]
   Catalog_Separator=	
   Decimal_Separator=
   Schema_Separator=	
   Table_Separator="."

[Exceptions Aggregates]
  Max="max"
  Min="min"
  Sum="sum"
  Avg="avg"
  Count="Count"
  Count_Star="Count(*)"

[Exceptions Aggregates Version:5.5]
   Avg="avg"
   Count="count"
   Count_Star="count(*)"
   First=F
   Last=F
   Max="max"
   Min="min"
   Ravg=F
   Rcount=F
   Rcountstar=F
   Rdiff=F
   Rmax=F
   Rmin=F
   Rsum=F
   Stddev=	
   Sum="sum"
   Variance=	
   Xavg=F
   Xcount=F
   Xcountstar=F
   Xfirst=F
   Xlast=F
   Xmax=F
   Xmin=F
   Xmovingavg=F
   Xmovingsum=F
   Xntile=F
   Xperc=F
   Xrank=F
   Xratio=F
   Xstddev=F
   Xsum=F
   Xtertile=F
   Xvariance=F

[Exceptions Aggregates Version:5.6]
   Avg="avg"
   Count="count"
   Count_Star="count(*)"
   First=F
   Last=F
   Max="max"
   Min="min"
   Ravg=F
   Rcount=F
   Rcountstar=F
   Rdiff=F
   Rmax=F
   Rmin=F
   Rsum=F
   Stddev=	
   Sum="sum"
   Variance=	
   Xavg=F
   Xcount=F
   Xcountstar=F
   Xfirst=F
   Xlast=F
   Xmax=F
   Xmin=F
   Xmovingavg=F
   Xmovingsum=F
   Xntile=F
   Xperc=F
   Xrank=F
   Xratio=F
   Xstddev=F
   Xsum=F
   Xtertile=F
   Xvariance=F

[Exceptions Set Operators]

[Exceptions Set Operators Version:5.5]
   Distinct="Distinct"
   Except=
   Except_All=F
   Intersect=
   Intersect_All=F
   Order_By="order by"
   Union="union"
   Union_All=T

[Exceptions Set Operators Version:5.6]
   Distinct="Distinct"
   Except=
   Except_All=F
   Intersect=
   Intersect_All=F
   Order_By="order by"
   Union="union"
   Union_All=T


[Exceptions Operators]
  Neq=" <> "

[Exceptions Operators Version:5.5]
   Add="+"
   And="and"
   Div="/"
   Eql="="
   Geq=">="
   Grt=">"
   Leq="<="
   Les="<"
   Mul="*"
   Neg="-"
   Neq="<>"
   Not="not"
   Or="or"
   Sub="-"

[Exceptions Operators Version:5.6]
   Add="+"
   And="and"
   Div="/"
   Eql="="
   Geq=">="
   Grt=">"
   Leq="<="
   Les="<"
   Mul="*"
   Neg="-"
   Neq="<>"
   Not="not"
   Or="or"
   Sub="-"

[Exceptions Value Expressions]
  StrCat=F

[Exceptions Value Expressions Version:5.5]
   Bit_Length=F
   Case=F
   Case_Searched=F
   Case_Simple=F
   Cast=T
   Char_Length=F
   Coalesce=F
   Extract=F
   Lower=F
   NullConst=T
   Nullif=F
   Octet_Length=F
   Position=F
   Strcat=T
   Substring=F
   Upper=T

[Exceptions Value Expressions Version:5.6]
   Bit_Length=F
   Case=F
   Case_Searched=F
   Case_Simple=F
   Cast=T
   Char_Length=F
   Coalesce=F
   Extract=F
   Lower=F
   NullConst=T
   Nullif=F
   Octet_Length=F
   Position=F
   Strcat=T
   Substring=F
   Upper=T

[Exceptions General]
  Multiple_Distinct=T
  Count_Non_Distinct=T
  Like_Value_Expr=T
  Subquery_In_Group_By=F
  Count_Blob=T
  Order_By_Alias=F
; InterBase does not support order by alias/name with union clause
  Order_By_Name=F

[Exceptions Delimiters]	

[Exceptions Delimiters Version:5.5]
   Catalog_Delimiter=""
   Column_Delimiter=""
   Numeric_Delimiter=""
   Procedure_Delimiter=""
   Schema_Delimiter=""
   Table_Delimiter=""
   Wholename_Delimiter=""

[Exceptions Delimiters Version:5.6]
   Catalog_Delimiter=""
   Column_Delimiter=""
   Numeric_Delimiter=""
   Procedure_Delimiter=""
   Schema_Delimiter=""
   Table_Delimiter=""
   Wholename_Delimiter=""
   
[Exceptions General Version:5.5]
   Aggregate_In_Expr=T
   Aggregate_Value_Expr=T
   Correlated_Subqueries=T
   Count_Non_Distinct=T
   Count_Value_Expr=T
   Count_Literal=T
   Cross_Product=T
   Distinct_Aggregates=T
   Group_By_Alias=F
   Group_By_Expr=F
   Group_By_In_Exists=T
   Group_By_Ordinal=F
   Group_By_Sorted=T
   Is_Null_Value_Expr=T
   Like_Value_Expr=T
   Multiple_Distinct=T
   Nulls_Sort_Last=T
   Subqueries=T
   Subquery_Column_Alias=T
   Subquery_In_Case=F
   Subquery_In_Group_By=F
   Subquery_In_Having=T
   Substring_On_Expr=F

[Exceptions General Version:5.6]
   Aggregate_In_Expr=T
   Aggregate_Value_Expr=T
   Correlated_Subqueries=T
   Count_Non_Distinct=T
   Count_Value_Expr=T
   Count_Literal=T
   Cross_Product=T
   Distinct_Aggregates=T
   Group_By_Alias=F
   Group_By_Expr=F
   Group_By_In_Exists=T
   Group_By_Ordinal=F
   Group_By_Sorted=T
   Is_Null_Value_Expr=T
   Like_Value_Expr=T
   Multiple_Distinct=T
   Nulls_Sort_Last=T
   Subqueries=T
   Subquery_Column_Alias=T
   Subquery_In_Case=F
   Subquery_In_Group_By=F
   Subquery_In_Having=T
   Substring_On_Expr=F

[Exceptions Literals]
Date_Literal=F
Time_Literal=F
Interval_Literal=F
Timestamp_Literal=C

[Exceptions Literals Version:5.5]
Date_Literal=C
Date_Format_Str="DD MMM YYYY"
Date_Literal_Str="'%s-%s-%s'"
Interval_Literal=F
Time_Literal=F
Timestamp_Literal=C
Timestamp_Format_Str="DD MMM YYYY HH MM SS FF"
Timestamp_Literal_Str="'%s-%s-%s %s:%s:%s.%-.3s'"

[Exceptions Literals Version:5.6]
Date_Literal=C
Date_Format_Str="DD MMM YYYY"
Date_Literal_Str="'%s-%s-%s'"
Interval_Literal=F
Time_Literal=F
Timestamp_Literal=C
Timestamp_Format_Str="DD MMM YYYY HH MM SS FF"
Timestamp_Literal_Str="'%s-%s-%s %s:%s:%s.%-.3s'"

[Builtin Functions]

[Builtin Functions Version:5.5]
c:cast_char(%1nd,%2n)= CAST(%1 AS CHAR(%2));
;
;	Numeric parameters for cast_date don't work
;d:cast_date(%1ncd)= CAST(%1 AS DATE);
;
d:cast_date(%1cd)= CAST(%1 AS DATE);
n:cast_decimal(%1cn,%2n,%3n)= CAST(%1 AS DECIMAL(%2,%3));
n:cast_double_precision(%1cn)= CAST(%1 AS DOUBLE PRECISION);
n:cast_float(%1cn)= CAST(%1 AS FLOAT);
n:cast_integer(%1cn)= CAST(%1 AS INTEGER);
n:cast_numeric(%1cn,%2n,%3n)= CAST(%1 AS NUMERIC(%2,%3));
n:cast_smallint(%1cn)= CAST(%1 AS SMALLINT);
c:cast_varchar(%1nd,%2n)= CAST(%1 AS VARCHAR(%2));
c:upper(%1c)= UPPER(%1);

[Builtin Functions Version:5.6]
c:cast_char(%1nd,%2n)= CAST(%1 AS CHAR(%2));
;
;	Numeric parameters for cast_date don't work
;d:cast_date(%1ncd)= CAST(%1 AS DATE);
;
d:cast_date(%1cd)= CAST(%1 AS DATE);
n:cast_decimal(%1cn,%2n,%3n)= CAST(%1 AS DECIMAL(%2,%3));
n:cast_double_precision(%1cn)= CAST(%1 AS DOUBLE PRECISION);
n:cast_float(%1cn)= CAST(%1 AS FLOAT);
n:cast_integer(%1cn)= CAST(%1 AS INTEGER);
n:cast_numeric(%1cn,%2n,%3n)= CAST(%1 AS NUMERIC(%2,%3));
n:cast_real(%1cn)= CAST(%1 AS REAL);
n:cast_smallint(%1cn)= CAST(%1 AS SMALLINT);
c:cast_varchar(%1nd,%2n)= CAST(%1 AS VARCHAR(%2));
c:upper(%1c)= UPPER(%1);


[Database Functions]

[Misc]
;QuadFormat=PowerHouse
QuadFormat=Other
;
; The value of this entry has to be support by the Interbase 4.0+ database
; If the this entry is not set, the default is ascii. The name of the character
; name has to be defined in rdb$character_set, eg: ISO8859_1
; The format of this  entry should like : : 
;   Character Set=ISO8859_1
Character Set=

[Operator Subtraction Version:5.5]
;TimeStamp=TS,DB

[Operator Subtraction Version:5.6]
;TimeStamp=TS,DB

[Operator Addition Version:5.5]
;TimeStamp=TS,NA

[Operator Addition Version:5.6]
;TimeStamp=TS,NA

[Operator Comparison]
TimeStamp=DT,OK:TS,OK
Date=DT,OK:TS,OK

[Operator Comparison Version:5.5]
;TimeStamp=DT,OK:TS,OK:IV,NA:TM,NA
;Date=DT,OK:TS,OK:IV,NA:TM,NA
;Double=IV,NA

[Operator Comparison Version:5.6]
;TimeStamp=DT,OK:TS,OK:IV,NA:TM,NA
;Date=DT,OK:TS,OK:IV,NA:TM,NA
;Double=IV,NA