[jOOQ/jOOQ#9925] Added Oracle support
This commit is contained in:
parent
9ec5cc07bf
commit
2dac69b806
@ -37,6 +37,7 @@
|
||||
*/
|
||||
package org.jooq;
|
||||
|
||||
// ...
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.POSTGRES;
|
||||
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
*/
|
||||
package org.jooq;
|
||||
|
||||
// ...
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.POSTGRES;
|
||||
|
||||
@ -75,4 +76,21 @@ public interface XMLQueryPassingStep {
|
||||
@Support({ POSTGRES })
|
||||
Field<XML> passingByRef(Field<XML> xml);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
*/
|
||||
package org.jooq;
|
||||
|
||||
// ...
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.POSTGRES;
|
||||
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
*/
|
||||
package org.jooq;
|
||||
|
||||
// ...
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.POSTGRES;
|
||||
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
*/
|
||||
package org.jooq;
|
||||
|
||||
// ...
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.POSTGRES;
|
||||
|
||||
|
||||
@ -37,6 +37,7 @@
|
||||
*/
|
||||
package org.jooq;
|
||||
|
||||
// ...
|
||||
// ...
|
||||
import static org.jooq.SQLDialect.POSTGRES;
|
||||
|
||||
|
||||
@ -6899,10 +6899,17 @@ final class ParserImpl implements Parser {
|
||||
Field<String> xpath = (Field<String>) parseField(ctx);
|
||||
XMLPassingMechanism m = parseXMLPassingMechanism(ctx);
|
||||
Field<XML> xml = (Field<XML>) parseField(ctx);
|
||||
parseKeywordIf(ctx, "RETURNING CONTENT");
|
||||
parse(ctx, ')');
|
||||
|
||||
if (m == BY_REF)
|
||||
return xmlquery(xpath).passingByRef(xml);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
else
|
||||
return xmlquery(xpath).passing(xml);
|
||||
}
|
||||
|
||||
@ -40,9 +40,12 @@ package org.jooq.impl;
|
||||
import static org.jooq.impl.DSL.select;
|
||||
import static org.jooq.impl.DSL.unnest;
|
||||
import static org.jooq.impl.DSL.xmlagg;
|
||||
import static org.jooq.impl.Keywords.K_CONTENT;
|
||||
import static org.jooq.impl.Keywords.K_RETURNING;
|
||||
import static org.jooq.impl.Names.N_XMLQUERY;
|
||||
import static org.jooq.impl.SQLDataType.XML;
|
||||
import static org.jooq.impl.XMLPassingMechanism.BY_REF;
|
||||
import static org.jooq.impl.XMLPassingMechanism.BY_VALUE;
|
||||
import static org.jooq.impl.XMLTable.acceptPassing;
|
||||
import static org.jooq.impl.XMLTable.acceptXPath;
|
||||
|
||||
@ -99,6 +102,20 @@ final class XMLQuery extends AbstractField<XML> implements XMLQueryPassingStep {
|
||||
return new XMLQuery(xpath, xml, BY_REF);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// XXX: QueryPart API
|
||||
// -------------------------------------------------------------------------
|
||||
@ -126,12 +143,15 @@ final class XMLQuery extends AbstractField<XML> implements XMLQueryPassingStep {
|
||||
acceptXPath(ctx, xpath);
|
||||
acceptPassing(ctx, passing, passingMechanism);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ctx.formatIndentEnd()
|
||||
.formatNewLine()
|
||||
.sql(')');
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user