@@ -72,6 +72,11 @@ declare variable $replicating-map-file := "/roxy/status/cleanup/replicating-map.
7272declare variable $replicating-map-file-internal := "/roxy/status/cleanup/replicating-map-internal.xml" ;
7373declare variable $replicating-map := map:map ();
7474
75+ (: Several functions take an optional invalid-values parameter. Use this as the
76+ : default value when it's not provided.
77+ :)
78+ declare variable $default-invalid-values := "reject" ;
79+
7580declare variable $group-settings :=
7681 <settings>
7782 <setting>list-cache-size</setting>
@@ -2258,7 +2263,7 @@ declare function setup:validated-range-element-indexes(
22582263 $index-config/db:localname/fn:string (.),
22592264 fn:string ($index-config/db:collation [../db:scalar-type = 'string' ]),
22602265 ($index-config/db:range-value-positions/xs:boolean (.), false ())[1 ],
2261- ($index-config/db:invalid-values, "reject" )[1 ]
2266+ ($index-config/db:invalid-values, $default-invalid-values )[1 ]
22622267 )
22632268 else
22642269 xdmp:apply (
@@ -2320,7 +2325,7 @@ declare function setup:validated-range-element-attribute-indexes(
23202325 $index-config/db:localname/fn:string (.),
23212326 fn:string ($index-config/db:collation [../db:scalar-type = 'string' ]),
23222327 ($index-config/db:range-value-positions/xs:boolean (.), false ())[1 ],
2323- ($index-config/db:invalid-values, "reject" )[1 ]
2328+ ($index-config/db:invalid-values, $default-invalid-values )[1 ]
23242329 )
23252330 else
23262331 xdmp:apply (
@@ -2449,7 +2454,7 @@ declare function setup:add-range-path-indexes(
24492454 $index/db:path-expression,
24502455 $index/db:collation,
24512456 $index/db:range-value-positions,
2452- $index/db:invalid-values
2457+ ( $index/db:invalid-values, $default-invalid-values)[1]
24532458 )
24542459 )"
24552460 )
@@ -2478,16 +2483,18 @@ declare function setup:validate-range-path-indexes(
24782483 declare namespace db="http://marklogic.com/xdmp/database";
24792484 declare variable $database external;
24802485 declare variable $x external;
2486+ declare variable $default-invalid-values external;
24812487
24822488 admin:database-range-path-index(
24832489 $database,
24842490 $x/db:scalar-type,
24852491 $x/db:path-expression,
24862492 fn:string($x/db:collation[../db:scalar-type = "string"]),
24872493 $x/db:range-value-positions,
2488- $x/db:invalid-values)' ,
2494+ ( $x/db:invalid-values, $default-invalid-values)[1] )' ,
24892495 (xs:QName ("database" ), $database,
2490- xs:QName ("x" ), $expected))
2496+ xs:QName ("x" ), $expected,
2497+ xs:QName ("default-invalid-values" ), $default-invalid-values))
24912498 return
24922499 if ($existing[fn:deep-equal (., $expected)]) then ()
24932500 else
@@ -2689,7 +2696,7 @@ declare function setup:add-range-field-indexes-helper(
26892696 $index/db:field-name,
26902697 ($index/db:collation /fn:string (), "" )[1 ], (: ML6 requires xs:string; later requires xs:string? :)
26912698 $index/db:range-value-positions,
2692- $index/db:invalid-values
2699+ ( $index/db:invalid-values, $default-invalid-values)[ 1 ]
26932700 )
26942701 else
26952702 admin:database-range-field-index (
@@ -2738,7 +2745,7 @@ declare function setup:add-geospatial-element-indexes(
27382745 $index/db:coordinate-system,
27392746 $index/db:range-value-positions,
27402747 ($index/db:point-format, "point" )[1 ],
2741- ($index/db:invalid-values, "ignore" )[1 ]
2748+ ($index/db:invalid-values, $default-invalid-values )[1 ]
27422749 )
27432750 else
27442751 admin:database-geospatial-element-index (
@@ -2792,7 +2799,7 @@ declare function setup:add-geospatial-element-attribute-pair-indexes(
27922799 $index/db:longitude-localname,
27932800 $index/db:coordinate-system,
27942801 $index/db:range-value-positions,
2795- ($index/db:invalid-values, "ignore" )[1 ]
2802+ ($index/db:invalid-values, $default-invalid-values )[1 ]
27962803 )
27972804 else
27982805 admin:database-geospatial-element-attribute-pair-index (
@@ -2849,7 +2856,7 @@ declare function setup:add-geospatial-element-pair-indexes(
28492856 $index/db:longitude-localname,
28502857 $index/db:coordinate-system,
28512858 $index/db:range-value-positions,
2852- ($index/db:invalid-values, "ignore" )[1 ]
2859+ ($index/db:invalid-values, $default-invalid-values )[1 ]
28532860 )
28542861 else
28552862 admin:database-geospatial-element-pair-index (
@@ -2905,7 +2912,7 @@ declare function setup:add-geospatial-element-child-indexes(
29052912 $index/db:coordinate-system,
29062913 $index/db:range-value-positions,
29072914 ($index/db:point-format, "point" )[1 ],
2908- ($index/db:invalid-values, "ignore" )[1 ]
2915+ ($index/db:invalid-values, $default-invalid-values )[1 ]
29092916 )
29102917 else
29112918 admin:database-geospatial-element-child-index (
0 commit comments