cogdmod_sy.ini 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506
  1. ;***********************************************************************
  2. ;Licensed Materials - Property of IBM
  3. ;
  4. ;BI and PM: UDA
  5. ;
  6. ;(C) Copyright IBM Corp. 2005, 2020
  7. ;
  8. ;U.S. Government Users Restricted Rights - Use, duplication, or disclosure
  9. ;by GSA ADP Schedule Contract with IBM Corp.
  10. ;
  11. ;Unless specifically authorized by IBM, you may not modify any part of this
  12. ;file. Where modification is authorized, you must reproduce any copyright
  13. ;notices contained in this file and specifically identify which
  14. ;modifications have been made by your organization. YOU ARE SOLELY
  15. ;RESPONSIBLE FOR DETERMINING THE APPROPRIATENESS OF ANY MODIFICATIONS TO
  16. ;THIS FILE AND ASSUME ALL RISKS ASSOCIATED WITH THE USE AND DISTRIBUTION
  17. ;OF THE MODIFIED FILE. IBM will not provide support relating to
  18. ;unauthorized changes you make to this file.
  19. ;***********************************************************************
  20. ; $Header: //uda/main/prod/dmd/sgi/odbc35/generic_od/cogdmod_sy.ini#3 $
  21. ;
  22. ; Module:
  23. ; cogdmsy.ini
  24. ;
  25. ; Purpose:
  26. ; This module contains the Sybase gateway information.
  27. ;
  28. ; Notes:
  29. ; Do NOT modify this file. Doing so could result in unknown behavior
  30. ; by the Sybase gateway, possibly resulting in application aborts.
  31. ;
  32. ; ************************************************************************
  33. [Expression Results]
  34. ;
  35. ; Operations supported and results of the supported operation.
  36. ; The format is;
  37. ; [Operator <operator name>]
  38. ; <LHS>=<RHS>,<RES>{;<RHS>,<RES>}
  39. ;
  40. ; where
  41. ;
  42. ; LHS = data type of left hand side of operation
  43. ; RHS = data type of right hand side of operation
  44. ; RES = result data type of operation
  45. ;
  46. ; LHS, RHS and RES values may be one of:
  47. ;
  48. ; Name Abbreviation DMS Data Type
  49. ; CHAR CH sqlChar
  50. ; VARCHAR VC sqlVarChar
  51. ; LVARCHAR LC sqlLongVarChar
  52. ; BINARY BN sqlBinary
  53. ; VARBINARY VB sqlVarBinary
  54. ; SMALLINT SM sqlSmallInt
  55. ; INTEGER IT sqlInteger
  56. ; QUAD QD sqlQuad
  57. ; DECIMAL DM sqlDecimal
  58. ; FLOAT FL sqlFloat
  59. ; DOUBLE DB sqlDouble
  60. ; DATE DT sqlDate
  61. ; TIME TM sqlTime
  62. ; TIMESTAMP TS sqlDateTime
  63. ; INTERVAL IV sqlInterval
  64. ; ---- NA sqlUnknownType
  65. ;
  66. [Operator Addition]
  67. Date=
  68. Time=
  69. Timestamp=
  70. Interval=
  71. [Operator Subtraction]
  72. Date=
  73. Time=
  74. Timestamp=
  75. Interval=
  76. [Operator Comparison]
  77. Date=DT,OK:TS,OK
  78. Timestamp=DT,OK:TS,OK
  79. [Exceptions Commands]
  80. Call="call "
  81. [Exceptions Clauses]
  82. [Exceptions Tables]
  83. Simple=T
  84. Derived=F
  85. Joined=F
  86. [Exceptions Tables Database:IQ Version:11.5]
  87. Derived=F
  88. [Exceptions Joins]
  89. Cross=
  90. Inner=
  91. Left_Outer=T
  92. Right_Outer=T
  93. Full_Outer=
  94. Nested_Outer=T
  95. Inner_Tbl_Restrict=T
  96. Outer_Syntax=F
  97. Optnl_Tbl_Restrict=T
  98. Outer_Tbl_List=F
  99. Left_Pre=""
  100. Left_Eql=" *= "
  101. Left_Post=""
  102. Right_Pre=""
  103. Right_Eql=" =* "
  104. Right_Post=""
  105. Left_Nested=T
  106. Right_Nested=T
  107. Optnl_Tbl_Join_Restrict=T
  108. Two_Sided_Join_Restrict=F
  109. Optnl_Tbl_Join_Filter=T
  110. Optnl_Tbl_Filter=F
  111. Full_Non_Equi_Join=F
  112. On_Condition_Set_Functions=F
  113. On_Condition_Subqueries=F
  114. On_Condition_Not_Predicate=T
  115. On_Condition_In_Predicate=T
  116. On_Condition_Between_Predicate=T
  117. On_Condition_Like_Predicate=T
  118. On_Condition_IsNull_Predicate=T
  119. Full_Syntax=
  120. Cross_Syntax=
  121. Union_Syntax=
  122. Inner_Syntax=
  123. Natural_Syntax=
  124. Full_Pre=
  125. Full_Post=
  126. Prsrv_Tbl_Join_Filter=F
  127. [Exceptions Joins Database:SY Version:12.0.0]
  128. Inner=T
  129. Inner_Syntax=" INNER JOIN "
  130. Inner_Tbl_Restrict=F
  131. Left_Eql=" LEFT OUTER JOIN "
  132. Non_Equi_Joins=T
  133. Non_Join_Expr=T
  134. Non_Join_Non_Equi_Expr=T
  135. On_Condition_Subqueries=T
  136. Optnl_Tbl_Filter=T
  137. Optnl_Tbl_Join_Restrict=F
  138. Optnl_Tbl_Restrict=F
  139. Outer_Syntax=T
  140. Prsrv_Tbl_Filter=T
  141. Prsrv_Tbl_Join_Filter=T
  142. Right_Eql=" RIGHT OUTER JOIN "
  143. [Exceptions Predicates]
  144. All="all"
  145. ; Predicates Any and All are not supported
  146. ; by Adaptive Server IQ. Although, Any and All
  147. ; are sent to SQL Server or Adaptive Server Enterprise
  148. ; and might go through without any errors, the correct
  149. ; results can not be guaranteed. ( See Adaptive
  150. ; Server IQ Administration Guide, Section "Commands
  151. ; and Functions")
  152. ; Thus now these predicates are processed locally.
  153. [Exceptions Predicates Database:IQ]
  154. All=
  155. Any=
  156. Exists="exists"
  157. [Exceptions Aggregates]
  158. Max="max"
  159. Min="min"
  160. Avg="avg"
  161. Sum="sum"
  162. Count="count"
  163. Count_star="count(*)"
  164. [Exceptions Set Operators]
  165. Distinct="distinct"
  166. Union="union"
  167. Union_All=T
  168. Order_By_Limit="16"
  169. [Exceptions Set Operators Database:SY Version:11.9.1]
  170. Order_By_Limit="31"
  171. [Exceptions Set Operators Database:SY Version:11.9.2]
  172. Order_By_Limit="31"
  173. [Exceptions Set Operators Database:SY Version:11.9.3]
  174. Order_By_Limit="31"
  175. [Exceptions Set Operators Database:SY Version:12.0.0]
  176. Order_By_Limit="31"
  177. [Exceptions Operators]
  178. Neq=" <> "
  179. [Exceptions General]
  180. Nulls_Sort_Last=F
  181. Group_By_Expr=T
  182. Multiple_Distinct=T
  183. Subquery_Column_Alias=F
  184. Count_Non_Distinct=T
  185. Count_Value_Expr=T
  186. Count_Literal=T
  187. Count_Blob=F
  188. Like_Value_Expr=T
  189. Is_Null_Value_Expr=T
  190. Subquery_In_Group_By=F
  191. Subqueries=T
  192. [Exceptions General Database:IQ Version:11.5]
  193. Group_By_Expr=F
  194. Subquery_In_Case=F
  195. [Exceptions General Database:SY Version:11.0]
  196. Subqueries=F
  197. Correlated_Subqueries=F
  198. [Exceptions General Database:SY Version:11.5.0]
  199. Subqueries=F
  200. Correlated_Subqueries=F
  201. [Exceptions General Database:SY Version:11.9.1]
  202. Subqueries=F
  203. Correlated_Subqueries=F
  204. ;
  205. ; Commented down below entry because the problem is fixed in 11.9.2 EBF 8891.
  206. ; The Sybase bug number that causes the problem is 203089: A 'Group By' query
  207. ; with an 'IN' list and an 'ISNULL' clause within a 'Case' expression returns
  208. ; results as a Cartesian product. Trakker number is 266806.
  209. [Exceptions General Database:SY Version:11.9.2]
  210. ;Group_By_Expr=F
  211. [Exceptions Value Expressions]
  212. Case=T
  213. Coalesce=T
  214. Nullif=T
  215. Extract=C
  216. Position=C
  217. Char_Length=F
  218. Octet_length=C
  219. Bit_Length=F
  220. Substring=C
  221. Upper=T
  222. Lower=T
  223. Strcat=C
  224. Cast=F
  225. ;
  226. ; Extract=C, above, indicates that SQL'92 EXTRACT functionality is [partially]
  227. ; supported by the Sybase Gateway through the use of the following function maps.
  228. ;
  229. ; EXTRACT( YEAR FROM <dateColumn> )' maps to coguda#extract_year( <dateexpr> ).
  230. ;
  231. Extract_Year=coguda#extract_year
  232. Extract_Month=coguda#extract_month
  233. Extract_Day=coguda#extract_day
  234. Extract_Hours=coguda#extract_hour
  235. Extract_Minutes=coguda#extract_minute
  236. Extract_Seconds=coguda#extract_second
  237. [Exceptions Value Expressions Database:SY Version:11.0]
  238. Case=F
  239. Coalesce=F
  240. Nullif=F
  241. Extract=F
  242. [Exceptions Value Expressions Database:IQ Version:11.5]
  243. ;Although Case expression is supported by Sybase IQ 11.5 it is set to
  244. ;False because the usage of CASE has a number of limitations, for example it
  245. ;cannot be used in a GROUP BY or ORDER BY clause. ( For more explanation see
  246. ;Adaptive Server IQ Language Reference ).
  247. Case=F
  248. Coalesce=T
  249. Nullif=T
  250. Extract=F
  251. [Exceptions Literals]
  252. Date_Literal=F
  253. Interval_Literal=F
  254. Time_Literal=F
  255. Timestamp_Literal=C
  256. Timestamp_Format_Str="YYYY MM DD HH MM SS FF"
  257. Timestamp_Literal_Str="convert(datetime,'%s-%s-%s %s:%s:%s.%-.3s')"
  258. Date_Add_Function_Str="dateadd(day,?2,?1)"
  259. Date_Sub_Function_Str="datediff(day,?2,?1)"
  260. Alt_Timestamp_Literal_Str="'%s-%s-%s %s:%s:%s.%-.3s'"
  261. Alt_Date_Literal_Assignment=T
  262. Alt_Date_Literal_Between=T
  263. Alt_Date_Literal_Comparison=T
  264. Alt_Date_Literal_In=T
  265. Alt_Date_Literal_Insert_Value=T
  266. [Exceptions Misc]
  267. No_And_Parentheses=F
  268. [Exceptions Delimiters]
  269. ;
  270. ; Specifies the delimiter character for each name part.
  271. ;
  272. ; If a delimiter is set to nothing, then the database does not support the
  273. ; delimiting of that name part; otherwise, the specified string is used to
  274. ; delimit the corresponding name part.
  275. ;
  276. ; NOTE: if Wholename specified and not empty then this indicates that fully
  277. ; qualified names are delimited with this character;
  278. ; For example,
  279. ; "myCatalog.mySchema.myTable.myColumn"
  280. ;
  281. ; NOTE: for a double quote (") entry, specifies "\"".
  282. ;
  283. Catalog_Delimiter=
  284. Schema_Delimiter=
  285. Table_Delimiter=
  286. Column_Delimiter=
  287. Procedure_Delimiter=
  288. Wholename_Delimiter=
  289. [Exceptions Separators]
  290. ;
  291. ; Specifies the name separator that follows the type of name.
  292. ; [<catalog><catalogSeparator>][<schema><schemaSeparator>][<table><tableSeparator>][<column>]
  293. ; [<catalog><catalogSeparator>][<schema><schemaSeparator>][<procedure>]
  294. ;
  295. Catalog_Separator="."
  296. Schema_Separator="."
  297. Table_Separator="."
  298. ;
  299. ; Sybase functions equivalent to EE functions
  300. ;
  301. ; Ignore all type information associated with the following functions.
  302. ; They will be updated in future revisions.
  303. ; str function will returns by default 10 characters length.
  304. [Builtin Functions]
  305. n:cast_decimal(%1bcdints)=convert(decimal(31, 16),%1);
  306. n:cast_float(%1bcdints)=convert(float(48),%1);
  307. n:cast_real(%1bcdints)=convert(real,%1);
  308. n:cast_smallint(%1bcdints)=convert(smallint,%1);
  309. n:cast_integer(%1bcdints)=convert(integer,%1);
  310. s:cast_timestamp(%1bcdints)=convert(datetime,%1);
  311. c:cast_char(%1bcdints)=convert(char,%1);
  312. c:cast_varchar(%1bcdints)=convert(varchar,%1);
  313. n:octet_length(%1c)=datalength(%1);
  314. n:position(%1c,%2c)=charindex(%1,%2);
  315. n:power(%1n,%2n)=power(%1,%2);
  316. c:substring(%1c,%2n,%3n)=substring(%1,%2,%3);
  317. n:ceiling(%1n)=ceiling(%1);
  318. n:floor(%1n)=floor(%1);
  319. c:coguda#concat(%1c,%2c)=%1 + %2;
  320. c:coguda#concat(%1bdints,%2bdints)=%1 + %2;
  321. n:absolute(%1n)=abs(%1);
  322. c:concat(%1c,%2c)=%1 + %2;
  323. c:downshift(%1c)=lower(%1);
  324. n:index(%1c,%2c)=charindex(%2,%1);
  325. c:leftjustify(%1c)=ltrim(%1);
  326. n:octet_length(%1c)=datalength(%1);
  327. c:reverse(%1c)=reverse(%1);
  328. n:size(%1c)=datalength(%1);
  329. c:truncate(%1c)=rtrim(%1);
  330. c:upshift(%1c)=upper(%1);
  331. n:ascii(%1c)=ascii(%1);
  332. n:round(%1n,%2n)=round(%1,%2);
  333. ;
  334. ; Business Functions for Date Calculations
  335. ;
  336. ds:_add_days(%1ds,%2n)=DATEADD( DAY, %2, %1 );
  337. ds:_add_months(%1ds,%2n)=DATEADD( MONTH, %2, %1 );
  338. ds:_add_years(%1ds,%2n)=DATEADD( YEAR, %2, %1 );
  339. n:_days_between(%1ds,%2ds)=DATEDIFF( DAY, %2, %1 );
  340. n:_months_between(%1ds,%2ds)=DATEDIFF( MONTH, %2, %1 );
  341. n:_years_between(%1ds,%2ds)=DATEDIFF( YEAR, %2, %1 );
  342. n:_days_to_end_of_month(%1ds)=DATEDIFF( DAY, %1, DATEADD( DAY, -1, DATEADD( MONTH, 1, DATEADD( DAY, 1 - DATEPART( DAY, %1 ), %1 ) ) ) );
  343. n:_age(%1ds)=;
  344. ds:_first_of_month(%1ds)=DATEADD( DAY, -DATEPART( DAY, %1 ) + 1, %1 );
  345. ds:_last_of_month(%1ds)=DATEADD( DAY, -1, DATEADD( MONTH, 1, DATEADD( DAY, -DATEPART( DAY, %1 ) + 1, %1 ) ) );
  346. s:_make_timestamp(%1n,%2n,%3n)=CONVERT( DATETIME, CONVERT( VARCHAR(8), ( %1 * 10000 ) + ( %2 * 100 ) + %3 ) );
  347. n:_ymdint_between(%1ds,%2ds)=;
  348. n:_round(%1n,%2n)=ROUND(%1,%2);
  349. ;
  350. ; Functions required by EXTRACT.
  351. ;
  352. n:coguda#extract_year(%1ds)=DATEPART(YEAR, %1);
  353. n:coguda#extract_month(%1ds)=DATEPART(MONTH, %1);
  354. n:coguda#extract_day(%1ds)=DATEPART(DAY, %1);
  355. n:coguda#extract_hour(%1ds)=DATEPART(HOUR, %1);
  356. n:coguda#extract_minute(%1ds)=DATEPART(MINUTE, %1);
  357. n:coguda#extract_second(%1ds)=DATEPART(SECOND, %1);
  358. ;
  359. ; Ignore all type information associated with the following functions.
  360. ; They will be updated in future revisions.
  361. ;
  362. [Database Functions]
  363. ;
  364. ; *****************************************
  365. ; Sybase specific character functions
  366. ; *****************************************
  367. ;
  368. n:sy_ascii(%1c)=ascii(%1);
  369. c:sy_char(%1n)=char(%1);
  370. n:sy_char_length(%1c)=char_length(%1);
  371. c:sy_right(%1c,%2n)=right(%1,%2);
  372. c:sy_soundex(%1c)=soundex(%1);
  373. ;
  374. ; *****************************************
  375. ; Sybase specific Numeric functions
  376. ; *****************************************
  377. ;
  378. n:sy_rand(%1n)=rand(%1);
  379. n:sy_round(%1n,%2n)=round(%1,%2);
  380. ;
  381. ;
  382. ; Conversion
  383. ;
  384. ; SQL Server supports several type conversions. The ones listed
  385. ; below are the ones we are interested in:
  386. ;
  387. ; - number to char
  388. ; - datetime to char
  389. ;
  390. ; - char to number
  391. ;
  392. ; - char to datetime
  393. ; - number to datetime
  394. ;
  395. bcdints:convert(%1c,%2bcdints {,%3n})=convert(%1,%2 {,%3});
  396. c:date_to_varchar(%1s)=date_to_varchar(%1);
  397. n:hextoint(%1c)=hextoint(%1);
  398. c:inttohex(%1n)=inttohex(%1);
  399. ;
  400. ; *****************************************
  401. ; Sybase System functions
  402. ; *****************************************
  403. ;
  404. n:db_id({%1c})=db_id({%1});
  405. c:db_name({%1n})=db_name({%1});
  406. n:host_id()=host_id();
  407. c:host_name()=host_name();
  408. cns:isnull(%1cns,%2cns)=isnull(%^1,%2);
  409. n:proc_role(%1c)=proc_role(%1);
  410. n:rowcnt(%1n)=rowcnt(%1);
  411. c:show_role()=show_role();
  412. n:suser_id({%1c})=suser_id({%1});
  413. c:suser_name({%1n})=suser_name({%1});
  414. c:sy_user()=user;
  415. n:user_id({%1c})=user_id({%1});
  416. c:user_name({%1n})=user_name({%1});
  417. n:valid_name(%1c)=valid_name(%1);
  418. ; Function STRING works only when
  419. ; Adaptive Server IQ accessed
  420. ; through ODBC ( the ODBC gateway uses
  421. ; this file to read database information).
  422. [Database Functions Database:IQ]
  423. n:iq_truncate(%1n,%2n)=truncate(%1,%2);
  424. n:remainder(%1n,%2n)=remainder(%1,%2);
  425. n:similar(%1c,%2c)=similar(%1,%2);
  426. c:string(%1c *{,%2c})=string(%1 *{,%2});
  427. [Misc]
  428. ;
  429. ; If there are no entries found for 'MAXDBPROCS' and 'INACTDBPROCS'
  430. ; then the value of 'MAXDBPROCS' and 'INACTDBPROCS' will be set
  431. ; to default values, which are 25 and 5, respectively.
  432. ;
  433. ;The 'MAXDBPROCS' entry indicates to DB-Library to set the maximum
  434. ;number of simultaneously open DBPROCESSes to the 'MAXDBPROCS' value.
  435. ;
  436. MAXDBPROCS=25
  437. ;
  438. ;The 'INACTDPROCS' entry indicates to the Sybase SGI Gateway to
  439. ;mark the open DBPROCESS as 'inactive' to the maximum value given
  440. ;by 'INACTDBPROCS' value. DBPROCESS exceeds the 'maximum value' will
  441. ;be closed at 'close' time, unless it is necessary to keep the
  442. ;DBPROCESS alive for later use, for example at 'commit' time.
  443. ;
  444. INACTDBPROCS=5
  445. ;
  446. ; The entry 'Convert Money To Decimal' is used to changed Sybase's money
  447. ; datatype to sqlDecimal precision 19 and scale 4. This entry by default
  448. ; is set to 0, only for application that can not handle quad datatype
  449. ; this entry can be changed to 1. This entry is only supported in the
  450. ; code of Sybase gateway from r94c version and up.
  451. Convert Money To Decimal=0
  452. ;
  453. ; Optimizer hints to set in Attach time.
  454. ;
  455. ; This attribute can take values 0 ( server decides the join order )
  456. ; or 1 ( joins are processed as in the query). 0 is the default.
  457. ;SQL_ATTRIB_DB_JOIN_ORDER=1
  458. ; use this maximum worker threads. If doesn't exist, system default is used.
  459. ;SQL_ATTRIB_DB_DOP=1
  460. ; Maximum length of aliases.
  461. MaximumNameLength=30
  462. [UDA USER OPTIONS]
  463. Attach=