[#4372] UDTRecord is not "attached" when fetched from standalone stored function call

This commit is contained in:
lukaseder 2015-06-06 12:39:54 +02:00
parent ab13588991
commit de4f7fad12
3 changed files with 37 additions and 20 deletions

View File

@ -224,7 +224,7 @@ xxxxxx xxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxxxxxxxxxx xxxxxxxxxx xxxxxxxxxxxxxx
xxxxxxxxx
xxxxxxxxxxx
xxxxxx xxxxx xxxx xxxxxxxxxxxxxxxxxx xxxxxx xxxxxx xxxxxxxxxxxx x
xxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxx
x
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

View File

@ -67,6 +67,7 @@ import static org.jooq.impl.DSL.inline;
import static org.jooq.impl.DSL.name;
import static org.jooq.impl.DSL.using;
import static org.jooq.impl.DefaultExecuteContext.localTargetConnection;
import static org.jooq.impl.Utils.attachRecords;
import static org.jooq.impl.Utils.needsBackslashEscaping;
import static org.jooq.tools.jdbc.JDBCUtils.safeClose;
import static org.jooq.tools.jdbc.JDBCUtils.safeFree;
@ -95,6 +96,7 @@ import java.util.List;
import java.util.UUID;
// ...
import org.jooq.Attachable;
import org.jooq.Binding;
import org.jooq.BindingGetResultSetContext;
import org.jooq.BindingGetSQLInputContext;
@ -1375,7 +1377,7 @@ public class DefaultBinding<T, U> implements Binding<T, U> {
}
/* [pro] xx
xxxx xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x
xxxxxx x xxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxx
xxxxxx x xxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxx
x
xx [/pro] */
else if (EnumType.class.isAssignableFrom(type)) {
@ -1400,6 +1402,10 @@ public class DefaultBinding<T, U> implements Binding<T, U> {
result = (T) unlob(ctx.resultSet().getObject(ctx.index()));
}
// [#4372] Attach records if possible / required
if (result instanceof Attachable && attachRecords(ctx.configuration()))
((Attachable) result).attach(ctx.configuration());
ctx.value(converter.from(result));
}
@ -1526,7 +1532,7 @@ public class DefaultBinding<T, U> implements Binding<T, U> {
}
/* [pro] xx
xxxx xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x
xxxxxx x xxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxx
xxxxxx x xxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxx
x
xx [/pro] */
else if (EnumType.class.isAssignableFrom(type)) {
@ -1551,6 +1557,10 @@ public class DefaultBinding<T, U> implements Binding<T, U> {
result = (T) ctx.statement().getObject(ctx.index());
}
// [#4372] Attach records if possible / required
if (result instanceof Attachable && attachRecords(ctx.configuration()))
((Attachable) result).attach(ctx.configuration());
ctx.value(converter.from(result));
}
@ -1657,7 +1667,7 @@ public class DefaultBinding<T, U> implements Binding<T, U> {
}
/* [pro] xx
xxxx xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x
xxxxxx x xxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxx
xxxxxx x xxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx xxxxxxx xxxxxxxxxxxxxxxx xxxxxx
x
xx [/pro] */
else if (EnumType.class.isAssignableFrom(type)) {
@ -1677,7 +1687,7 @@ public class DefaultBinding<T, U> implements Binding<T, U> {
/* [pro] xx
xxxxxxx xxxxxx xxxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxx xxxxxxx xxxxxxxxxxxxxxx xxxxx xxxxxx xxxxxxxxxxxx x
xxxxxxx xxxxxx xxxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx xxxxx xxxxxx xxxxxxx xxxxxxx xxxxxxxxxxxxxxx xxxxx xxxxxx xxxxxxxxxxxx x
xx xxxxxx xx xxxxx x
xxxxxx xxxxx
x
@ -1685,11 +1695,11 @@ public class DefaultBinding<T, U> implements Binding<T, U> {
xx xxxxx xxxxxx xxx xxxxx xxxxxx xxxx xxxx xxxxxxx
xx xxx xxxxxxx xxxx xxxxxxxxx xx xxxx x xxx xxxxxxxx xxxxxxxxx xx
xx xxx xxxx xxx xxx
xxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx
xxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx
x
x
xxxxxx xxxxx xxx xxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxxxx xxxxxxx xxxxxx xxxxxxxxxxxx x
xxxxxx xxxxx xxx xxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxx xxxxxxx xxxxx xxxxxxx xxxxxx xxxxxxxxxxxx x
xx xxxxxxx xx xxxxx x
xxxxxxxxxxxxxxxx xxxxxx
x
@ -1707,6 +1717,10 @@ public class DefaultBinding<T, U> implements Binding<T, U> {
xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x
xx xxxxxxx xxxxxx xxxxxxx xx xxxxxxxx x xxxxxxxx
xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxx xxxxxxx
x

29
pom.xml
View File

@ -144,7 +144,7 @@
<email>truesaint@gmail.com</email>
<roles>
<role>firebird-support</role>
</roles>
</roles>
</contributor>
</contributors>
@ -237,7 +237,7 @@
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
@ -288,7 +288,7 @@
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>release-oss</id>
<properties>
@ -330,7 +330,7 @@
<useDefaultExcludes>true</useDefaultExcludes>
</configuration>
</plugin>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
@ -350,7 +350,7 @@
<encoding>UTF-8</encoding>
<show>protected</show>
<notree>true</notree>
<!-- Avoid running into Java 8's very restrictive doclint issues -->
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
@ -358,7 +358,7 @@
</plugins>
</build>
</profile>
<!-- [pro] xxx
xxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxx
@ -386,7 +386,7 @@
xxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx
xxxx xxxxx xxxxxxx xxxx xxxx xxx xxxx xxxxxxxxxxx xxxxxxx xxxxxx xxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
@ -394,7 +394,7 @@
xxxxxxxxxx
xxxxxxxx
xxxxxxxxxx
xxxxxxxxx
xxxx xxxx xxxx xxxxxxx xx xxxx xxxx xxx xxxxx xxxxxxxxxxxxxxxxxx xxxxxxx xxx
xxxxxxxxxxxxxxxxxxxx
@ -421,7 +421,7 @@
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxx
xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@ -447,7 +447,7 @@
xxx xxxx x xxxx xx xxx
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxx x
xxx xx x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x xxxxxxxxxxxxxxxxxx xxxxxxxx x xxxxx
xxxxxx x xxxxxxxxx xx xxxxxxxxxxxxxxxxxxxxxxxxxx x xxxxxxxxxxxxx x xxxxxxxxxxxxx x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@ -456,7 +456,7 @@
xxxxxxxxx
xxx
xxxxxxxxx
xxxx xxxxx xxxxxxx xxxx xxxx xxx xxxx xxxxxxxxxxx xxxxxxx xxxxxx xxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
@ -464,7 +464,7 @@
xxxxxxxxxx
xxxxxxxx
xxxxxxxxxx
xxxxxxxxx
xxxx xxxx xxxx xxxxxxx xx xxxx xxxx xxx xxxxx xxxxxxxxxxx xxxxxxx xxx
xxxxxxxxxxxxxxxxxxxxxxxxxxx
@ -491,7 +491,7 @@
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxx
xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@ -511,6 +511,9 @@
xxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx
xxxx xxxxx xxxxxxx xxxx xxxx xxx xxxx xxxxxxxxxxx xxxxxxx xxxxxx xxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx
xxxxxxxxx
xxxxxxxxxx