@@ -1416,6 +1416,14 @@ LANGUAGE INTERNAL
1416
1416
STRICT IMMUTABLE PARALLEL SAFE
1417
1417
AS ' make_interval' ;
1418
1418
1419
+ CREATEOR REPLACE FUNCTION
1420
+ json_set(json_in json,path text [] , replacement json,
1421
+ create_if_missingboolean DEFAULT true)
1422
+ RETURNS json
1423
+ LANGUAGE INTERNAL
1424
+ STRICT IMMUTABLE PARALLEL SAFE
1425
+ AS ' json_set' ;
1426
+
1419
1427
CREATEOR REPLACE FUNCTION
1420
1428
jsonb_set(jsonb_in jsonb,path text [] , replacement jsonb,
1421
1429
create_if_missingboolean DEFAULT true)
@@ -1440,6 +1448,14 @@ LANGUAGE INTERNAL
1440
1448
STRICT IMMUTABLE PARALLEL SAFE
1441
1449
AS ' parse_ident' ;
1442
1450
1451
+ CREATEOR REPLACE FUNCTION
1452
+ json_insert(json_in json,path text [] , replacement json,
1453
+ insert_afterboolean DEFAULT false)
1454
+ RETURNS json
1455
+ LANGUAGE INTERNAL
1456
+ STRICT IMMUTABLE PARALLEL SAFE
1457
+ AS ' json_insert' ;
1458
+
1443
1459
CREATEOR REPLACE FUNCTION
1444
1460
jsonb_insert(jsonb_in jsonb,path text [] , replacement jsonb,
1445
1461
insert_afterboolean DEFAULT false)
@@ -1528,6 +1544,88 @@ LANGUAGE INTERNAL
1528
1544
STRICT STABLE PARALLEL SAFE
1529
1545
AS ' jsonb_path_query_first_tz' ;
1530
1546
1547
+
1548
+ CREATEOR REPLACE FUNCTION
1549
+ json_path_exists(target json,path jsonpath, vars json DEFAULT' {}' ,
1550
+ silentboolean DEFAULT false)
1551
+ RETURNSboolean
1552
+ LANGUAGE INTERNAL
1553
+ STRICT IMMUTABLE PARALLEL SAFE
1554
+ AS ' json_path_exists' ;
1555
+
1556
+ CREATEOR REPLACE FUNCTION
1557
+ json_path_match(target json,path jsonpath, vars json DEFAULT' {}' ,
1558
+ silentboolean DEFAULT false)
1559
+ RETURNSboolean
1560
+ LANGUAGE INTERNAL
1561
+ STRICT IMMUTABLE PARALLEL SAFE
1562
+ AS ' json_path_match' ;
1563
+
1564
+ CREATEOR REPLACE FUNCTION
1565
+ json_path_query(target json,path jsonpath, vars json DEFAULT' {}' ,
1566
+ silentboolean DEFAULT false)
1567
+ RETURNS SETOF json
1568
+ LANGUAGE INTERNAL
1569
+ STRICT IMMUTABLE PARALLEL SAFE
1570
+ AS ' json_path_query' ;
1571
+
1572
+ CREATEOR REPLACE FUNCTION
1573
+ json_path_query_array(target json,path jsonpath, vars json DEFAULT' {}' ,
1574
+ silentboolean DEFAULT false)
1575
+ RETURNS json
1576
+ LANGUAGE INTERNAL
1577
+ STRICT IMMUTABLE PARALLEL SAFE
1578
+ AS ' json_path_query_array' ;
1579
+
1580
+ CREATEOR REPLACE FUNCTION
1581
+ json_path_query_first(target json,path jsonpath, vars json DEFAULT' {}' ,
1582
+ silentboolean DEFAULT false)
1583
+ RETURNS json
1584
+ LANGUAGE INTERNAL
1585
+ STRICT IMMUTABLE PARALLEL SAFE
1586
+ AS ' json_path_query_first' ;
1587
+
1588
+ CREATEOR REPLACE FUNCTION
1589
+ json_path_exists_tz(target json,path jsonpath, vars json DEFAULT' {}' ,
1590
+ silentboolean DEFAULT false)
1591
+ RETURNSboolean
1592
+ LANGUAGE INTERNAL
1593
+ STRICT STABLE PARALLEL SAFE
1594
+ AS ' json_path_exists_tz' ;
1595
+
1596
+ CREATEOR REPLACE FUNCTION
1597
+ json_path_match_tz(target json,path jsonpath, vars json DEFAULT' {}' ,
1598
+ silentboolean DEFAULT false)
1599
+ RETURNSboolean
1600
+ LANGUAGE INTERNAL
1601
+ STRICT STABLE PARALLEL SAFE
1602
+ AS ' json_path_match_tz' ;
1603
+
1604
+ CREATEOR REPLACE FUNCTION
1605
+ json_path_query_tz(target json,path jsonpath, vars json DEFAULT' {}' ,
1606
+ silentboolean DEFAULT false)
1607
+ RETURNS SETOF json
1608
+ LANGUAGE INTERNAL
1609
+ STRICT STABLE PARALLEL SAFE
1610
+ AS ' json_path_query_tz' ;
1611
+
1612
+ CREATEOR REPLACE FUNCTION
1613
+ json_path_query_array_tz(target json,path jsonpath, vars json DEFAULT' {}' ,
1614
+ silentboolean DEFAULT false)
1615
+ RETURNS json
1616
+ LANGUAGE INTERNAL
1617
+ STRICT STABLE PARALLEL SAFE
1618
+ AS ' json_path_query_array_tz' ;
1619
+
1620
+ CREATEOR REPLACE FUNCTION
1621
+ json_path_query_first_tz(target json,path jsonpath, vars json DEFAULT' {}' ,
1622
+ silentboolean DEFAULT false)
1623
+ RETURNS json
1624
+ LANGUAGE INTERNAL
1625
+ STRICT STABLE PARALLEL SAFE
1626
+ AS ' json_path_query_first_tz' ;
1627
+
1628
+
1531
1629
-- default normalization form is NFC, per SQL standard
1532
1630
CREATEOR REPLACE FUNCTION
1533
1631
" normalize" (text ,text DEFAULT' NFC' )