float8.err 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188
  1. <sql-statement>
  2. --
  3. -- FLOAT8
  4. --
  5. CREATE TABLE FLOAT8_TBL(f1 float8);
  6. </sql-statement>
  7. <sql-statement>
  8. INSERT INTO FLOAT8_TBL(f1) VALUES (' 0.0 ');
  9. </sql-statement>
  10. <sql-statement>
  11. INSERT INTO FLOAT8_TBL(f1) VALUES ('1004.30 ');
  12. </sql-statement>
  13. <sql-statement>
  14. INSERT INTO FLOAT8_TBL(f1) VALUES (' -34.84');
  15. </sql-statement>
  16. <sql-statement>
  17. INSERT INTO FLOAT8_TBL(f1) VALUES ('1.2345678901234e+200');
  18. </sql-statement>
  19. <sql-statement>
  20. INSERT INTO FLOAT8_TBL(f1) VALUES ('1.2345678901234e-200');
  21. </sql-statement>
  22. <sql-statement>
  23. -- test for underflow and overflow handling
  24. SELECT '10e400'::float8;
  25. </sql-statement>
  26. -stdin-:<main>: Fatal: Execution
  27. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  28. -- test for underflow and overflow handling
  29. ^
  30. -stdin-:<main>:1:1: Fatal: ERROR: "10e400" is out of range for type double precision
  31. -- test for underflow and overflow handling
  32. ^
  33. <sql-statement>
  34. SELECT '-10e400'::float8;
  35. </sql-statement>
  36. -stdin-:<main>: Fatal: Execution
  37. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  38. SELECT '-10e400'::float8;
  39. ^
  40. -stdin-:<main>:1:1: Fatal: ERROR: "-10e400" is out of range for type double precision
  41. SELECT '-10e400'::float8;
  42. ^
  43. <sql-statement>
  44. SELECT '10e-400'::float8;
  45. </sql-statement>
  46. -stdin-:<main>: Fatal: Execution
  47. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  48. SELECT '10e-400'::float8;
  49. ^
  50. -stdin-:<main>:1:1: Fatal: ERROR: "10e-400" is out of range for type double precision
  51. SELECT '10e-400'::float8;
  52. ^
  53. <sql-statement>
  54. SELECT '-10e-400'::float8;
  55. </sql-statement>
  56. -stdin-:<main>: Fatal: Execution
  57. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  58. SELECT '-10e-400'::float8;
  59. ^
  60. -stdin-:<main>:1:1: Fatal: ERROR: "-10e-400" is out of range for type double precision
  61. SELECT '-10e-400'::float8;
  62. ^
  63. <sql-statement>
  64. -- test smallest normalized input
  65. SELECT float8send('2.2250738585072014E-308'::float8);
  66. </sql-statement>
  67. <sql-statement>
  68. -- bad input
  69. INSERT INTO FLOAT8_TBL(f1) VALUES ('');
  70. </sql-statement>
  71. -stdin-:<main>: Fatal: Execution
  72. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  73. -- bad input
  74. ^
  75. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type double precision: ""
  76. -- bad input
  77. ^
  78. <sql-statement>
  79. INSERT INTO FLOAT8_TBL(f1) VALUES (' ');
  80. </sql-statement>
  81. -stdin-:<main>: Fatal: Execution
  82. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  83. INSERT INTO FLOAT8_TBL(f1) VALUES (' ');
  84. ^
  85. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type double precision: " "
  86. INSERT INTO FLOAT8_TBL(f1) VALUES (' ');
  87. ^
  88. <sql-statement>
  89. INSERT INTO FLOAT8_TBL(f1) VALUES ('xyz');
  90. </sql-statement>
  91. -stdin-:<main>: Fatal: Execution
  92. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  93. INSERT INTO FLOAT8_TBL(f1) VALUES ('xyz');
  94. ^
  95. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type double precision: "xyz"
  96. INSERT INTO FLOAT8_TBL(f1) VALUES ('xyz');
  97. ^
  98. <sql-statement>
  99. INSERT INTO FLOAT8_TBL(f1) VALUES ('5.0.0');
  100. </sql-statement>
  101. -stdin-:<main>: Fatal: Execution
  102. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  103. INSERT INTO FLOAT8_TBL(f1) VALUES ('5.0.0');
  104. ^
  105. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type double precision: "5.0.0"
  106. INSERT INTO FLOAT8_TBL(f1) VALUES ('5.0.0');
  107. ^
  108. <sql-statement>
  109. INSERT INTO FLOAT8_TBL(f1) VALUES ('5 . 0');
  110. </sql-statement>
  111. -stdin-:<main>: Fatal: Execution
  112. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  113. INSERT INTO FLOAT8_TBL(f1) VALUES ('5 . 0');
  114. ^
  115. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type double precision: "5 . 0"
  116. INSERT INTO FLOAT8_TBL(f1) VALUES ('5 . 0');
  117. ^
  118. <sql-statement>
  119. INSERT INTO FLOAT8_TBL(f1) VALUES ('5. 0');
  120. </sql-statement>
  121. -stdin-:<main>: Fatal: Execution
  122. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  123. INSERT INTO FLOAT8_TBL(f1) VALUES ('5. 0');
  124. ^
  125. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type double precision: "5. 0"
  126. INSERT INTO FLOAT8_TBL(f1) VALUES ('5. 0');
  127. ^
  128. <sql-statement>
  129. INSERT INTO FLOAT8_TBL(f1) VALUES (' - 3');
  130. </sql-statement>
  131. -stdin-:<main>: Fatal: Execution
  132. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  133. INSERT INTO FLOAT8_TBL(f1) VALUES (' - 3');
  134. ^
  135. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type double precision: " - 3"
  136. INSERT INTO FLOAT8_TBL(f1) VALUES (' - 3');
  137. ^
  138. <sql-statement>
  139. INSERT INTO FLOAT8_TBL(f1) VALUES ('123 5');
  140. </sql-statement>
  141. -stdin-:<main>: Fatal: Execution
  142. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  143. INSERT INTO FLOAT8_TBL(f1) VALUES ('123 5');
  144. ^
  145. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type double precision: "123 5"
  146. INSERT INTO FLOAT8_TBL(f1) VALUES ('123 5');
  147. ^
  148. <sql-statement>
  149. -- special inputs
  150. SELECT 'NaN'::float8;
  151. </sql-statement>
  152. <sql-statement>
  153. SELECT 'nan'::float8;
  154. </sql-statement>
  155. <sql-statement>
  156. SELECT ' NAN '::float8;
  157. </sql-statement>
  158. <sql-statement>
  159. SELECT 'infinity'::float8;
  160. </sql-statement>
  161. <sql-statement>
  162. SELECT ' -INFINiTY '::float8;
  163. </sql-statement>
  164. <sql-statement>
  165. -- bad special inputs
  166. SELECT 'N A N'::float8;
  167. </sql-statement>
  168. -stdin-:<main>: Fatal: Execution
  169. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  170. -- bad special inputs
  171. ^
  172. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type double precision: "N A N"
  173. -- bad special inputs
  174. ^
  175. <sql-statement>
  176. SELECT 'NaN x'::float8;
  177. </sql-statement>
  178. -stdin-:<main>: Fatal: Execution
  179. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  180. SELECT 'NaN x'::float8;
  181. ^
  182. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type double precision: "NaN x"
  183. SELECT 'NaN x'::float8;
  184. ^
  185. <sql-statement>
  186. SELECT ' INFINITY x'::float8;
  187. </sql-statement>
  188. -stdin-:<main>: Fatal: Execution
  189. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  190. SELECT ' INFINITY x'::float8;
  191. ^
  192. -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type double precision: " INFINITY x"
  193. SELECT ' INFINITY x'::float8;
  194. ^
  195. <sql-statement>
  196. SELECT 'Infinity'::float8 + 100.0;
  197. </sql-statement>
  198. <sql-statement>
  199. SELECT 'Infinity'::float8 / 'Infinity'::float8;
  200. </sql-statement>
  201. <sql-statement>
  202. SELECT '42'::float8 / 'Infinity'::float8;
  203. </sql-statement>
  204. <sql-statement>
  205. SELECT 'nan'::float8 / 'nan'::float8;
  206. </sql-statement>
  207. <sql-statement>
  208. SELECT 'nan'::float8 / '0'::float8;
  209. </sql-statement>
  210. <sql-statement>
  211. SELECT 'nan'::numeric::float8;
  212. </sql-statement>
  213. <sql-statement>
  214. SELECT * FROM FLOAT8_TBL;
  215. </sql-statement>
  216. <sql-statement>
  217. SELECT f.* FROM FLOAT8_TBL f WHERE f.f1 <> '1004.3';
  218. </sql-statement>
  219. <sql-statement>
  220. SELECT f.* FROM FLOAT8_TBL f WHERE f.f1 = '1004.3';
  221. </sql-statement>
  222. <sql-statement>
  223. SELECT f.* FROM FLOAT8_TBL f WHERE '1004.3' > f.f1;
  224. </sql-statement>
  225. <sql-statement>
  226. SELECT f.* FROM FLOAT8_TBL f WHERE f.f1 < '1004.3';
  227. </sql-statement>
  228. <sql-statement>
  229. SELECT f.* FROM FLOAT8_TBL f WHERE '1004.3' >= f.f1;
  230. </sql-statement>
  231. <sql-statement>
  232. SELECT f.* FROM FLOAT8_TBL f WHERE f.f1 <= '1004.3';
  233. </sql-statement>
  234. <sql-statement>
  235. SELECT f.f1, f.f1 * '-10' AS x
  236. FROM FLOAT8_TBL f
  237. WHERE f.f1 > '0.0';
  238. </sql-statement>
  239. <sql-statement>
  240. SELECT f.f1, f.f1 + '-10' AS x
  241. FROM FLOAT8_TBL f
  242. WHERE f.f1 > '0.0';
  243. </sql-statement>
  244. <sql-statement>
  245. SELECT f.f1, f.f1 / '-10' AS x
  246. FROM FLOAT8_TBL f
  247. WHERE f.f1 > '0.0';
  248. </sql-statement>
  249. <sql-statement>
  250. SELECT f.f1, f.f1 - '-10' AS x
  251. FROM FLOAT8_TBL f
  252. WHERE f.f1 > '0.0';
  253. </sql-statement>
  254. <sql-statement>
  255. SELECT f.f1 ^ '2.0' AS square_f1
  256. FROM FLOAT8_TBL f where f.f1 = '1004.3';
  257. </sql-statement>
  258. <sql-statement>
  259. -- absolute value
  260. SELECT f.f1, @f.f1 AS abs_f1
  261. FROM FLOAT8_TBL f;
  262. </sql-statement>
  263. <sql-statement>
  264. -- truncate
  265. SELECT f.f1, trunc(f.f1) AS trunc_f1
  266. FROM FLOAT8_TBL f;
  267. </sql-statement>
  268. <sql-statement>
  269. -- round
  270. SELECT f.f1, round(f.f1) AS round_f1
  271. FROM FLOAT8_TBL f;
  272. </sql-statement>
  273. <sql-statement>
  274. -- ceil / ceiling
  275. select ceil(f1) as ceil_f1 from float8_tbl f;
  276. </sql-statement>
  277. -stdin-:<main>: Fatal: Table metadata loading
  278. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.float8_tbl
  279. <sql-statement>
  280. select ceiling(f1) as ceiling_f1 from float8_tbl f;
  281. </sql-statement>
  282. -stdin-:<main>: Fatal: Table metadata loading
  283. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.float8_tbl
  284. <sql-statement>
  285. -- floor
  286. select floor(f1) as floor_f1 from float8_tbl f;
  287. </sql-statement>
  288. -stdin-:<main>: Fatal: Table metadata loading
  289. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.float8_tbl
  290. <sql-statement>
  291. -- sign
  292. select sign(f1) as sign_f1 from float8_tbl f;
  293. </sql-statement>
  294. -stdin-:<main>: Fatal: Table metadata loading
  295. -stdin-:<main>: Fatal: ydb/library/yql/providers/yt/gateway/file/yql_yt_file_services.cpp:44: Table not found: plato.float8_tbl
  296. <sql-statement>
  297. -- avoid bit-exact output here because operations may not be bit-exact.
  298. SET extra_float_digits = 0;
  299. </sql-statement>
  300. <sql-statement>
  301. -- square root
  302. SELECT sqrt(float8 '64') AS eight;
  303. </sql-statement>
  304. <sql-statement>
  305. SELECT |/ float8 '64' AS eight;
  306. </sql-statement>
  307. <sql-statement>
  308. SELECT f.f1, |/f.f1 AS sqrt_f1
  309. FROM FLOAT8_TBL f
  310. WHERE f.f1 > '0.0';
  311. </sql-statement>
  312. <sql-statement>
  313. -- power
  314. SELECT power(float8 '144', float8 '0.5');
  315. </sql-statement>
  316. <sql-statement>
  317. SELECT power(float8 'NaN', float8 '0.5');
  318. </sql-statement>
  319. <sql-statement>
  320. SELECT power(float8 '144', float8 'NaN');
  321. </sql-statement>
  322. <sql-statement>
  323. SELECT power(float8 'NaN', float8 'NaN');
  324. </sql-statement>
  325. <sql-statement>
  326. SELECT power(float8 '-1', float8 'NaN');
  327. </sql-statement>
  328. <sql-statement>
  329. SELECT power(float8 '1', float8 'NaN');
  330. </sql-statement>
  331. <sql-statement>
  332. SELECT power(float8 'NaN', float8 '0');
  333. </sql-statement>
  334. <sql-statement>
  335. SELECT power(float8 'inf', float8 '0');
  336. </sql-statement>
  337. <sql-statement>
  338. SELECT power(float8 '-inf', float8 '0');
  339. </sql-statement>
  340. <sql-statement>
  341. SELECT power(float8 '0', float8 'inf');
  342. </sql-statement>
  343. <sql-statement>
  344. SELECT power(float8 '0', float8 '-inf');
  345. </sql-statement>
  346. -stdin-:<main>: Fatal: Execution
  347. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  348. SELECT power(float8 '0', float8 '-inf');
  349. ^
  350. -stdin-:<main>:1:1: Fatal: ERROR: zero raised to a negative power is undefined
  351. SELECT power(float8 '0', float8 '-inf');
  352. ^
  353. <sql-statement>
  354. SELECT power(float8 '1', float8 'inf');
  355. </sql-statement>
  356. <sql-statement>
  357. SELECT power(float8 '1', float8 '-inf');
  358. </sql-statement>
  359. <sql-statement>
  360. SELECT power(float8 '-1', float8 'inf');
  361. </sql-statement>
  362. <sql-statement>
  363. SELECT power(float8 '-1', float8 '-inf');
  364. </sql-statement>
  365. <sql-statement>
  366. SELECT power(float8 '0.1', float8 'inf');
  367. </sql-statement>
  368. <sql-statement>
  369. SELECT power(float8 '-0.1', float8 'inf');
  370. </sql-statement>
  371. <sql-statement>
  372. SELECT power(float8 '1.1', float8 'inf');
  373. </sql-statement>
  374. <sql-statement>
  375. SELECT power(float8 '-1.1', float8 'inf');
  376. </sql-statement>
  377. <sql-statement>
  378. SELECT power(float8 '0.1', float8 '-inf');
  379. </sql-statement>
  380. <sql-statement>
  381. SELECT power(float8 '-0.1', float8 '-inf');
  382. </sql-statement>
  383. <sql-statement>
  384. SELECT power(float8 '1.1', float8 '-inf');
  385. </sql-statement>
  386. <sql-statement>
  387. SELECT power(float8 '-1.1', float8 '-inf');
  388. </sql-statement>
  389. <sql-statement>
  390. SELECT power(float8 'inf', float8 '-2');
  391. </sql-statement>
  392. <sql-statement>
  393. SELECT power(float8 'inf', float8 '2');
  394. </sql-statement>
  395. <sql-statement>
  396. SELECT power(float8 'inf', float8 'inf');
  397. </sql-statement>
  398. <sql-statement>
  399. SELECT power(float8 'inf', float8 '-inf');
  400. </sql-statement>
  401. <sql-statement>
  402. -- Intel's icc misoptimizes the code that controls the sign of this result,
  403. -- even with -mp1. Pending a fix for that, only test for "is it zero".
  404. SELECT power(float8 '-inf', float8 '-2') = '0';
  405. </sql-statement>
  406. <sql-statement>
  407. SELECT power(float8 '-inf', float8 '-3');
  408. </sql-statement>
  409. <sql-statement>
  410. SELECT power(float8 '-inf', float8 '2');
  411. </sql-statement>
  412. <sql-statement>
  413. SELECT power(float8 '-inf', float8 '3');
  414. </sql-statement>
  415. <sql-statement>
  416. SELECT power(float8 '-inf', float8 '3.5');
  417. </sql-statement>
  418. -stdin-:<main>: Fatal: Execution
  419. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  420. SELECT power(float8 '-inf', float8 '3.5');
  421. ^
  422. -stdin-:<main>:1:1: Fatal: ERROR: a negative number raised to a non-integer power yields a complex result
  423. SELECT power(float8 '-inf', float8 '3.5');
  424. ^
  425. <sql-statement>
  426. SELECT power(float8 '-inf', float8 'inf');
  427. </sql-statement>
  428. <sql-statement>
  429. SELECT power(float8 '-inf', float8 '-inf');
  430. </sql-statement>
  431. <sql-statement>
  432. -- take exp of ln(f.f1)
  433. SELECT f.f1, exp(ln(f.f1)) AS exp_ln_f1
  434. FROM FLOAT8_TBL f
  435. WHERE f.f1 > '0.0';
  436. </sql-statement>
  437. <sql-statement>
  438. -- check edge cases for exp
  439. SELECT exp('inf'::float8), exp('-inf'::float8), exp('nan'::float8);
  440. </sql-statement>
  441. -stdin-:<main>: Error: Type annotation
  442. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem
  443. -- check edge cases for exp
  444. ^
  445. -stdin-:<main>:1:1: Error: Duplicated member: exp
  446. -- check edge cases for exp
  447. ^
  448. <sql-statement>
  449. -- cube root
  450. SELECT ||/ float8 '27' AS three;
  451. </sql-statement>
  452. <sql-statement>
  453. SELECT f.f1, ||/f.f1 AS cbrt_f1 FROM FLOAT8_TBL f;
  454. </sql-statement>
  455. <sql-statement>
  456. SELECT * FROM FLOAT8_TBL;
  457. </sql-statement>
  458. <sql-statement>
  459. UPDATE FLOAT8_TBL
  460. SET f1 = FLOAT8_TBL.f1 * '-1'
  461. WHERE FLOAT8_TBL.f1 > '0.0';
  462. </sql-statement>
  463. -stdin-:<main>: Fatal: Pre type annotation
  464. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_update' not found in enum NYql::EYtSettingType. Valid options are: 'initial', 'infer_scheme', 'force_infer_schema', 'do_not_fail_on_invalid_schema', 'direct_read', 'view', 'mode', 'scheme', 'weak_concat', 'anonymous', 'with_qb', 'inline', 'sample', 'joinLabel', 'ignore_non_existing', 'warn_non_existing', 'xlock', 'unordered', 'nonUnique', 'userschema', 'usercolumns', 'statcolumns', 'syscolumns', 'ignoretypev3', 'memUsage', 'itemsCount', 'rowFactor', 'ordered', 'keyFilter', 'keyFilter2', 'take', 'skip', 'limit', 'sortLimitBy', 'sortBy', 'reduceBy', 'reduceFilterBy', 'forceTransform', 'weakFields', 'sharded', 'combineChunks', 'jobCount', 'joinReduce', 'firstAsPrimary', 'flow', 'keepSorted', 'keySwitch', 'uniqueBy', 'opHash', 'mapOutputType', 'reduceInputType', 'noDq', 'split', 'compression_codec', 'erasure_codec', 'expiration', 'replication_factor', 'user_attrs', 'media', 'primary_medium', 'keep_meta', 'monotonic_keys', 'mutationid'.
  465. <sql-statement>
  466. SELECT f.f1 * '1e200' from FLOAT8_TBL f;
  467. </sql-statement>
  468. -stdin-:<main>: Fatal: Execution
  469. -stdin-:<main>:1:1: Fatal: Execution of node: YtMap!
  470. SELECT f.f1 * '1e200' from FLOAT8_TBL f;
  471. ^
  472. -stdin-:<main>:1:1: Fatal: ERROR: value out of range: overflow
  473. SELECT f.f1 * '1e200' from FLOAT8_TBL f;
  474. ^
  475. <sql-statement>
  476. SELECT f.f1 ^ '1e200' from FLOAT8_TBL f;
  477. </sql-statement>
  478. -stdin-:<main>: Fatal: Execution
  479. -stdin-:<main>:1:1: Fatal: Execution of node: YtMap!
  480. SELECT f.f1 ^ '1e200' from FLOAT8_TBL f;
  481. ^
  482. -stdin-:<main>:1:1: Fatal: ERROR: value out of range: overflow
  483. SELECT f.f1 ^ '1e200' from FLOAT8_TBL f;
  484. ^
  485. <sql-statement>
  486. SELECT 0 ^ 0 + 0 ^ 1 + 0 ^ 0.0 + 0 ^ 0.5;
  487. </sql-statement>
  488. <sql-statement>
  489. SELECT ln(f.f1) from FLOAT8_TBL f where f.f1 = '0.0' ;
  490. </sql-statement>
  491. -stdin-:<main>: Fatal: Execution
  492. -stdin-:<main>:1:1: Fatal: Execution of node: YtMap!
  493. SELECT ln(f.f1) from FLOAT8_TBL f where f.f1 = '0.0' ;
  494. ^
  495. -stdin-:<main>:1:1: Fatal: ERROR: cannot take logarithm of zero
  496. SELECT ln(f.f1) from FLOAT8_TBL f where f.f1 = '0.0' ;
  497. ^
  498. <sql-statement>
  499. SELECT ln(f.f1) from FLOAT8_TBL f where f.f1 < '0.0' ;
  500. </sql-statement>
  501. -stdin-:<main>: Fatal: Execution
  502. -stdin-:<main>:1:1: Fatal: Execution of node: YtMap!
  503. SELECT ln(f.f1) from FLOAT8_TBL f where f.f1 < '0.0' ;
  504. ^
  505. -stdin-:<main>:1:1: Fatal: ERROR: cannot take logarithm of a negative number
  506. SELECT ln(f.f1) from FLOAT8_TBL f where f.f1 < '0.0' ;
  507. ^
  508. <sql-statement>
  509. SELECT exp(f.f1) from FLOAT8_TBL f;
  510. </sql-statement>
  511. -stdin-:<main>: Fatal: Execution
  512. -stdin-:<main>:1:1: Fatal: Execution of node: YtMap!
  513. SELECT exp(f.f1) from FLOAT8_TBL f;
  514. ^
  515. -stdin-:<main>:1:1: Fatal: ERROR: value out of range: overflow
  516. SELECT exp(f.f1) from FLOAT8_TBL f;
  517. ^
  518. <sql-statement>
  519. SELECT f.f1 / '0.0' from FLOAT8_TBL f;
  520. </sql-statement>
  521. -stdin-:<main>: Fatal: Execution
  522. -stdin-:<main>:1:1: Fatal: Execution of node: YtMap!
  523. SELECT f.f1 / '0.0' from FLOAT8_TBL f;
  524. ^
  525. -stdin-:<main>:1:1: Fatal: ERROR: division by zero
  526. SELECT f.f1 / '0.0' from FLOAT8_TBL f;
  527. ^
  528. <sql-statement>
  529. SELECT * FROM FLOAT8_TBL;
  530. </sql-statement>
  531. <sql-statement>
  532. -- hyperbolic functions
  533. -- we run these with extra_float_digits = 0 too, since different platforms
  534. -- tend to produce results that vary in the last place.
  535. SELECT sinh(float8 '1');
  536. </sql-statement>
  537. <sql-statement>
  538. SELECT cosh(float8 '1');
  539. </sql-statement>
  540. <sql-statement>
  541. SELECT tanh(float8 '1');
  542. </sql-statement>
  543. <sql-statement>
  544. SELECT asinh(float8 '1');
  545. </sql-statement>
  546. <sql-statement>
  547. SELECT acosh(float8 '2');
  548. </sql-statement>
  549. <sql-statement>
  550. SELECT atanh(float8 '0.5');
  551. </sql-statement>
  552. <sql-statement>
  553. -- test Inf/NaN cases for hyperbolic functions
  554. SELECT sinh(float8 'infinity');
  555. </sql-statement>
  556. <sql-statement>
  557. SELECT sinh(float8 '-infinity');
  558. </sql-statement>
  559. <sql-statement>
  560. SELECT sinh(float8 'nan');
  561. </sql-statement>
  562. <sql-statement>
  563. SELECT cosh(float8 'infinity');
  564. </sql-statement>
  565. <sql-statement>
  566. SELECT cosh(float8 '-infinity');
  567. </sql-statement>
  568. <sql-statement>
  569. SELECT cosh(float8 'nan');
  570. </sql-statement>
  571. <sql-statement>
  572. SELECT tanh(float8 'infinity');
  573. </sql-statement>
  574. <sql-statement>
  575. SELECT tanh(float8 '-infinity');
  576. </sql-statement>
  577. <sql-statement>
  578. SELECT tanh(float8 'nan');
  579. </sql-statement>
  580. <sql-statement>
  581. SELECT asinh(float8 'infinity');
  582. </sql-statement>
  583. <sql-statement>
  584. SELECT asinh(float8 '-infinity');
  585. </sql-statement>
  586. <sql-statement>
  587. SELECT asinh(float8 'nan');
  588. </sql-statement>
  589. <sql-statement>
  590. -- acosh(Inf) should be Inf, but some mingw versions produce NaN, so skip test
  591. -- SELECT acosh(float8 'infinity');
  592. SELECT acosh(float8 '-infinity');
  593. </sql-statement>
  594. -stdin-:<main>: Fatal: Execution
  595. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  596. -- acosh(Inf) should be Inf, but some mingw versions produce NaN, so skip test
  597. ^
  598. -stdin-:<main>:1:1: Fatal: ERROR: input is out of range
  599. -- acosh(Inf) should be Inf, but some mingw versions produce NaN, so skip test
  600. ^
  601. <sql-statement>
  602. SELECT acosh(float8 'nan');
  603. </sql-statement>
  604. <sql-statement>
  605. SELECT atanh(float8 'infinity');
  606. </sql-statement>
  607. -stdin-:<main>: Fatal: Execution
  608. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  609. SELECT atanh(float8 'infinity');
  610. ^
  611. -stdin-:<main>:1:1: Fatal: ERROR: input is out of range
  612. SELECT atanh(float8 'infinity');
  613. ^
  614. <sql-statement>
  615. SELECT atanh(float8 '-infinity');
  616. </sql-statement>
  617. -stdin-:<main>: Fatal: Execution
  618. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  619. SELECT atanh(float8 '-infinity');
  620. ^
  621. -stdin-:<main>:1:1: Fatal: ERROR: input is out of range
  622. SELECT atanh(float8 '-infinity');
  623. ^
  624. <sql-statement>
  625. SELECT atanh(float8 'nan');
  626. </sql-statement>
  627. <sql-statement>
  628. RESET extra_float_digits;
  629. </sql-statement>
  630. <sql-statement>
  631. -- test for over- and underflow
  632. INSERT INTO FLOAT8_TBL(f1) VALUES ('10e400');
  633. </sql-statement>
  634. -stdin-:<main>: Fatal: Execution
  635. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  636. -- test for over- and underflow
  637. ^
  638. -stdin-:<main>:1:1: Fatal: ERROR: "10e400" is out of range for type double precision
  639. -- test for over- and underflow
  640. ^
  641. <sql-statement>
  642. INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e400');
  643. </sql-statement>
  644. -stdin-:<main>: Fatal: Execution
  645. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  646. INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e400');
  647. ^
  648. -stdin-:<main>:1:1: Fatal: ERROR: "-10e400" is out of range for type double precision
  649. INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e400');
  650. ^
  651. <sql-statement>
  652. INSERT INTO FLOAT8_TBL(f1) VALUES ('10e-400');
  653. </sql-statement>
  654. -stdin-:<main>: Fatal: Execution
  655. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  656. INSERT INTO FLOAT8_TBL(f1) VALUES ('10e-400');
  657. ^
  658. -stdin-:<main>:1:1: Fatal: ERROR: "10e-400" is out of range for type double precision
  659. INSERT INTO FLOAT8_TBL(f1) VALUES ('10e-400');
  660. ^
  661. <sql-statement>
  662. INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e-400');
  663. </sql-statement>
  664. -stdin-:<main>: Fatal: Execution
  665. -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
  666. INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e-400');
  667. ^
  668. -stdin-:<main>:1:1: Fatal: ERROR: "-10e-400" is out of range for type double precision
  669. INSERT INTO FLOAT8_TBL(f1) VALUES ('-10e-400');
  670. ^
  671. <sql-statement>
  672. -- maintain external table consistency across platforms
  673. -- delete all values and reinsert well-behaved ones
  674. DELETE FROM FLOAT8_TBL;
  675. </sql-statement>
  676. -stdin-:<main>: Fatal: Pre type annotation
  677. -stdin-:<main>: Fatal: tools/enum_parser/enum_serialization_runtime/enum_runtime.cpp:70: Key 'pg_delete' not found in enum NYql::EYtSettingType. Valid options are: 'initial', 'infer_scheme', 'force_infer_schema', 'do_not_fail_on_invalid_schema', 'direct_read', 'view', 'mode', 'scheme', 'weak_concat', 'anonymous', 'with_qb', 'inline', 'sample', 'joinLabel', 'ignore_non_existing', 'warn_non_existing', 'xlock', 'unordered', 'nonUnique', 'userschema', 'usercolumns', 'statcolumns', 'syscolumns', 'ignoretypev3', 'memUsage', 'itemsCount', 'rowFactor', 'ordered', 'keyFilter', 'keyFilter2', 'take', 'skip', 'limit', 'sortLimitBy', 'sortBy', 'reduceBy', 'reduceFilterBy', 'forceTransform', 'weakFields', 'sharded', 'combineChunks', 'jobCount', 'joinReduce', 'firstAsPrimary', 'flow', 'keepSorted', 'keySwitch', 'uniqueBy', 'opHash', 'mapOutputType', 'reduceInputType', 'noDq', 'split', 'compression_codec', 'erasure_codec', 'expiration', 'replication_factor', 'user_attrs', 'media', 'primary_medium', 'keep_meta', 'monotonic_keys', 'mutationid'.
  678. <sql-statement>
  679. INSERT INTO FLOAT8_TBL(f1) VALUES ('0.0');
  680. </sql-statement>
  681. <sql-statement>
  682. INSERT INTO FLOAT8_TBL(f1) VALUES ('-34.84');
  683. </sql-statement>
  684. <sql-statement>
  685. INSERT INTO FLOAT8_TBL(f1) VALUES ('-1004.30');
  686. </sql-statement>
  687. <sql-statement>
  688. INSERT INTO FLOAT8_TBL(f1) VALUES ('-1.2345678901234e+200');
  689. </sql-statement>
  690. <sql-statement>
  691. INSERT INTO FLOAT8_TBL(f1) VALUES ('-1.2345678901234e-200');
  692. </sql-statement>
  693. <sql-statement>
  694. SELECT * FROM FLOAT8_TBL;
  695. </sql-statement>
  696. <sql-statement>
  697. -- test edge-case coercions to integer
  698. SELECT '32767.4'::float8::int2;
  699. </sql-statement>
  700. <sql-statement>
  701. SELECT '32767.6'::float8::int2;
  702. </sql-statement>
  703. -stdin-:<main>: Fatal: Execution
  704. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  705. SELECT '32767.6'::float8::int2;
  706. ^
  707. -stdin-:<main>:1:1: Fatal: ERROR: smallint out of range
  708. SELECT '32767.6'::float8::int2;
  709. ^
  710. <sql-statement>
  711. SELECT '-32768.4'::float8::int2;
  712. </sql-statement>
  713. <sql-statement>
  714. SELECT '-32768.6'::float8::int2;
  715. </sql-statement>
  716. -stdin-:<main>: Fatal: Execution
  717. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  718. SELECT '-32768.6'::float8::int2;
  719. ^
  720. -stdin-:<main>:1:1: Fatal: ERROR: smallint out of range
  721. SELECT '-32768.6'::float8::int2;
  722. ^
  723. <sql-statement>
  724. SELECT '2147483647.4'::float8::int4;
  725. </sql-statement>
  726. <sql-statement>
  727. SELECT '2147483647.6'::float8::int4;
  728. </sql-statement>
  729. -stdin-:<main>: Fatal: Execution
  730. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  731. SELECT '2147483647.6'::float8::int4;
  732. ^
  733. -stdin-:<main>:1:1: Fatal: ERROR: integer out of range
  734. SELECT '2147483647.6'::float8::int4;
  735. ^
  736. <sql-statement>
  737. SELECT '-2147483648.4'::float8::int4;
  738. </sql-statement>
  739. <sql-statement>
  740. SELECT '-2147483648.6'::float8::int4;
  741. </sql-statement>
  742. -stdin-:<main>: Fatal: Execution
  743. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  744. SELECT '-2147483648.6'::float8::int4;
  745. ^
  746. -stdin-:<main>:1:1: Fatal: ERROR: integer out of range
  747. SELECT '-2147483648.6'::float8::int4;
  748. ^
  749. <sql-statement>
  750. SELECT '9223372036854773760'::float8::int8;
  751. </sql-statement>
  752. <sql-statement>
  753. SELECT '9223372036854775807'::float8::int8;
  754. </sql-statement>
  755. -stdin-:<main>: Fatal: Execution
  756. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  757. SELECT '9223372036854775807'::float8::int8;
  758. ^
  759. -stdin-:<main>:1:1: Fatal: ERROR: bigint out of range
  760. SELECT '9223372036854775807'::float8::int8;
  761. ^
  762. <sql-statement>
  763. SELECT '-9223372036854775808.5'::float8::int8;
  764. </sql-statement>
  765. <sql-statement>
  766. SELECT '-9223372036854780000'::float8::int8;
  767. </sql-statement>
  768. -stdin-:<main>: Fatal: Execution
  769. -stdin-:<main>:1:1: Fatal: Execution of node: Result
  770. SELECT '-9223372036854780000'::float8::int8;
  771. ^
  772. -stdin-:<main>:1:1: Fatal: ERROR: bigint out of range
  773. SELECT '-9223372036854780000'::float8::int8;
  774. ^
  775. <sql-statement>
  776. -- test exact cases for trigonometric functions in degrees
  777. SELECT x,
  778. sind(x),
  779. sind(x) IN (-1,-0.5,0,0.5,1) AS sind_exact
  780. FROM (VALUES (0), (30), (90), (150), (180),
  781. (210), (270), (330), (360)) AS t(x);
  782. </sql-statement>
  783. <sql-statement>
  784. SELECT x,
  785. cosd(x),
  786. cosd(x) IN (-1,-0.5,0,0.5,1) AS cosd_exact
  787. FROM (VALUES (0), (60), (90), (120), (180),
  788. (240), (270), (300), (360)) AS t(x);
  789. </sql-statement>
  790. <sql-statement>
  791. SELECT x,
  792. tand(x),
  793. tand(x) IN ('-Infinity'::float8,-1,0,
  794. 1,'Infinity'::float8) AS tand_exact,
  795. cotd(x),
  796. cotd(x) IN ('-Infinity'::float8,-1,0,
  797. 1,'Infinity'::float8) AS cotd_exact
  798. FROM (VALUES (0), (45), (90), (135), (180),
  799. (225), (270), (315), (360)) AS t(x);
  800. </sql-statement>
  801. <sql-statement>
  802. SELECT x,
  803. asind(x),
  804. asind(x) IN (-90,-30,0,30,90) AS asind_exact,
  805. acosd(x),
  806. acosd(x) IN (0,60,90,120,180) AS acosd_exact
  807. FROM (VALUES (-1), (-0.5), (0), (0.5), (1)) AS t(x);
  808. </sql-statement>
  809. <sql-statement>
  810. SELECT x,
  811. atand(x),
  812. atand(x) IN (-90,-45,0,45,90) AS atand_exact
  813. FROM (VALUES ('-Infinity'::float8), (-1), (0), (1),
  814. ('Infinity'::float8)) AS t(x);
  815. </sql-statement>
  816. <sql-statement>
  817. SELECT x, y,
  818. atan2d(y, x),
  819. atan2d(y, x) IN (-90,0,90,180) AS atan2d_exact
  820. FROM (SELECT 10*cosd(a), 10*sind(a)
  821. FROM generate_series(0, 360, 90) AS t(a)) AS t(x,y);
  822. </sql-statement>
  823. <sql-statement>
  824. --
  825. -- test output (and round-trip safety) of various values.
  826. -- To ensure we're testing what we think we're testing, start with
  827. -- float values specified by bit patterns (as a useful side effect,
  828. -- this means we'll fail on non-IEEE platforms).
  829. create type xfloat8;
  830. </sql-statement>
  831. -stdin-:<main>: Error: Parse Sql
  832. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 255
  833. --
  834. ^
  835. <sql-statement>
  836. create function xfloat8in(cstring) returns xfloat8 immutable strict
  837. language internal as 'int8in';
  838. </sql-statement>
  839. -stdin-:<main>: Error: Parse Sql
  840. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 261
  841. create function xfloat8in(cstring) returns xfloat8 immutable strict
  842. ^
  843. <sql-statement>
  844. create function xfloat8out(xfloat8) returns cstring immutable strict
  845. language internal as 'int8out';
  846. </sql-statement>
  847. -stdin-:<main>: Error: Parse Sql
  848. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 261
  849. create function xfloat8out(xfloat8) returns cstring immutable strict
  850. ^
  851. <sql-statement>
  852. create type xfloat8 (input = xfloat8in, output = xfloat8out, like = float8);
  853. </sql-statement>
  854. -stdin-:<main>: Error: Parse Sql
  855. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 255
  856. create type xfloat8 (input = xfloat8in, output = xfloat8out, like = float8);
  857. ^
  858. <sql-statement>
  859. create cast (xfloat8 as float8) without function;
  860. </sql-statement>
  861. -stdin-:<main>: Error: Parse Sql
  862. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 297
  863. create cast (xfloat8 as float8) without function;
  864. ^
  865. <sql-statement>
  866. create cast (float8 as xfloat8) without function;
  867. </sql-statement>
  868. -stdin-:<main>: Error: Parse Sql
  869. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 297
  870. create cast (float8 as xfloat8) without function;
  871. ^
  872. <sql-statement>
  873. create cast (xfloat8 as bigint) without function;
  874. </sql-statement>
  875. -stdin-:<main>: Error: Parse Sql
  876. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 297
  877. create cast (xfloat8 as bigint) without function;
  878. ^
  879. <sql-statement>
  880. create cast (bigint as xfloat8) without function;
  881. </sql-statement>
  882. -stdin-:<main>: Error: Parse Sql
  883. -stdin-:<main>:1:1: Error: RawStmt: alternative is not implemented yet : 297
  884. create cast (bigint as xfloat8) without function;
  885. ^
  886. <sql-statement>
  887. -- float8: seeeeeee eeeeeeee eeeeeeee mmmmmmmm mmmmmmmm(x4)
  888. -- we don't care to assume the platform's strtod() handles subnormals
  889. -- correctly; those are "use at your own risk". However we do test
  890. -- subnormal outputs, since those are under our control.
  891. with testdata(bits) as (values
  892. -- small subnormals
  893. (x'0000000000000001'),
  894. (x'0000000000000002'), (x'0000000000000003'),
  895. (x'0000000000001000'), (x'0000000100000000'),
  896. (x'0000010000000000'), (x'0000010100000000'),
  897. (x'0000400000000000'), (x'0000400100000000'),
  898. (x'0000800000000000'), (x'0000800000000001'),
  899. -- these values taken from upstream testsuite
  900. (x'00000000000f4240'),
  901. (x'00000000016e3600'),
  902. (x'0000008cdcdea440'),
  903. -- borderline between subnormal and normal
  904. (x'000ffffffffffff0'), (x'000ffffffffffff1'),
  905. (x'000ffffffffffffe'), (x'000fffffffffffff'))
  906. select float8send(flt) as ibits,
  907. flt
  908. from (select bits::bigint::xfloat8::float8 as flt
  909. from testdata
  910. offset 0) s;
  911. </sql-statement>
  912. -stdin-:<main>: Error: Parse Sql
  913. -stdin-:<main>:22:30: Error: Unknown type: xfloat8
  914. from (select bits::bigint::xfloat8::float8 as flt
  915. ^
  916. -stdin-:<main>: Error: Type annotation
  917. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect
  918. -- float8: seeeeeee eeeeeeee eeeeeeee mmmmmmmm mmmmmmmm(x4)
  919. ^
  920. -stdin-:<main>:1:1: Error: Recursive query does not have the form non-recursive-term UNION [ALL] recursive-term
  921. -- float8: seeeeeee eeeeeeee eeeeeeee mmmmmmmm mmmmmmmm(x4)
  922. ^
  923. <sql-statement>
  924. -- round-trip tests
  925. with testdata(bits) as (values
  926. (x'0000000000000000'),
  927. -- smallest normal values
  928. (x'0010000000000000'), (x'0010000000000001'),
  929. (x'0010000000000002'), (x'0018000000000000'),
  930. --
  931. (x'3ddb7cdfd9d7bdba'), (x'3ddb7cdfd9d7bdbb'), (x'3ddb7cdfd9d7bdbc'),
  932. (x'3e112e0be826d694'), (x'3e112e0be826d695'), (x'3e112e0be826d696'),
  933. (x'3e45798ee2308c39'), (x'3e45798ee2308c3a'), (x'3e45798ee2308c3b'),
  934. (x'3e7ad7f29abcaf47'), (x'3e7ad7f29abcaf48'), (x'3e7ad7f29abcaf49'),
  935. (x'3eb0c6f7a0b5ed8c'), (x'3eb0c6f7a0b5ed8d'), (x'3eb0c6f7a0b5ed8e'),
  936. (x'3ee4f8b588e368ef'), (x'3ee4f8b588e368f0'), (x'3ee4f8b588e368f1'),
  937. (x'3f1a36e2eb1c432c'), (x'3f1a36e2eb1c432d'), (x'3f1a36e2eb1c432e'),
  938. (x'3f50624dd2f1a9fb'), (x'3f50624dd2f1a9fc'), (x'3f50624dd2f1a9fd'),
  939. (x'3f847ae147ae147a'), (x'3f847ae147ae147b'), (x'3f847ae147ae147c'),
  940. (x'3fb9999999999999'), (x'3fb999999999999a'), (x'3fb999999999999b'),
  941. -- values very close to 1
  942. (x'3feffffffffffff0'), (x'3feffffffffffff1'), (x'3feffffffffffff2'),
  943. (x'3feffffffffffff3'), (x'3feffffffffffff4'), (x'3feffffffffffff5'),
  944. (x'3feffffffffffff6'), (x'3feffffffffffff7'), (x'3feffffffffffff8'),
  945. (x'3feffffffffffff9'), (x'3feffffffffffffa'), (x'3feffffffffffffb'),
  946. (x'3feffffffffffffc'), (x'3feffffffffffffd'), (x'3feffffffffffffe'),
  947. (x'3fefffffffffffff'),
  948. (x'3ff0000000000000'),
  949. (x'3ff0000000000001'), (x'3ff0000000000002'), (x'3ff0000000000003'),
  950. (x'3ff0000000000004'), (x'3ff0000000000005'), (x'3ff0000000000006'),
  951. (x'3ff0000000000007'), (x'3ff0000000000008'), (x'3ff0000000000009'),
  952. --
  953. (x'3ff921fb54442d18'),
  954. (x'4005bf0a8b14576a'),
  955. (x'400921fb54442d18'),
  956. --
  957. (x'4023ffffffffffff'), (x'4024000000000000'), (x'4024000000000001'),
  958. (x'4058ffffffffffff'), (x'4059000000000000'), (x'4059000000000001'),
  959. (x'408f3fffffffffff'), (x'408f400000000000'), (x'408f400000000001'),
  960. (x'40c387ffffffffff'), (x'40c3880000000000'), (x'40c3880000000001'),
  961. (x'40f869ffffffffff'), (x'40f86a0000000000'), (x'40f86a0000000001'),
  962. (x'412e847fffffffff'), (x'412e848000000000'), (x'412e848000000001'),
  963. (x'416312cfffffffff'), (x'416312d000000000'), (x'416312d000000001'),
  964. (x'4197d783ffffffff'), (x'4197d78400000000'), (x'4197d78400000001'),
  965. (x'41cdcd64ffffffff'), (x'41cdcd6500000000'), (x'41cdcd6500000001'),
  966. (x'4202a05f1fffffff'), (x'4202a05f20000000'), (x'4202a05f20000001'),
  967. (x'42374876e7ffffff'), (x'42374876e8000000'), (x'42374876e8000001'),
  968. (x'426d1a94a1ffffff'), (x'426d1a94a2000000'), (x'426d1a94a2000001'),
  969. (x'42a2309ce53fffff'), (x'42a2309ce5400000'), (x'42a2309ce5400001'),
  970. (x'42d6bcc41e8fffff'), (x'42d6bcc41e900000'), (x'42d6bcc41e900001'),
  971. (x'430c6bf52633ffff'), (x'430c6bf526340000'), (x'430c6bf526340001'),
  972. (x'4341c37937e07fff'), (x'4341c37937e08000'), (x'4341c37937e08001'),
  973. (x'4376345785d89fff'), (x'4376345785d8a000'), (x'4376345785d8a001'),
  974. (x'43abc16d674ec7ff'), (x'43abc16d674ec800'), (x'43abc16d674ec801'),
  975. (x'43e158e460913cff'), (x'43e158e460913d00'), (x'43e158e460913d01'),
  976. (x'4415af1d78b58c3f'), (x'4415af1d78b58c40'), (x'4415af1d78b58c41'),
  977. (x'444b1ae4d6e2ef4f'), (x'444b1ae4d6e2ef50'), (x'444b1ae4d6e2ef51'),
  978. (x'4480f0cf064dd591'), (x'4480f0cf064dd592'), (x'4480f0cf064dd593'),
  979. (x'44b52d02c7e14af5'), (x'44b52d02c7e14af6'), (x'44b52d02c7e14af7'),
  980. (x'44ea784379d99db3'), (x'44ea784379d99db4'), (x'44ea784379d99db5'),
  981. (x'45208b2a2c280290'), (x'45208b2a2c280291'), (x'45208b2a2c280292'),
  982. --
  983. (x'7feffffffffffffe'), (x'7fefffffffffffff'),
  984. -- round to even tests (+ve)
  985. (x'4350000000000002'),
  986. (x'4350000000002e06'),
  987. (x'4352000000000003'),
  988. (x'4352000000000004'),
  989. (x'4358000000000003'),
  990. (x'4358000000000004'),
  991. (x'435f000000000020'),
  992. -- round to even tests (-ve)
  993. (x'c350000000000002'),
  994. (x'c350000000002e06'),
  995. (x'c352000000000003'),
  996. (x'c352000000000004'),
  997. (x'c358000000000003'),
  998. (x'c358000000000004'),
  999. (x'c35f000000000020'),
  1000. -- exercise fixed-point memmoves
  1001. (x'42dc12218377de66'),
  1002. (x'42a674e79c5fe51f'),
  1003. (x'4271f71fb04cb74c'),
  1004. (x'423cbe991a145879'),
  1005. (x'4206fee0e1a9e061'),
  1006. (x'41d26580b487e6b4'),
  1007. (x'419d6f34540ca453'),
  1008. (x'41678c29dcd6e9dc'),
  1009. (x'4132d687e3df217d'),
  1010. (x'40fe240c9fcb68c8'),
  1011. (x'40c81cd6e63c53d3'),
  1012. (x'40934a4584fd0fdc'),
  1013. (x'405edd3c07fb4c93'),
  1014. (x'4028b0fcd32f7076'),
  1015. (x'3ff3c0ca428c59f8'),
  1016. -- these cases come from the upstream's testsuite
  1017. -- LotsOfTrailingZeros)
  1018. (x'3e60000000000000'),
  1019. -- Regression
  1020. (x'c352bd2668e077c4'),
  1021. (x'434018601510c000'),
  1022. (x'43d055dc36f24000'),
  1023. (x'43e052961c6f8000'),
  1024. (x'3ff3c0ca2a5b1d5d'),
  1025. -- LooksLikePow5
  1026. (x'4830f0cf064dd592'),
  1027. (x'4840f0cf064dd592'),
  1028. (x'4850f0cf064dd592'),
  1029. -- OutputLength
  1030. (x'3ff3333333333333'),
  1031. (x'3ff3ae147ae147ae'),
  1032. (x'3ff3be76c8b43958'),
  1033. (x'3ff3c083126e978d'),
  1034. (x'3ff3c0c1fc8f3238'),
  1035. (x'3ff3c0c9539b8887'),
  1036. (x'3ff3c0ca2a5b1d5d'),
  1037. (x'3ff3c0ca4283de1b'),
  1038. (x'3ff3c0ca43db770a'),
  1039. (x'3ff3c0ca428abd53'),
  1040. (x'3ff3c0ca428c1d2b'),
  1041. (x'3ff3c0ca428c51f2'),
  1042. (x'3ff3c0ca428c58fc'),
  1043. (x'3ff3c0ca428c59dd'),
  1044. (x'3ff3c0ca428c59f8'),
  1045. (x'3ff3c0ca428c59fb'),
  1046. -- 32-bit chunking
  1047. (x'40112e0be8047a7d'),
  1048. (x'40112e0be815a889'),
  1049. (x'40112e0be826d695'),
  1050. (x'40112e0be83804a1'),
  1051. (x'40112e0be84932ad'),
  1052. -- MinMaxShift
  1053. (x'0040000000000000'),
  1054. (x'007fffffffffffff'),
  1055. (x'0290000000000000'),
  1056. (x'029fffffffffffff'),
  1057. (x'4350000000000000'),
  1058. (x'435fffffffffffff'),
  1059. (x'1330000000000000'),
  1060. (x'133fffffffffffff'),
  1061. (x'3a6fa7161a4d6e0c')
  1062. )
  1063. select float8send(flt) as ibits,
  1064. flt,
  1065. flt::text::float8 as r_flt,
  1066. float8send(flt::text::float8) as obits,
  1067. float8send(flt::text::float8) = float8send(flt) as correct
  1068. from (select bits::bigint::xfloat8::float8 as flt
  1069. from testdata
  1070. offset 0) s;
  1071. </sql-statement>
  1072. -stdin-:<main>: Error: Parse Sql
  1073. -stdin-:<main>:145:30: Error: Unknown type: xfloat8
  1074. from (select bits::bigint::xfloat8::float8 as flt
  1075. ^
  1076. -stdin-:<main>: Error: Type annotation
  1077. -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect
  1078. -- round-trip tests
  1079. ^
  1080. -stdin-:<main>:1:1: Error: Recursive query does not have the form non-recursive-term UNION [ALL] recursive-term
  1081. -- round-trip tests
  1082. ^
  1083. <sql-statement>
  1084. -- clean up, lest opr_sanity complain
  1085. drop type xfloat8 cascade;
  1086. </sql-statement>
  1087. -stdin-:<main>: Error: Parse Sql
  1088. -stdin-:<main>:1:1: Error: DropStmt: alternative is not implemented yet : 373
  1089. -- clean up, lest opr_sanity complain
  1090. ^