[jOOQ/jOOQ#982] Add support for GIS extensions

- Added support for ST_Within
This commit is contained in:
Lukas Eder 2021-11-12 11:03:16 +01:00
parent f00107fd98
commit 2f39c572e8
5 changed files with 270 additions and 23 deletions

View File

@ -20621,6 +20621,61 @@ public class DSL {

View File

@ -430,6 +430,7 @@ final class Names {
static final Name N_ST_ASTEXT = unquotedName("st_astext");
static final Name N_ST_CONTAINS = unquotedName("st_contains");
static final Name N_ST_GEOMFROMTEXT = unquotedName("st_geomfromtext");
static final Name N_ST_WITHIN = unquotedName("st_within");
static final Name N_ST_X = unquotedName("st_x");
static final Name N_ST_Y = unquotedName("st_y");
static final Name N_SUBSTRING = unquotedName("substring");

View File

@ -306,6 +306,7 @@ import static org.jooq.impl.DSL.square;
// ...
// ...
// ...
// ...
import static org.jooq.impl.DSL.stddevPop;
import static org.jooq.impl.DSL.stddevSamp;
import static org.jooq.impl.DSL.sum;
@ -6142,29 +6143,12 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
if (parseKeywordIf("EXISTS")) {
parse('(');
Select<?> select = parseWithOrSelect();
parse(')');
return exists(select);
}
else if (parseKeywordIf("REGEXP_LIKE")) {
parse('(');
Field<?> f1 = parseField();
parse(',');
Field<?> f2 = parseField();
parse(')');
return f1.likeRegex((Field) f2);
}
else if (parseKeywordIf("UNIQUE")) {
parse('(');
Select<?> select = parseWithOrSelect();
parse(')');
return unique(select);
}
if (parseKeywordIf("EXISTS"))
return exists(parseParenthesised(c -> parseWithOrSelect()));
else if (parseKeywordIf("REGEXP_LIKE"))
return parseFunctionArgs2(Field::likeRegex);
else if (parseKeywordIf("UNIQUE"))
return unique(parseParenthesised(c -> parseWithOrSelect()));
else if (parseKeywordIf("JSON_EXISTS")) {
parse('(');
Field json = parseField();
@ -6205,6 +6189,11 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {
}
else if (parseFunctionNameIf("ST_WITHIN") && requireProEdition()) {
}
@ -7618,6 +7607,8 @@ final class DefaultParseContext extends AbstractScope implements ParseContext {

View File

@ -3496,6 +3496,19 @@ public final class QOM {

View File

@ -0,0 +1,187 @@
/*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Other licenses:
* -----------------------------------------------------------------------------
* Commercial licenses for this work are available. These replace the above
* ASL 2.0 and offer limited warranties, support, maintenance, and commercial
* database integrations.
*
* For more information, please visit: http://www.jooq.org/licenses
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package org.jooq.impl;