cogdmod_postg.ini 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
  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: $
  21. ;
  22. ; Module:
  23. ; cogdmod_postg.ini
  24. ;
  25. ; Purpose:
  26. ; This module contains the Postgres gateway information.
  27. ;
  28. ; Notes:
  29. ; Do NOT modify this file. Doing so could result in unknown behavior
  30. ; by the Postgres gateway, possibly resulting in application aborts.
  31. ;
  32. ; ************************************************************************
  33. [DATABASE:POSTGRESQL]
  34. Disable_Subquery_With_Parameters=T
  35. Keyword Alias=" as \"%s\" "
  36. SQL_API_SQLDESCRIBEPARAM="FALSE"
  37. ;Functions Are Procedures="T"
  38. ;No SQLCancel() is called
  39. SQL_API_SQLCANCEL="FALSE"
  40. ;Cancel request and drop connection
  41. ;DROP_CONNECTION_ON_CANCEL="T"
  42. [Exceptions Commands DATABASE:POSTGRESQL]
  43. Select="select "
  44. Insert="insert "
  45. Update="update "
  46. Delete="delete "
  47. Call="call "
  48. Select_Star="T"
  49. Max_Stmt_Len=""
  50. [Exceptions Clauses DATABASE:POSTGRESQL]
  51. From="from"
  52. Where="where"
  53. Group_By="Group By"
  54. Having="having"
  55. Window=
  56. With=
  57. With_Recursive=
  58. [Exceptions Clauses DATABASE:POSTGRESQL VERSION:08.03]
  59. Window=
  60. With=
  61. With_Recursive=
  62. [Exceptions Tables DATABASE:POSTGRESQL]
  63. Derived=T
  64. Joined=F
  65. Simple_And_Joined=T
  66. Tbl_Ref_Limit=""
  67. SubSelect_Limit=""
  68. Table_Constructor=T
  69. UniqueName_Prefix="coguda"
  70. [Exceptions Joins DATABASE:POSTGRESQL]
  71. Inner=T
  72. Left_Outer=T
  73. Right_Outer=T
  74. Full_Outer=T
  75. Cross=T
  76. On_Condition_Or_Predicate=T
  77. Nested_Outer=T
  78. Inner_Tbl_Restrict=F
  79. Optnl_Tbl_Restrict=F
  80. Non_Equi_Joins=T
  81. One_Outer=F
  82. Natural=T
  83. Left_Nested=T
  84. Right_Nested=T
  85. Two_Sided_Join_Restrict=F
  86. Optnl_Tbl_Join_Restrict=F
  87. Optnl_Tbl_Join_Filter=T
  88. Optnl_Tbl_Filter=T
  89. Prsrv_Tbl_Join_Filter=T
  90. Prsrv_Tbl_Filter=T
  91. On_Condition_Set_Functions=T
  92. On_Condition_Subqueries=T
  93. Full_Non_Equi_Join=F
  94. On_Condition_In_Predicate=T
  95. On_Condition_Not_Predicate=T
  96. On_Condition_Like_Predicate=T
  97. On_Condition_Between_Predicate=T
  98. On_Condition_IsNull_Predicate=T
  99. Non_Join_Expr=T
  100. Non_Join_Non_Equi_Expr=T
  101. Only_Eql_With_And=F
  102. On_Condition_Functions=T
  103. Two_Sided_Join_Restrict_Filter=F
  104. Nested_Inner=T
  105. Product_Join=T
  106. Outer_Non_Equi_Join=T
  107. On_Condition_No_Expr=T
  108. Outer_Syntax=T
  109. Left_Pre=
  110. ;Left_Eql=" LEFT OUTER JOIN "
  111. Left_Post=
  112. Right_Pre=
  113. ;Right_Eql=" RIGHT OUTER JOIN "
  114. Right_Post=
  115. ;Full_Syntax=" FULL OUTER JOIN "
  116. Full_Pre=
  117. Full_Post=
  118. ;Inner_Syntax=" INNER JOIN "
  119. Inner_Col_Pre=
  120. Inner_Col_Post=
  121. ;Cross_Syntax=" CROSS JOIN "
  122. ;Union_Syntax=" UNION "
  123. ;Natural_Syntax=" NATURAL JOIN "
  124. [Exceptions Predicates DATABASE:POSTGRESQL]
  125. Between="between"
  126. In="in"
  127. Like="like"
  128. Is_Null="is null"
  129. Any="any"
  130. All="all"
  131. Exists="exists"
  132. NotLike="not like"
  133. [Exceptions Aggregates DATABASE:POSTGRESQL]
  134. Max="max"
  135. Min="min"
  136. Sum="sum"
  137. Avg="avg"
  138. Count="count"
  139. Count_Star="count(*)"
  140. Stddev="stddev"
  141. Stddev_Pop="stddev_pop"
  142. Stddev_Samp="stddev_samp"
  143. Variance="variance"
  144. Var_Pop="var_pop"
  145. Var_Samp="var_samp"
  146. Grouping=
  147. Rank=
  148. Dense_Rank=
  149. Percent_Rank=
  150. Cume_Dist=
  151. Percentile_Cont=
  152. Percentile_Disc=
  153. First_Value=
  154. Last_Value=
  155. Percentile=F
  156. [Exceptions OLAP Functions DATABASE:POSTGRESQL]
  157. Olap_Min="min"
  158. Olap_Max="max"
  159. Olap_Sum="sum"
  160. Olap_Avg="avg"
  161. Olap_Count="count"
  162. Olap_Count_Star="count(*)"
  163. Olap_Stddev="stddev"
  164. Olap_Stddev_Pop="stddev_pop"
  165. Olap_Stddev_Samp="stddev_samp"
  166. Olap_Variance="variance"
  167. Olap_Var_Pop="var_pop"
  168. Olap_Var_Samp="var_samp"
  169. Olap_Rank="rank"
  170. Olap_Dense_Rank="dense_rank"
  171. Olap_Percent_Rank="percent_rank"
  172. Olap_Cume_Dist="cume_dist"
  173. Olap_Percentile_Cont=
  174. Olap_Percentile_Disc=
  175. Olap_First_Value="first_value"
  176. Olap_Last_Value="last_value"
  177. Olap_Row_Number="row_number"
  178. Olap_Ratio_To_Report=
  179. Olap_Ntile="ntile"
  180. ; Olap_Count_Default="ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING"
  181. ; Olap_Sum_Default="ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING"
  182. Olap_Last_Value_Default="ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING"
  183. [Exceptions OLAP Functions DATABASE:POSTGRESQL VERSION:08.03]
  184. Olap_Min=
  185. Olap_Max=
  186. Olap_Sum=
  187. Olap_Avg=
  188. Olap_Count=
  189. Olap_Count_Star=
  190. Olap_Stddev=
  191. Olap_Stddev_Pop=
  192. Olap_Stddev_Samp=
  193. Olap_Variance=
  194. Olap_Var_Pop=
  195. Olap_Var_Samp=
  196. Olap_Rank=
  197. Olap_Dense_Rank=
  198. Olap_Percent_Rank=
  199. Olap_Cume_Dist=
  200. Olap_Percentile_Cont=
  201. Olap_Percentile_Disc=
  202. Olap_First_Value=
  203. Olap_Last_Value=
  204. Olap_Row_Number=
  205. Olap_Ratio_To_Report=
  206. Olap_Ntile=
  207. [Exceptions Set Operators DATABASE:POSTGRESQL]
  208. Union="union"
  209. Union_All=T
  210. Intersect="intersect"
  211. Intersect_All=T
  212. Except=" except "
  213. Except_All=T
  214. Distinct="distinct"
  215. Order_By="order by"
  216. [Exceptions Operators DATABASE:POSTGRESQL]
  217. Add="+"
  218. Sub="-"
  219. Mul="*"
  220. Div="/"
  221. Eql="="
  222. Neq="<>"
  223. Grt=">"
  224. Geq=">="
  225. Les="<"
  226. Leq="<="
  227. Neg="-"
  228. And="and"
  229. Or="or"
  230. Not="not"
  231. Assign="="
  232. [Exceptions Value Expressions DATABASE:POSTGRESQL]
  233. Case_Simple=T
  234. Case_Searched=T
  235. Coalesce=T
  236. Nullif=T
  237. Grouping_Sets=F
  238. Rollup=F
  239. Cube=F
  240. Position=T
  241. ; The Position function did not throw expected exceptions. Review the position exceptions tests
  242. Char_Length=F
  243. Octet_Length=F
  244. Substring=T
  245. Upper=T
  246. Lower=T
  247. StrCat=T
  248. ; The concat operator did not throw expected exceptions. Review the strcat exceptions tests
  249. Cast=C
  250. Abs=T
  251. Floor=T
  252. Ceiling=C
  253. ln=T
  254. Exp=T
  255. Mod=F
  256. Sqrt=T
  257. Power=T
  258. Current_Date=T
  259. ;Unable to get timezone type via ODBC so disabled
  260. Current_Time=F
  261. Current_TimeStamp=F
  262. LocalTime=T
  263. LocalTimestamp=T
  264. Extract=T
  265. Trim=T
  266. Row_Value_Constructors=T
  267. Olap_Window_Order_By=T
  268. [Exceptions Value Expressions DATABASE:POSTGRESQL VERSION:08.03]
  269. Olap_Window_Order_By=F
  270. [Exceptions General DATABASE:POSTGRESQL]
  271. Aggregate_In_Expr=T
  272. Aggregate_Value_Expr=T
  273. Correlated_Subqueries=T
  274. Cross_Product=T
  275. Distinct_Aggregates=T
  276. Distinct_Aggr_In_Case=T
  277. Group_By_Expr=T
  278. Group_By_Ordinal=T
  279. Group_By_Alias=T
  280. Multiple_Distinct=T
  281. Count_Non_Distinct=T
  282. Count_Value_Expr=T
  283. Count_Literal=T
  284. Is_Null_Value_Expr=T
  285. Is_Null_Value_Parm=T
  286. Like_Value_Expr=T
  287. Subquery_In_Having=T
  288. Subquery_In_Group_By=T
  289. Subquery_In_Case=T
  290. Count_Blob=T
  291. Expression_In_In=T
  292. Null_Order=T
  293. Olap_Null_Order=T
  294. Olap_Distinct=F
  295. Nested_Olap_Functions=F
  296. Empty_String_Is_Null=F
  297. Order_By_In_Derived_Table=T
  298. Interval_As_VarChar=F
  299. Boolean_Comparison=T
  300. Derived_Column_List=T
  301. With_Column_List=F
  302. Aggr_With_Interval=T
  303. Nested_Case=T
  304. Not_In_Subquery=T
  305. Nulls_Sort_Last=T
  306. Order_By_Alias=T
  307. Order_By_Name=T
  308. Substring_On_Expr=T
  309. Subqueries=T
  310. Subquery_Column_Alias=T
  311. Parameter_Markers=F
  312. Parameter_In_Select_List=F
  313. Remove_Parameter_Cast=T
  314. Subquery_With_Parameters=F
  315. Like_With_Parameters=F
  316. Parameter_In_Having=F
  317. Like_With_Escape=T
  318. Comments=T
  319. Integer_Division_Truncation=T
  320. [Exceptions Value Expressions DATABASE:POSTGRESQL VERSION:08.03]
  321. Olap_Null_Order=F
  322. Olap_Distinct=F
  323. Nested_Olap_Functions=F
  324. With_Column_List=F
  325. [Exceptions Literals DATABASE:POSTGRESQL]
  326. Date_Literal=T
  327. Timestamp_Literal=C
  328. Timestamp_Literal_Str="timestamp without time zone '%s-%s-%s %s:%s:%s'"
  329. Time_Literal=T
  330. Interval_Literal=F
  331. IntervalYM_Literal=F
  332. TimeTZ_Literal=F
  333. TimestampTZ_Literal=F
  334. NChar_Literal=T
  335. [Exceptions Misc]
  336. [Exceptions Delimiters DATABASE:POSTGRESQL]
  337. ; The RDBMS is accepting double quotes for quoted identifiers. For non-ODBC based connections
  338. ; enable the appropriate delimeter entries with respect to if catalog, schemas, procedures and
  339. ; table functions would be supported.
  340. ;Catalog_Delimiter="\""
  341. ;Schema_Delimiter="\""
  342. ;Table_Delimiter="\""
  343. ;Column_Delimiter="\""
  344. ;Procedure_Delimiter="\""
  345. ;Wholename_Delimiter="\""
  346. ;Table_Function_PreStr="TABLE( "
  347. ;Table_Function_PostStr=" )"
  348. ; ANSI style dashdash is also supported
  349. Comment_Begin="/* "
  350. Comment_End=" */ "
  351. [Exceptions Separators DATABASE:POSTGRESQL]
  352. Catalog_Separator="."
  353. Schema_Separator="."
  354. Table_Separator="."
  355. [Exceptions Blob Expressions DATABASE:POSTGRESQL]
  356. Blob_In_Substring=T
  357. Blob_In_Trim=F
  358. Blob_In_StrCat=F
  359. Blob_In_IsNull=F
  360. Blob_In_Substring_Return_Blob=F
  361. ;b stands for boolean.
  362. ;c stands for character.
  363. ;x stands for text.
  364. ;d stands for date.
  365. ;i stands for the interval.
  366. ;n stands for the numeric.
  367. ;s stands for the timestamp.
  368. ;t stands for the time.
  369. ;y stands for time with time zone
  370. ;z stands for timestamp with time zone
  371. [Database Functions DATABASE:POSTGRESQL]
  372. n:ceiling(%1n)=CEIL(%1);
  373. n:ascii(%1c)=ascii(%1);
  374. c:overlay(%1c, %2c, %3n {,%4n})=overlay(%1 placing %2 from %3 {for %4});
  375. [Builtin Functions DATABASE:POSTGRESQL]
  376. d:_add_days(%1d,%2n)=cast (%1 + (interval '1 day' * floor(%2)) as date);
  377. d:_add_months(%1d,%2n)=(cast(%1 + (interval '1 month' * floor(%2)) as date));
  378. d:_add_years(%1d,%2n)=cast(%1 + (interval '1 year' * floor(%2)) as date);
  379. d:_first_of_month(%1d)=cast(date_trunc('month', %1) as date);
  380. d:_last_of_month(%1d)=(cast(cast(date_trunc('month',%1) as date) + interval '1 month' - interval '1 day' as date));
  381. s:_add_days(%1s,%2n)=(%1 + (interval '1 day' * floor(%2)));
  382. s:_add_months(%1s,%2n)=(%1 + (interval '1 month' * floor(%2)));
  383. s:_add_years(%1s,%2n)=(%1 + (interval '1 year' * floor(%2)));
  384. s:_first_of_month(%1s)=%1 - ( EXTRACT( DAY FROM %1 ) * INTERVAL '1 DAY' ) + INTERVAL '1 DAY';
  385. s:_last_of_month(%1s)=%1 - ( EXTRACT( DAY FROM %1 ) * INTERVAL '1 DAY' ) + INTERVAL '1 MONTH';
  386. s:_make_timestamp(%1n,%2n,%3n)=cast(TO_TIMESTAMP('%1-%2-%3','YYYY-MM-DD') as timestamp without time zone);
  387. s:_add_hours(%1s,%2n)=%1 + (INTERVAL '1 hour' * FLOOR(%2));
  388. s:_add_minutes(%1s,%2n)=%1 + (INTERVAL '1 minute' * FLOOR(%2));
  389. s:_add_seconds(%1s,%2n)=%1 + (INTERVAL '1 second' * FLOOR(%2));
  390. n:_days_between(%1ds,%2ds)=cast(%1 as date) - cast(%2 as date);
  391. ;n:_months_between(%1ds,%2ds)=;
  392. n:_years_between(%1ds,%2ds)=((extract(year from %1) - extract(year from %2)));
  393. n:_hours_between(%1ds,%2ds)=cast(extract('epoch' from %2 - %1 ) / 3600 as integer);
  394. n:_minutes_between(%1ds,%2ds)=cast(extract('epoch' from %2 - %1 ) /60 as integer);
  395. n:_seconds_between(%1ds,%2ds)=extract('epoch' from %2 - %1 );
  396. n:_days_to_end_of_month(%1ds)=cast(extract('day' from ((date_trunc('month',%1) + interval '1 month' - interval '1 day') - cast(%1 as date) )) as integer);
  397. n:_day_of_year(%1ds)=cast(extract(doy from %1) as integer);
  398. n:_day_of_week(%1ds, %2n)=(mod(cast(extract(dow from %1) +7-%2 as int),7)+1);
  399. n:_age(%1ds)=cast(extract('year' from age( %1)) * 10000 + extract('month' from age( %1 )) * 100 + extract('day' from age( %1 )) as integer);
  400. ;n:_ymdint_between(%1ds,%2ds)=;
  401. ; must be iso 8601 compliant
  402. n:_week_of_year(%1ds)=EXTRACT( WEEK FROM %1 );
  403. n:_round(%1n, %2n)=ROUND(%1,%2);
  404. [Operator Addition]
  405. [Operator Subtraction]
  406. [Operator Multiplication]
  407. [Operator Division]
  408. [Operator Comparison]
  409. [Operator Cast DATABASE:POSTGRESQL]
  410. AD=AD,NA
  411. BL=AD,NA
  412. CH=CH,CH:DB,DB:DM,DM:DT,DT:FL,FL:IT,IT:NU,NU:QD,QD:SM,SM:TM,TM:TS,TS:VC,VC
  413. DB=DB,DB:DM,DM:FL,FL:IT,IT:NU,NU:QD,QD:SM,SM
  414. DM=CH,CH:DB,DB:DM,DM:FL,FL:IT,IT:NU,NU:QD,QD:SM,SM:VC,VC
  415. DT=CH,CH:DT,DT:TS,TS:VC,VC
  416. FL=DB,DB:DM,DM:FL,FL:IT,IT:NU,NU:QD,QD:SM,SM
  417. IT=CH,CH:DB,DB:DM,DM:FL,FL:IT,IT:NU,NU:QD,QD:SM,SM:VC,VC
  418. IV=AD,NA
  419. IY=AD,NA
  420. NA=CH,CH:DB,DB:DM,DM:DT,DT:FL,FL:IT,IT:NU,NU:QD,QD:SM,SM:TM,TM:TS,TS:VC,VC
  421. NC=AD,NA
  422. NU=CH,CH:DB,DB:DM,DM:FL,FL:IT,IT:NU,NU:QD,QD:SM,SM:VC,VC
  423. QD=CH,CH:DB,DB:DM,DM:FL,FL:IT,IT:NU,NU:QD,QD:SM,SM:VC,VC
  424. SM=CH,CH:DB,DB:DM,DM:FL,FL:IT,IT:NU,NU:QD,QD:SM,SM:VC,VC
  425. TM=TM,TM
  426. TS=DT,DT:TM,TM:TS,TS
  427. TT=AD,NA
  428. TZ=AD,NA
  429. VC=CH,CH:DB,DB:DM,DM:DT,DT:FL,FL:IT,IT:NU,NU:QD,QD:SM,SM:TM,TM:TS,TS:VC,VC
  430. [Directives Session]