jsonpath.out 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896
  1. --jsonpath io
  2. select ''::jsonpath;
  3. ERROR: invalid input syntax for type jsonpath: ""
  4. LINE 1: select ''::jsonpath;
  5. ^
  6. select '$'::jsonpath;
  7. jsonpath
  8. ----------
  9. $
  10. (1 row)
  11. select 'strict $'::jsonpath;
  12. jsonpath
  13. ----------
  14. strict $
  15. (1 row)
  16. select 'lax $'::jsonpath;
  17. jsonpath
  18. ----------
  19. $
  20. (1 row)
  21. select '$.a'::jsonpath;
  22. jsonpath
  23. ----------
  24. $."a"
  25. (1 row)
  26. select '$.a.v'::jsonpath;
  27. jsonpath
  28. -----------
  29. $."a"."v"
  30. (1 row)
  31. select '$.a.*'::jsonpath;
  32. jsonpath
  33. ----------
  34. $."a".*
  35. (1 row)
  36. select '$.*[*]'::jsonpath;
  37. jsonpath
  38. ----------
  39. $.*[*]
  40. (1 row)
  41. select '$.a[*]'::jsonpath;
  42. jsonpath
  43. ----------
  44. $."a"[*]
  45. (1 row)
  46. select '$.a[*][*]'::jsonpath;
  47. jsonpath
  48. -------------
  49. $."a"[*][*]
  50. (1 row)
  51. select '$[*]'::jsonpath;
  52. jsonpath
  53. ----------
  54. $[*]
  55. (1 row)
  56. select '$[0]'::jsonpath;
  57. jsonpath
  58. ----------
  59. $[0]
  60. (1 row)
  61. select '$[*][0]'::jsonpath;
  62. jsonpath
  63. ----------
  64. $[*][0]
  65. (1 row)
  66. select '$[*].a'::jsonpath;
  67. jsonpath
  68. ----------
  69. $[*]."a"
  70. (1 row)
  71. select '$[*][0].a.b'::jsonpath;
  72. jsonpath
  73. -----------------
  74. $[*][0]."a"."b"
  75. (1 row)
  76. select '$.a.**.b'::jsonpath;
  77. jsonpath
  78. --------------
  79. $."a".**."b"
  80. (1 row)
  81. select '$.a.**{2}.b'::jsonpath;
  82. jsonpath
  83. -----------------
  84. $."a".**{2}."b"
  85. (1 row)
  86. select '$.a.**{2 to 2}.b'::jsonpath;
  87. jsonpath
  88. -----------------
  89. $."a".**{2}."b"
  90. (1 row)
  91. select '$.a.**{2 to 5}.b'::jsonpath;
  92. jsonpath
  93. ----------------------
  94. $."a".**{2 to 5}."b"
  95. (1 row)
  96. select '$.a.**{0 to 5}.b'::jsonpath;
  97. jsonpath
  98. ----------------------
  99. $."a".**{0 to 5}."b"
  100. (1 row)
  101. select '$.a.**{5 to last}.b'::jsonpath;
  102. jsonpath
  103. -------------------------
  104. $."a".**{5 to last}."b"
  105. (1 row)
  106. select '$.a.**{last}.b'::jsonpath;
  107. jsonpath
  108. --------------------
  109. $."a".**{last}."b"
  110. (1 row)
  111. select '$.a.**{last to 5}.b'::jsonpath;
  112. jsonpath
  113. -------------------------
  114. $."a".**{last to 5}."b"
  115. (1 row)
  116. select '$+1'::jsonpath;
  117. jsonpath
  118. ----------
  119. ($ + 1)
  120. (1 row)
  121. select '$-1'::jsonpath;
  122. jsonpath
  123. ----------
  124. ($ - 1)
  125. (1 row)
  126. select '$--+1'::jsonpath;
  127. jsonpath
  128. ----------
  129. ($ - -1)
  130. (1 row)
  131. select '$.a/+-1'::jsonpath;
  132. jsonpath
  133. --------------
  134. ($."a" / -1)
  135. (1 row)
  136. select '1 * 2 + 4 % -3 != false'::jsonpath;
  137. jsonpath
  138. ---------------------------
  139. (1 * 2 + 4 % -3 != false)
  140. (1 row)
  141. select '"\b\f\r\n\t\v\"\''\\"'::jsonpath;
  142. jsonpath
  143. -------------------------
  144. "\b\f\r\n\t\u000b\"'\\"
  145. (1 row)
  146. select '"\x50\u0067\u{53}\u{051}\u{00004C}"'::jsonpath;
  147. jsonpath
  148. ----------
  149. "PgSQL"
  150. (1 row)
  151. select '$.foo\x50\u0067\u{53}\u{051}\u{00004C}\t\"bar'::jsonpath;
  152. jsonpath
  153. ---------------------
  154. $."fooPgSQL\t\"bar"
  155. (1 row)
  156. select '"\z"'::jsonpath; -- unrecognized escape is just the literal char
  157. jsonpath
  158. ----------
  159. "z"
  160. (1 row)
  161. select '$.g ? ($.a == 1)'::jsonpath;
  162. jsonpath
  163. --------------------
  164. $."g"?($."a" == 1)
  165. (1 row)
  166. select '$.g ? (@ == 1)'::jsonpath;
  167. jsonpath
  168. ----------------
  169. $."g"?(@ == 1)
  170. (1 row)
  171. select '$.g ? (@.a == 1)'::jsonpath;
  172. jsonpath
  173. --------------------
  174. $."g"?(@."a" == 1)
  175. (1 row)
  176. select '$.g ? (@.a == 1 || @.a == 4)'::jsonpath;
  177. jsonpath
  178. ----------------------------------
  179. $."g"?(@."a" == 1 || @."a" == 4)
  180. (1 row)
  181. select '$.g ? (@.a == 1 && @.a == 4)'::jsonpath;
  182. jsonpath
  183. ----------------------------------
  184. $."g"?(@."a" == 1 && @."a" == 4)
  185. (1 row)
  186. select '$.g ? (@.a == 1 || @.a == 4 && @.b == 7)'::jsonpath;
  187. jsonpath
  188. ------------------------------------------------
  189. $."g"?(@."a" == 1 || @."a" == 4 && @."b" == 7)
  190. (1 row)
  191. select '$.g ? (@.a == 1 || !(@.a == 4) && @.b == 7)'::jsonpath;
  192. jsonpath
  193. ---------------------------------------------------
  194. $."g"?(@."a" == 1 || !(@."a" == 4) && @."b" == 7)
  195. (1 row)
  196. select '$.g ? (@.a == 1 || !(@.x >= 123 || @.a == 4) && @.b == 7)'::jsonpath;
  197. jsonpath
  198. -------------------------------------------------------------------
  199. $."g"?(@."a" == 1 || !(@."x" >= 123 || @."a" == 4) && @."b" == 7)
  200. (1 row)
  201. select '$.g ? (@.x >= @[*]?(@.a > "abc"))'::jsonpath;
  202. jsonpath
  203. ---------------------------------------
  204. $."g"?(@."x" >= @[*]?(@."a" > "abc"))
  205. (1 row)
  206. select '$.g ? ((@.x >= 123 || @.a == 4) is unknown)'::jsonpath;
  207. jsonpath
  208. -------------------------------------------------
  209. $."g"?((@."x" >= 123 || @."a" == 4) is unknown)
  210. (1 row)
  211. select '$.g ? (exists (@.x))'::jsonpath;
  212. jsonpath
  213. ------------------------
  214. $."g"?(exists (@."x"))
  215. (1 row)
  216. select '$.g ? (exists (@.x ? (@ == 14)))'::jsonpath;
  217. jsonpath
  218. ----------------------------------
  219. $."g"?(exists (@."x"?(@ == 14)))
  220. (1 row)
  221. select '$.g ? ((@.x >= 123 || @.a == 4) && exists (@.x ? (@ == 14)))'::jsonpath;
  222. jsonpath
  223. ------------------------------------------------------------------
  224. $."g"?((@."x" >= 123 || @."a" == 4) && exists (@."x"?(@ == 14)))
  225. (1 row)
  226. select '$.g ? (+@.x >= +-(+@.a + 2))'::jsonpath;
  227. jsonpath
  228. ------------------------------------
  229. $."g"?(+@."x" >= +(-(+@."a" + 2)))
  230. (1 row)
  231. select '$a'::jsonpath;
  232. jsonpath
  233. ----------
  234. $"a"
  235. (1 row)
  236. select '$a.b'::jsonpath;
  237. jsonpath
  238. ----------
  239. $"a"."b"
  240. (1 row)
  241. select '$a[*]'::jsonpath;
  242. jsonpath
  243. ----------
  244. $"a"[*]
  245. (1 row)
  246. select '$.g ? (@.zip == $zip)'::jsonpath;
  247. jsonpath
  248. ---------------------------
  249. $."g"?(@."zip" == $"zip")
  250. (1 row)
  251. select '$.a[1,2, 3 to 16]'::jsonpath;
  252. jsonpath
  253. --------------------
  254. $."a"[1,2,3 to 16]
  255. (1 row)
  256. select '$.a[$a + 1, ($b[*]) to -($[0] * 2)]'::jsonpath;
  257. jsonpath
  258. ----------------------------------------
  259. $."a"[$"a" + 1,$"b"[*] to -($[0] * 2)]
  260. (1 row)
  261. select '$.a[$.a.size() - 3]'::jsonpath;
  262. jsonpath
  263. -------------------------
  264. $."a"[$."a".size() - 3]
  265. (1 row)
  266. select 'last'::jsonpath;
  267. ERROR: LAST is allowed only in array subscripts
  268. LINE 1: select 'last'::jsonpath;
  269. ^
  270. select '"last"'::jsonpath;
  271. jsonpath
  272. ----------
  273. "last"
  274. (1 row)
  275. select '$.last'::jsonpath;
  276. jsonpath
  277. ----------
  278. $."last"
  279. (1 row)
  280. select '$ ? (last > 0)'::jsonpath;
  281. ERROR: LAST is allowed only in array subscripts
  282. LINE 1: select '$ ? (last > 0)'::jsonpath;
  283. ^
  284. select '$[last]'::jsonpath;
  285. jsonpath
  286. ----------
  287. $[last]
  288. (1 row)
  289. select '$[$[0] ? (last > 0)]'::jsonpath;
  290. jsonpath
  291. --------------------
  292. $[$[0]?(last > 0)]
  293. (1 row)
  294. select 'null.type()'::jsonpath;
  295. jsonpath
  296. -------------
  297. null.type()
  298. (1 row)
  299. select '1.type()'::jsonpath;
  300. jsonpath
  301. ----------
  302. 1.type()
  303. (1 row)
  304. select '(1).type()'::jsonpath;
  305. jsonpath
  306. ----------
  307. 1.type()
  308. (1 row)
  309. select '1.2.type()'::jsonpath;
  310. jsonpath
  311. ------------
  312. 1.2.type()
  313. (1 row)
  314. select '"aaa".type()'::jsonpath;
  315. jsonpath
  316. --------------
  317. "aaa".type()
  318. (1 row)
  319. select 'true.type()'::jsonpath;
  320. jsonpath
  321. -------------
  322. true.type()
  323. (1 row)
  324. select '$.double().floor().ceiling().abs()'::jsonpath;
  325. jsonpath
  326. ------------------------------------
  327. $.double().floor().ceiling().abs()
  328. (1 row)
  329. select '$.keyvalue().key'::jsonpath;
  330. jsonpath
  331. --------------------
  332. $.keyvalue()."key"
  333. (1 row)
  334. select '$.datetime()'::jsonpath;
  335. jsonpath
  336. --------------
  337. $.datetime()
  338. (1 row)
  339. select '$.datetime("datetime template")'::jsonpath;
  340. jsonpath
  341. ---------------------------------
  342. $.datetime("datetime template")
  343. (1 row)
  344. select '$ ? (@ starts with "abc")'::jsonpath;
  345. jsonpath
  346. -------------------------
  347. $?(@ starts with "abc")
  348. (1 row)
  349. select '$ ? (@ starts with $var)'::jsonpath;
  350. jsonpath
  351. --------------------------
  352. $?(@ starts with $"var")
  353. (1 row)
  354. select '$ ? (@ like_regex "(invalid pattern")'::jsonpath;
  355. ERROR: invalid regular expression: parentheses () not balanced
  356. LINE 1: select '$ ? (@ like_regex "(invalid pattern")'::jsonpath;
  357. ^
  358. select '$ ? (@ like_regex "pattern")'::jsonpath;
  359. jsonpath
  360. ----------------------------
  361. $?(@ like_regex "pattern")
  362. (1 row)
  363. select '$ ? (@ like_regex "pattern" flag "")'::jsonpath;
  364. jsonpath
  365. ----------------------------
  366. $?(@ like_regex "pattern")
  367. (1 row)
  368. select '$ ? (@ like_regex "pattern" flag "i")'::jsonpath;
  369. jsonpath
  370. -------------------------------------
  371. $?(@ like_regex "pattern" flag "i")
  372. (1 row)
  373. select '$ ? (@ like_regex "pattern" flag "is")'::jsonpath;
  374. jsonpath
  375. --------------------------------------
  376. $?(@ like_regex "pattern" flag "is")
  377. (1 row)
  378. select '$ ? (@ like_regex "pattern" flag "isim")'::jsonpath;
  379. jsonpath
  380. ---------------------------------------
  381. $?(@ like_regex "pattern" flag "ism")
  382. (1 row)
  383. select '$ ? (@ like_regex "pattern" flag "xsms")'::jsonpath;
  384. ERROR: XQuery "x" flag (expanded regular expressions) is not implemented
  385. LINE 1: select '$ ? (@ like_regex "pattern" flag "xsms")'::jsonpath;
  386. ^
  387. select '$ ? (@ like_regex "pattern" flag "q")'::jsonpath;
  388. jsonpath
  389. -------------------------------------
  390. $?(@ like_regex "pattern" flag "q")
  391. (1 row)
  392. select '$ ? (@ like_regex "pattern" flag "iq")'::jsonpath;
  393. jsonpath
  394. --------------------------------------
  395. $?(@ like_regex "pattern" flag "iq")
  396. (1 row)
  397. select '$ ? (@ like_regex "pattern" flag "smixq")'::jsonpath;
  398. jsonpath
  399. -----------------------------------------
  400. $?(@ like_regex "pattern" flag "ismxq")
  401. (1 row)
  402. select '$ ? (@ like_regex "pattern" flag "a")'::jsonpath;
  403. ERROR: invalid input syntax for type jsonpath
  404. LINE 1: select '$ ? (@ like_regex "pattern" flag "a")'::jsonpath;
  405. ^
  406. DETAIL: unrecognized flag character "a" in LIKE_REGEX predicate
  407. select '$ < 1'::jsonpath;
  408. jsonpath
  409. ----------
  410. ($ < 1)
  411. (1 row)
  412. select '($ < 1) || $.a.b <= $x'::jsonpath;
  413. jsonpath
  414. ------------------------------
  415. ($ < 1 || $."a"."b" <= $"x")
  416. (1 row)
  417. select '@ + 1'::jsonpath;
  418. ERROR: @ is not allowed in root expressions
  419. LINE 1: select '@ + 1'::jsonpath;
  420. ^
  421. select '($).a.b'::jsonpath;
  422. jsonpath
  423. -----------
  424. $."a"."b"
  425. (1 row)
  426. select '($.a.b).c.d'::jsonpath;
  427. jsonpath
  428. -------------------
  429. $."a"."b"."c"."d"
  430. (1 row)
  431. select '($.a.b + -$.x.y).c.d'::jsonpath;
  432. jsonpath
  433. ----------------------------------
  434. ($."a"."b" + -$."x"."y")."c"."d"
  435. (1 row)
  436. select '(-+$.a.b).c.d'::jsonpath;
  437. jsonpath
  438. -------------------------
  439. (-(+$."a"."b"))."c"."d"
  440. (1 row)
  441. select '1 + ($.a.b + 2).c.d'::jsonpath;
  442. jsonpath
  443. -------------------------------
  444. (1 + ($."a"."b" + 2)."c"."d")
  445. (1 row)
  446. select '1 + ($.a.b > 2).c.d'::jsonpath;
  447. jsonpath
  448. -------------------------------
  449. (1 + ($."a"."b" > 2)."c"."d")
  450. (1 row)
  451. select '($)'::jsonpath;
  452. jsonpath
  453. ----------
  454. $
  455. (1 row)
  456. select '(($))'::jsonpath;
  457. jsonpath
  458. ----------
  459. $
  460. (1 row)
  461. select '((($ + 1)).a + ((2)).b ? ((((@ > 1)) || (exists(@.c)))))'::jsonpath;
  462. jsonpath
  463. -------------------------------------------------
  464. (($ + 1)."a" + 2."b"?(@ > 1 || exists (@."c")))
  465. (1 row)
  466. select '$ ? (@.a < 1)'::jsonpath;
  467. jsonpath
  468. ---------------
  469. $?(@."a" < 1)
  470. (1 row)
  471. select '$ ? (@.a < -1)'::jsonpath;
  472. jsonpath
  473. ----------------
  474. $?(@."a" < -1)
  475. (1 row)
  476. select '$ ? (@.a < +1)'::jsonpath;
  477. jsonpath
  478. ---------------
  479. $?(@."a" < 1)
  480. (1 row)
  481. select '$ ? (@.a < 0.1)'::jsonpath;
  482. jsonpath
  483. -----------------
  484. $?(@."a" < 0.1)
  485. (1 row)
  486. select '$ ? (@.a < -0.1)'::jsonpath;
  487. jsonpath
  488. ------------------
  489. $?(@."a" < -0.1)
  490. (1 row)
  491. select '$ ? (@.a < +0.1)'::jsonpath;
  492. jsonpath
  493. -----------------
  494. $?(@."a" < 0.1)
  495. (1 row)
  496. select '$ ? (@.a < 10.1)'::jsonpath;
  497. jsonpath
  498. ------------------
  499. $?(@."a" < 10.1)
  500. (1 row)
  501. select '$ ? (@.a < -10.1)'::jsonpath;
  502. jsonpath
  503. -------------------
  504. $?(@."a" < -10.1)
  505. (1 row)
  506. select '$ ? (@.a < +10.1)'::jsonpath;
  507. jsonpath
  508. ------------------
  509. $?(@."a" < 10.1)
  510. (1 row)
  511. select '$ ? (@.a < 1e1)'::jsonpath;
  512. jsonpath
  513. ----------------
  514. $?(@."a" < 10)
  515. (1 row)
  516. select '$ ? (@.a < -1e1)'::jsonpath;
  517. jsonpath
  518. -----------------
  519. $?(@."a" < -10)
  520. (1 row)
  521. select '$ ? (@.a < +1e1)'::jsonpath;
  522. jsonpath
  523. ----------------
  524. $?(@."a" < 10)
  525. (1 row)
  526. select '$ ? (@.a < 0.1e1)'::jsonpath;
  527. jsonpath
  528. ---------------
  529. $?(@."a" < 1)
  530. (1 row)
  531. select '$ ? (@.a < -0.1e1)'::jsonpath;
  532. jsonpath
  533. ----------------
  534. $?(@."a" < -1)
  535. (1 row)
  536. select '$ ? (@.a < +0.1e1)'::jsonpath;
  537. jsonpath
  538. ---------------
  539. $?(@."a" < 1)
  540. (1 row)
  541. select '$ ? (@.a < 10.1e1)'::jsonpath;
  542. jsonpath
  543. -----------------
  544. $?(@."a" < 101)
  545. (1 row)
  546. select '$ ? (@.a < -10.1e1)'::jsonpath;
  547. jsonpath
  548. ------------------
  549. $?(@."a" < -101)
  550. (1 row)
  551. select '$ ? (@.a < +10.1e1)'::jsonpath;
  552. jsonpath
  553. -----------------
  554. $?(@."a" < 101)
  555. (1 row)
  556. select '$ ? (@.a < 1e-1)'::jsonpath;
  557. jsonpath
  558. -----------------
  559. $?(@."a" < 0.1)
  560. (1 row)
  561. select '$ ? (@.a < -1e-1)'::jsonpath;
  562. jsonpath
  563. ------------------
  564. $?(@."a" < -0.1)
  565. (1 row)
  566. select '$ ? (@.a < +1e-1)'::jsonpath;
  567. jsonpath
  568. -----------------
  569. $?(@."a" < 0.1)
  570. (1 row)
  571. select '$ ? (@.a < 0.1e-1)'::jsonpath;
  572. jsonpath
  573. ------------------
  574. $?(@."a" < 0.01)
  575. (1 row)
  576. select '$ ? (@.a < -0.1e-1)'::jsonpath;
  577. jsonpath
  578. -------------------
  579. $?(@."a" < -0.01)
  580. (1 row)
  581. select '$ ? (@.a < +0.1e-1)'::jsonpath;
  582. jsonpath
  583. ------------------
  584. $?(@."a" < 0.01)
  585. (1 row)
  586. select '$ ? (@.a < 10.1e-1)'::jsonpath;
  587. jsonpath
  588. ------------------
  589. $?(@."a" < 1.01)
  590. (1 row)
  591. select '$ ? (@.a < -10.1e-1)'::jsonpath;
  592. jsonpath
  593. -------------------
  594. $?(@."a" < -1.01)
  595. (1 row)
  596. select '$ ? (@.a < +10.1e-1)'::jsonpath;
  597. jsonpath
  598. ------------------
  599. $?(@."a" < 1.01)
  600. (1 row)
  601. select '$ ? (@.a < 1e+1)'::jsonpath;
  602. jsonpath
  603. ----------------
  604. $?(@."a" < 10)
  605. (1 row)
  606. select '$ ? (@.a < -1e+1)'::jsonpath;
  607. jsonpath
  608. -----------------
  609. $?(@."a" < -10)
  610. (1 row)
  611. select '$ ? (@.a < +1e+1)'::jsonpath;
  612. jsonpath
  613. ----------------
  614. $?(@."a" < 10)
  615. (1 row)
  616. select '$ ? (@.a < 0.1e+1)'::jsonpath;
  617. jsonpath
  618. ---------------
  619. $?(@."a" < 1)
  620. (1 row)
  621. select '$ ? (@.a < -0.1e+1)'::jsonpath;
  622. jsonpath
  623. ----------------
  624. $?(@."a" < -1)
  625. (1 row)
  626. select '$ ? (@.a < +0.1e+1)'::jsonpath;
  627. jsonpath
  628. ---------------
  629. $?(@."a" < 1)
  630. (1 row)
  631. select '$ ? (@.a < 10.1e+1)'::jsonpath;
  632. jsonpath
  633. -----------------
  634. $?(@."a" < 101)
  635. (1 row)
  636. select '$ ? (@.a < -10.1e+1)'::jsonpath;
  637. jsonpath
  638. ------------------
  639. $?(@."a" < -101)
  640. (1 row)
  641. select '$ ? (@.a < +10.1e+1)'::jsonpath;
  642. jsonpath
  643. -----------------
  644. $?(@."a" < 101)
  645. (1 row)
  646. select '0'::jsonpath;
  647. jsonpath
  648. ----------
  649. 0
  650. (1 row)
  651. select '0.0'::jsonpath;
  652. jsonpath
  653. ----------
  654. 0.0
  655. (1 row)
  656. select '0.000'::jsonpath;
  657. jsonpath
  658. ----------
  659. 0.000
  660. (1 row)
  661. select '0.000e1'::jsonpath;
  662. jsonpath
  663. ----------
  664. 0.00
  665. (1 row)
  666. select '0.000e2'::jsonpath;
  667. jsonpath
  668. ----------
  669. 0.0
  670. (1 row)
  671. select '0.000e3'::jsonpath;
  672. jsonpath
  673. ----------
  674. 0
  675. (1 row)
  676. select '0.0010'::jsonpath;
  677. jsonpath
  678. ----------
  679. 0.0010
  680. (1 row)
  681. select '0.0010e-1'::jsonpath;
  682. jsonpath
  683. ----------
  684. 0.00010
  685. (1 row)
  686. select '0.0010e+1'::jsonpath;
  687. jsonpath
  688. ----------
  689. 0.010
  690. (1 row)
  691. select '0.0010e+2'::jsonpath;
  692. jsonpath
  693. ----------
  694. 0.10
  695. (1 row)
  696. select '1e'::jsonpath;
  697. ERROR: invalid floating point number at or near "1e" of jsonpath input
  698. LINE 1: select '1e'::jsonpath;
  699. ^
  700. select '1.e'::jsonpath;
  701. jsonpath
  702. ----------
  703. 1."e"
  704. (1 row)
  705. select '1.2e'::jsonpath;
  706. ERROR: invalid floating point number at or near "1.2e" of jsonpath input
  707. LINE 1: select '1.2e'::jsonpath;
  708. ^
  709. select '1.2.e'::jsonpath;
  710. jsonpath
  711. ----------
  712. 1.2."e"
  713. (1 row)
  714. select '(1.2).e'::jsonpath;
  715. jsonpath
  716. ----------
  717. 1.2."e"
  718. (1 row)
  719. select '1e3'::jsonpath;
  720. jsonpath
  721. ----------
  722. 1000
  723. (1 row)
  724. select '1.e3'::jsonpath;
  725. jsonpath
  726. ----------
  727. 1."e3"
  728. (1 row)
  729. select '1.e3.e'::jsonpath;
  730. jsonpath
  731. ------------
  732. 1."e3"."e"
  733. (1 row)
  734. select '1.e3.e4'::jsonpath;
  735. jsonpath
  736. -------------
  737. 1."e3"."e4"
  738. (1 row)
  739. select '1.2e3'::jsonpath;
  740. jsonpath
  741. ----------
  742. 1200
  743. (1 row)
  744. select '1.2.e3'::jsonpath;
  745. jsonpath
  746. ----------
  747. 1.2."e3"
  748. (1 row)
  749. select '(1.2).e3'::jsonpath;
  750. jsonpath
  751. ----------
  752. 1.2."e3"
  753. (1 row)