sfdc.properties 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654
  1. # Licensed Materials - Property of IBM
  2. # IBM Cognos Products: OQP
  3. # (C) Copyright IBM Corp. 2020
  4. # US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM corp.
  5. #
  6. # SFDC does not allows Sub queries and aliases and expressions in queries.
  7. #
  8. #
  9. # Various features.
  10. #
  11. supports.duplicateColumnsInSelectList=false
  12. supports.duplicateColumnNamesInSelectList=false
  13. supports.columnAliasing=false
  14. supports.tableCorrelationNames=true
  15. supports.expressionsInOrderBy=false
  16. supports.expressionsInINPredicate=false
  17. supports.expressionsInSelectList=false
  18. supports.likeEscapeClause=false
  19. supports.outerJoins=false
  20. supports.fullOuterJoins=false
  21. supports.limitedOuterJoins=false
  22. supports.subqueriesInComparisons=false
  23. supports.subqueriesInExists=false
  24. supports.subqueriesInIns=false
  25. supports.subqueriesInQuantifieds=false
  26. supports.subqueriesInOnClause=false
  27. supports.correlatedSubqueries=false
  28. supports.scalarSubqueries=false
  29. supports.stitchJoins=false
  30. supports.equiJoins=false
  31. supports.thetaJoins=false
  32. supports.crossProducts=false
  33. supports.orderByAlias=false
  34. supports.orderByName=true
  35. supports.orderByOrdinal=false
  36. supports.expressionsInGroupBy=false
  37. supports.derivedColumnLists=false
  38. supports.integerDivision=false
  39. #casting with formatting pattern support
  40. supports.formatters.string_to_date=false
  41. supports.formatters.string_to_time=false
  42. supports.formatters.string_to_time_with_time_zone=false
  43. supports.formatters.string_to_timestamp=false
  44. supports.formatters.string_to_timestamp_with_time_zone=false
  45. #
  46. # Command.
  47. #
  48. commands.Select=SELECT
  49. commands.Call=
  50. #
  51. # Tables.
  52. #
  53. tables.derived=false
  54. tables.lateral.derived=false
  55. tables.joined=false
  56. #
  57. # Constructors.
  58. #
  59. constructors.table=false
  60. constructors.row=false
  61. constructors.array=false
  62. constructors.period=false
  63. constructors.map=false
  64. #
  65. # Constructors - context overrides.
  66. #
  67. constructors.row.simpleCase=false
  68. constructors.row.between=false
  69. constructors.row.comparison=false
  70. constructors.row.in=false
  71. constructors.row.isDistinctFrom=false
  72. constructors.row.inListToTable=false
  73. #
  74. # Clauses.
  75. #
  76. clauses.From=FROM
  77. clauses.Where=WHERE
  78. clauses.GroupBy=GROUP BY
  79. clauses.Having=HAVING
  80. clauses.With=
  81. clauses.OrderBy=ORDER BY
  82. clauses.Distinct=
  83. clauses.Top=
  84. clauses.At=
  85. clauses.Window=
  86. clauses.WithRecursive=
  87. clauses.TableSampleSystem=
  88. clauses.TableSampleBernoulli=
  89. clauses.ForSystemTimeAsOf=
  90. clauses.ForSystemTimeFrom=
  91. clauses.ForSystemTimeBetween=
  92. #
  93. # SFDC does not allows joins. But only some inner joins (those that can be translated to relationship queries)
  94. # Joins.
  95. #
  96. joins.Cross=
  97. joins.Inner=
  98. joins.LeftOuter=
  99. joins.RightOuter=
  100. joins.FullOuter=
  101. #
  102. # SFDC Does not allows set operators in query.
  103. # Set operators.
  104. #
  105. operators.set.Union=
  106. operators.set.Union.all=
  107. operators.set.Intersect=
  108. operators.set.Intersect.all=
  109. operators.set.Except=
  110. operators.set.Except.all=
  111. #
  112. # Logical operators.
  113. #
  114. operators.logical.And=(%1$s AND %2$s)
  115. operators.logical.Or=(%1$s OR %2$s)
  116. operators.logical.Not=(NOT(%1$s))
  117. operators.logical.Is=
  118. operators.logical.IsNot=
  119. operators.logical.IsJson=
  120. operators.logical.IsNotJson=
  121. #
  122. # Since expressions are not allowed by SFDC hence below are disabled.
  123. # Arithmetic operators.
  124. #
  125. operators.arithmetic.Add=
  126. operators.arithmetic.Subtract=
  127. operators.arithmetic.Multiply=
  128. operators.arithmetic.Divide=
  129. operators.arithmetic.Negate=
  130. operators.arithmetic.UnaryPlus=
  131. operators.arithmetic.Concat=
  132. #
  133. # Arithmetic operators.
  134. #
  135. operators.arithmetic.Add[any,any]=
  136. operators.arithmetic.Subtract[any,any]=
  137. operators.arithmetic.Multiply[any,any]=
  138. operators.arithmetic.Divide[any,any]=
  139. operators.arithmetic.Negate[any]=
  140. operators.arithmetic.UnaryPlus[any]=
  141. operators.arithmetic.Concat[any,any]=
  142. #
  143. # Group By Operators
  144. #
  145. operators.groupBy.Rollup=
  146. operators.groupBy.Cube=
  147. operators.groupBy.GroupingSets=
  148. #
  149. # Various predicates.
  150. #
  151. predicates.In=%1$s IN ( %2$s )
  152. predicates.Overlaps[any,any,any,any]=
  153. predicates.IsNull=%1$s = NULL
  154. predicates.IsNotNull=%1$s != NULL
  155. predicates.Like=%1$s LIKE %2$s
  156. predicates.Like.escape=
  157. predicates.LikeRegex=
  158. predicates.Similar=
  159. predicates.Similar.escape=
  160. predicates.Exists=
  161. predicates.All=
  162. predicates.Any=
  163. predicates.Some=
  164. predicates.IsDistinctFrom[any,any]=
  165. predicates.IsNotDistinctFrom[any,any]=
  166. #
  167. # Period predicates.
  168. #
  169. predicates.PeriodOverlaps[any,any]=
  170. predicates.PeriodEquals[any,any]=
  171. predicates.PeriodContains[any,any]=
  172. predicates.PeriodPrecedes[any,any]=
  173. predicates.PeriodSucceeds[any,any]=
  174. predicates.PeriodImmediatelyPrecedes[any,any]=
  175. predicates.PeriodImmediatelySucceeds[any,any]=
  176. #
  177. # Expressions.
  178. #
  179. expressions.SearchedCase=
  180. expressions.SimpleCase=
  181. # NULLIF(%1$s, %2$s) is equivalent to CASE WHEN %1$s = %2$s THEN NULL ELSE %1$s END
  182. expressions.NullIf=
  183. expressions.Coalesce=
  184. expressions.SearchedCase.compatibleResults=
  185. #
  186. # CAST Function ot supported by SFDC.
  187. # Cast expression.
  188. #
  189. expressions.Cast[any,any]=
  190. expressions.Cast[any,any,any]=
  191. #
  192. # Delimiters.
  193. #
  194. delimiters.tableDelimiter="
  195. delimiters.columnDelimiter=
  196. delimiters.searchStringEscape=
  197. #
  198. # Max columns in Group by and Order By can be 32.
  199. # Max statement length of SFDC Query can be 1000 characters.
  200. # Various limits.
  201. #
  202. limits.maxColumnsInGroupby=32
  203. limits.maxColumnsInOrderBy=32
  204. limits.maxStatementLength=10000
  205. #
  206. # Extract expression.
  207. #
  208. expressions.Extract.YEAR[any]=
  209. expressions.Extract.MONTH[any]=
  210. expressions.Extract.DAY[any]=
  211. expressions.Extract.HOUR[any]=
  212. expressions.Extract.MINUTE[any]=
  213. expressions.Extract.SECOND[any]=
  214. expressions.Extract.TIMEZONE_HOUR[any]=
  215. expressions.Extract.TIMEZONE_MINUTE[any]=
  216. expressions.Extract.TIMEZONE_HOUR[any]=
  217. expressions.Extract.TIMEZONE_MINUTE[any]=
  218. expressions.Extract.EPOCH[any]=
  219. #
  220. # Trim expression.
  221. #
  222. expressions.Trim.BOTH[any]=
  223. expressions.Trim.LEADING[any]=
  224. expressions.Trim.TRAILING[any]=
  225. expressions.Trim.BOTH[any,any]=
  226. expressions.Trim.LEADING[any,any]=
  227. expressions.Trim.TRAILING[any,any]=
  228. #
  229. # Windowed aggregates (SQL/OLAP).
  230. #
  231. olap.Max[any]=
  232. olap.Min[any]=
  233. olap.Sum[any]=
  234. olap.Avg[any]=
  235. olap.Count[any]=
  236. olap.CountStar[]=
  237. olap.StdDevPop[any]=
  238. olap.StdDevSamp[any]=
  239. olap.VarPop[any]=
  240. olap.VarSamp[any]=
  241. olap.Rank[]=
  242. olap.DenseRank[]=
  243. olap.PercentRank[]=
  244. olap.CumeDist[]=
  245. olap.PercentileCont[any,any]=
  246. olap.PercentileDisc[any,any]=
  247. olap.Median[any]=
  248. olap.RatioToReport[any]=
  249. olap.RowNumber[]=
  250. olap.Difference[any]=
  251. olap.FirstValue[any]=
  252. olap.LastValue[any]=
  253. olap.NTile[any]=
  254. olap.Tertile[]=
  255. olap.Lag[any]=
  256. olap.Lag[any,any]=
  257. olap.Lag[any,any,any]=
  258. olap.Lag[any,any,any,any]=
  259. olap.Lead[any]=
  260. olap.Lead[any,any]=
  261. olap.Lead[any,any,any]=
  262. olap.Lead[any,any,any,any]=
  263. olap.NthValue[any,any]=
  264. olap.NthValue[any,any,any]=
  265. olap.NthValue[any,any,any,any]=
  266. olap.Collect[any]=
  267. #
  268. # Window clause
  269. #
  270. olap.Window=
  271. olap.PartitionBy=
  272. olap.OrderBy=
  273. #
  274. # Window specification
  275. #
  276. olap.Window.Specification[POF]=false
  277. olap.Window.Specification[PF]=false
  278. olap.Window.Specification[OF]=false
  279. olap.Window.Specification[PO]=false
  280. olap.Window.Specification[P]=false
  281. olap.Window.Specification[O]=false
  282. olap.Window.Specification[F]=false
  283. olap.Window.Specification[]=false
  284. #
  285. # Olap Distinct
  286. #
  287. olap.Min.distinct[any]=
  288. olap.Max.distinct[any]=
  289. olap.Sum.distinct[any]=
  290. olap.Avg.distinct[any]=
  291. olap.Count.distinct[any]=
  292. #
  293. # Aggregates.
  294. #
  295. aggregates.Max[any]=
  296. aggregates.Min[any]=
  297. aggregates.Sum[any]=
  298. aggregates.Avg[any]=
  299. aggregates.Count[any]=
  300. aggregates.CountStar[]=
  301. aggregates.StdDevSamp[any]=
  302. aggregates.StdDevPop[any]=
  303. aggregates.VarSamp[any]=
  304. aggregates.VarPop[any]=
  305. aggregates.Rank[any,any]=
  306. aggregates.DenseRank[any,any]=
  307. aggregates.PercentRank[any,any]=
  308. aggregates.CumeDist[any,any]=
  309. aggregates.PercentileCont[any,any]=
  310. aggregates.PercentileDisc[any,any]=
  311. aggregates.Median[any]=
  312. aggregates.XMLAgg=
  313. aggregates.Grouping[any]=
  314. aggregates.CumeDistH[any,any]=
  315. aggregates.PercentileDisc[any,any]=
  316. aggregates.PercentileCont[any,any]=
  317. aggregates.Median[any]=
  318. aggregates.Grouping[any]=
  319. aggregates.XMLAgg[any]=
  320. aggregates.ArrayAgg[any]=
  321. aggregates.ArrayAgg[any,any]=
  322. aggregates.Collect[any]=
  323. aggregates.ApproxCountDistinct[any]=
  324. #
  325. # Aggregates (distinct).
  326. #
  327. aggregates.Max.distinct[any]=
  328. aggregates.Min.distinct[any]=
  329. aggregates.Sum.distinct[any]=
  330. aggregates.Avg.distinct[any]=
  331. aggregates.Count.distinct[any]=
  332. #
  333. # Linear regression aggregates.
  334. #
  335. aggregates.Corr[any,any]=
  336. aggregates.CovarPop[any,any]=
  337. aggregates.CovarSamp[any,any]=
  338. aggregates.RegrAvgX[any,any]=
  339. aggregates.RegrAvgY[any,any]=
  340. aggregates.RegrCount[any,any]=
  341. aggregates.RegrIntercept[any,any]=
  342. aggregates.RegrR2[any,any]=
  343. aggregates.RegrSlope[any,any]=
  344. aggregates.RegrSXX[any,any]=
  345. aggregates.RegrSXY[any,any]=
  346. aggregates.RegrSYY[any,any]=
  347. #
  348. # JSON aggregates.
  349. #
  350. aggregates.JSONArrayAgg=
  351. aggregates.JSONObjectAgg=
  352. #
  353. # Character scalar functions.
  354. #
  355. functions.CharLength[any]=
  356. functions.OctetLength[any]=
  357. functions.BitLength[any]=
  358. functions.Upper[any]=
  359. functions.Lower[any]=
  360. functions.Substring[any,any]=
  361. functions.Substring[any,any,any]=
  362. functions.Position[any,any]=
  363. functions.Index[any,any]=
  364. functions.Ascii[any]=
  365. functions.Translate[any,any]=
  366. #
  367. # Numeric scalar functions.
  368. #
  369. functions.Abs[any]=
  370. functions.Ceiling[any]=
  371. functions.Exp[any]=
  372. functions.Floor[any]=
  373. functions.Ln[any]=
  374. functions.Log10[any]=
  375. functions.Mod[any,any]=
  376. functions.Power[any,any]=
  377. functions.Round[any]=
  378. functions.Round[any,any]=
  379. functions.Round[any,any,any]=
  380. functions.Sign[any]=
  381. functions.Sqrt[any]=
  382. functions.WidthBucket[any,any,any,any]=
  383. functions.Random[]=
  384. functions.Random[any]=
  385. functions.Translate[any,any]=
  386. functions.Normalize[any]=
  387. functions.Normalize[any,any]=
  388. functions.Normalize[any,any,any]=
  389. functions.SubstringR[any,any]=
  390. functions.SubstringR[any,any,any]=
  391. #
  392. # Trigonometric functions.
  393. #
  394. functions.Arccos[any]=
  395. functions.Arcsin[any]=
  396. functions.Arctan[any]=
  397. functions.Cos[any]=
  398. functions.Coshyp[any]=
  399. functions.Sin[any]=
  400. functions.Sinhyp[any]=
  401. functions.Tan[any]=
  402. functions.Tanhyp[any]=
  403. #
  404. # Datetime value functions.
  405. #
  406. functions.CurrentDate[]=
  407. functions.CurrentTime[]=
  408. functions.CurrentTimestamp[]=
  409. functions.LocalTime[]=
  410. functions.LocalTimestamp[]=
  411. functions.CurrentTime[numeric]=
  412. functions.CurrentTimestamp[numeric]=
  413. functions.LocalTime[numeric]=
  414. functions.LocalTimestamp[numeric]=
  415. functions.SecondsBetween[any,any]=
  416. functions.MinutesBetween[any,any]=
  417. functions.HoursBetween[any,any]=
  418. #
  419. # XML functions.
  420. #
  421. functions.XMLAttributes=
  422. functions.XMLComment=
  423. functions.XMLConcat=
  424. functions.XMLDocument=
  425. functions.XMLElement=
  426. functions.XMLExists=
  427. functions.XMLForest=
  428. functions.XMLParse=
  429. functions.XMLPI=
  430. functions.XMLNamespaces=
  431. functions.XMLQuery=
  432. functions.XMLSerialize=
  433. functions.XMLTable=
  434. functions.XMLText=
  435. functions.XMLTransform=
  436. functions.XMLValidate=
  437. #
  438. # Business date functions.
  439. #
  440. functions.AddDays[any,any]=
  441. functions.AddMonths[any,any]=
  442. functions.AddYears[any,any]=
  443. functions.Age[any]=
  444. functions.DayOfWeek[any,any]=
  445. functions.DayOfYear[any]=
  446. functions.DaysBetween[any,any]=
  447. functions.DaysToEndOfMonth[any]=
  448. functions.FirstOfMonth[any]=
  449. functions.LastOfMonth[any]=
  450. functions.MakeTimestamp[any,any,any]=
  451. functions.MonthsBetween[any,any]=
  452. functions.WeekOfYear[any]=
  453. functions.YearsBetween[any,any]=
  454. functions.YMDIntBetween[any,any]=
  455. #
  456. # Mappings used for transformation purposes only.
  457. #
  458. functions.macro.AddHours[intervaldt,numeric]=
  459. functions.macro.AddHours[time,numeric]=
  460. functions.macro.AddHours[timestamp,numeric]=
  461. functions.macro.AddMinutes[intervaldt,numeric]=
  462. functions.macro.AddMinutes[time,numeric]=
  463. functions.macro.AddMinutes[timestamp,numeric]=
  464. functions.macro.AddSeconds[intervaldt,numeric]=
  465. functions.macro.AddSeconds[time,numeric]=
  466. functions.macro.AddSeconds[timestamp,numeric]=
  467. functions.macro.HoursBetween[datetime,datetime]=
  468. functions.macro.MinutesBetween[datetime,datetime]=
  469. functions.macro.SecondsBetween[datetime,datetime]=
  470. #
  471. # Regular expression functions.
  472. #
  473. functions.SubstringRegex[any,any,any,any,any]=
  474. functions.OccurrencesRegex[any,any,any,any]=
  475. functions.PositionRegex[any,any,any,any,any,any]=
  476. #
  477. # Array scalar functions
  478. #
  479. functions.Cardinality[any]=
  480. functions.TrimArray[any,any]=
  481. #
  482. # JSON functions.
  483. #
  484. functions.JSONObject=
  485. functions.JSONArray=
  486. functions.JSONExists=
  487. functions.JSONQuery=
  488. functions.JSONTable=
  489. functions.JSONValue=
  490. functions.AddHours[any,any]=
  491. functions.AddMinutes[any,any]=
  492. functions.AddSeconds[any,any]=
  493. functions.AddFractionalSeconds[any,any]=
  494. functions.AddWeeks[any,any]=
  495. functions.AddMonths[any,any]=
  496. functions.AddQuarters[any,any]=
  497. functions.Age[any]=
  498. functions.FractionalSecondsBetween[any,any]=
  499. functions.DaysBetween[any,any]=
  500. functions.WeeksBetween[any,any]=
  501. functions.MonthsBetween[any,any]=
  502. functions.QuartersBetween[any,any]=
  503. functions.DaysToEndOfMonth[any]
  504. functions.FirstOfMonth[any]=
  505. functions.LastOfMonth[any]=
  506. functions.MakeTimestamp[any,any,any]=
  507. functions.WeekOfYear[any]=
  508. functions.YMDIntBetween[any,any]=
  509. #
  510. # Table functions.
  511. #
  512. functions.Unnest=
  513. #
  514. # Literals.
  515. #
  516. literals.binary=false
  517. literals.blob=false
  518. literals.clob=false
  519. literals.boolean=true
  520. literals.date=true
  521. literals.time=true
  522. literals.time_with_time_zone=false
  523. literals.timestamp=false
  524. literals.timestamp_with_time_zone=true
  525. literals.interval_day=false
  526. literals.interval_day_to_hour=false
  527. literals.interval_day_to_minute=false
  528. literals.interval_day_to_second=false
  529. literals.interval_hour=false
  530. literals.interval_hour_to_minute=false
  531. literals.interval_hour_to_second=false
  532. literals.interval_minute=false
  533. literals.interval_minute_to_second=false
  534. literals.interval_second=false
  535. literals.interval_year=false
  536. literals.interval_year_to_month=false
  537. literals.interval_month=false
  538. literals.smallint=true
  539. literals.integer=true
  540. literals.long=true
  541. literals.float=true
  542. literals.double=true
  543. literals.decimal=true
  544. literals.char=true
  545. literals.nchar=true
  546. literals.varchar=true
  547. literals.nvarchar=true
  548. literals.xml=false
  549. #
  550. # Data types.
  551. #
  552. dataType.binary=false
  553. dataType.blob=false
  554. dataType.clob=false
  555. dataType.boolean=true
  556. dataType.date=true
  557. dataType.time=true
  558. dataType.time_with_time_zone=false
  559. dataType.timestamp=false
  560. dataType.timestamp_with_time_zone=true
  561. dataType.interval_day=false
  562. dataType.interval_day_to_hour=false
  563. dataType.interval_day_to_minute=false
  564. dataType.interval_day_to_second=false
  565. dataType.interval_hour=false
  566. dataType.interval_hour_to_minute=false
  567. dataType.interval_hour_to_second=false
  568. dataType.interval_minute=false
  569. dataType.interval_minute_to_second=false
  570. dataType.interval_second=false
  571. dataType.interval_year=false
  572. dataType.interval_year_to_month=false
  573. dataType.interval_month=false
  574. dataType.smallint=true
  575. dataType.integer=true
  576. dataType.long=true
  577. dataType.float=true
  578. dataType.double=true
  579. dataType.decimal=true
  580. dataType.char=true
  581. dataType.nchar=true
  582. dataType.varchar=true
  583. dataType.nvarchar=true
  584. dataType.xml=true
  585. dataType.period=true