* WIP Started developing ST_DISJOINT Initially based on ST_INTERSECTS * Fix functions list and add spatial point integration tests * Update docs/changelog/107007.yaml * More tests for shapes and cartesian-multigeoms * Some more tests to highlight issues with DISJOINT on cartesian point indices * Disable Lucene push-down for DISJOINT on cartesian point indices * Added docs for ST_DISJOINT * Support DISJOINT in the lucene-pushdown code for cartesian point indexes * Re-enable push-to-source for DISJOINT on cartesian_point indices * Fix docs example * Try fix internal docs links which are not being rendered * Fixed disjoint on empty geometry * Added tests on empty linestring, and changed lucene push-down to exception In lucene code only LineString can be empty, but in Elasticsearch even that is not allowed, resulting in parsing errors. So we cannot get to this code in the lucene push-down and now throw an error instead. The tests now assert on the warnings. Note that for any predicate DISJOINT and INTERSECTS alike, the predicate fails, because the parsing error results in null, the function returns null, the predicate interprets this as false, and no documents match. This null-in-null-out rule means that DISJOINT and INTERSECTS give the same answer on invalid geometries. |
||
---|---|---|
.. | ||
description | ||
examples | ||
layout | ||
parameters | ||
signature | ||
types | ||
README.md | ||
aggregation-functions.asciidoc | ||
auto_bucket.asciidoc | ||
avg.asciidoc | ||
binary.asciidoc | ||
case.asciidoc | ||
cidr_match.asciidoc | ||
coalesce.asciidoc | ||
concat.asciidoc | ||
conditional-functions-and-expressions.asciidoc | ||
cosh.asciidoc | ||
count-distinct.asciidoc | ||
count.asciidoc | ||
date-time-functions.asciidoc | ||
date_diff.asciidoc | ||
date_extract.asciidoc | ||
date_format.asciidoc | ||
date_parse.asciidoc | ||
date_trunc.asciidoc | ||
e.asciidoc | ||
ends_with.asciidoc | ||
floor.asciidoc | ||
greatest.asciidoc | ||
in.asciidoc | ||
least.asciidoc | ||
length.asciidoc | ||
like.asciidoc | ||
logical.asciidoc | ||
ltrim.asciidoc | ||
math-functions.asciidoc | ||
max.asciidoc | ||
median-absolute-deviation.asciidoc | ||
median.asciidoc | ||
min.asciidoc | ||
mv-functions.asciidoc | ||
mv_avg.asciidoc | ||
mv_concat.asciidoc | ||
mv_count.asciidoc | ||
mv_dedupe.asciidoc | ||
mv_first.asciidoc | ||
mv_last.asciidoc | ||
mv_max.asciidoc | ||
mv_median.asciidoc | ||
mv_min.asciidoc | ||
mv_slice.asciidoc | ||
mv_sort.asciidoc | ||
mv_sum.asciidoc | ||
mv_zip.asciidoc | ||
now.asciidoc | ||
operators.asciidoc | ||
percentile.asciidoc | ||
pi.asciidoc | ||
pow.asciidoc | ||
predicates.asciidoc | ||
replace.asciidoc | ||
right.asciidoc | ||
rlike.asciidoc | ||
round.asciidoc | ||
rtrim.asciidoc | ||
spatial-functions.asciidoc | ||
split.asciidoc | ||
sqrt.asciidoc | ||
st_centroid.asciidoc | ||
st_contains.asciidoc | ||
st_disjoint.asciidoc | ||
st_intersects.asciidoc | ||
st_within.asciidoc | ||
st_x.asciidoc | ||
st_y.asciidoc | ||
starts_with.asciidoc | ||
string-functions.asciidoc | ||
substring.asciidoc | ||
sum.asciidoc | ||
tau.asciidoc | ||
to_boolean.asciidoc | ||
to_cartesianpoint.asciidoc | ||
to_cartesianshape.asciidoc | ||
to_datetime.asciidoc | ||
to_degrees.asciidoc | ||
to_double.asciidoc | ||
to_geopoint.asciidoc | ||
to_geoshape.asciidoc | ||
to_integer.asciidoc | ||
to_ip.asciidoc | ||
to_long.asciidoc | ||
to_lower.asciidoc | ||
to_radians.asciidoc | ||
to_string.asciidoc | ||
to_unsigned_long.asciidoc | ||
to_upper.asciidoc | ||
to_version.asciidoc | ||
trim.asciidoc | ||
type-conversion-functions.asciidoc | ||
unary.asciidoc | ||
values.asciidoc |
README.md
The files in these subdirectories are generated by ESQL's test suite:
description
- description of each function scraped from@FunctionInfo#description
examples
- examples of each function scraped from@FunctionInfo#examples
parameters
- description of each function's parameters scraped from@Param
signature
- railroad diagram of the syntax to invoke each functiontypes
- a table of each combination of support type for each parameter. These are generated from tests.layout
- a fully generated description for each function
Most functions can use the generated docs generated in the layout
directory.
If we need something more custom for the function we can make a file in this
directory that can include::
any parts of the files above.
To regenerate the files for a function run its tests using gradle:
./gradlew :x-pack:plugin:esql:test -Dtests.class='*SinTests'
To regenerate the files for all functions run all of ESQL's tests using gradle:
./gradlew :x-pack:plugin:esql:test