Class PgSQLXML
java.lang.Object
io.quarkus.jdbc.postgresql.runtime.graal.PgSQLXML
- All Implemented Interfaces:
SQLXML
The PgSQLXML implementation in the PostgreSQL JDBC
driver has a dependency on the JDK's XML parsers;
while the use of this type is a strong hint that the
application's nature is relying on XML processing via
the JDK standard libraries, we've observed that this type
is also often included in the analysis graph being
triggered via ,
which is widely used for other purposes as well.
Considering that the efficiency costs of including all
resources and reflective registrations necessary to support the
XML parsers is non-trivial, we apply here a trick to help the
GraalVM native image compiler avoid this inclusion unless this
feature is actually is reachable, by isolating the construction of
the parsers and their supporting other types via a reflective call.
This reflective invocation exists merely to give us a control knob
to toggle the inclusion of this code; it so happens that we can
trigger the toggle automatically so to not manifest as semantic changes
for the Quarkus users who don't need to know about this.
- Author:
- Sanne Grinovero <[email protected]>
-
Constructor Details
-
PgSQLXML
public PgSQLXML(org.postgresql.core.BaseConnection conn) -
PgSQLXML
-
-
Method Details
-
free
public void free() -
getBinaryStream
- Specified by:
getBinaryStream
in interfaceSQLXML
- Throws:
SQLException
-
getCharacterStream
- Specified by:
getCharacterStream
in interfaceSQLXML
- Throws:
SQLException
-
getSource
- Specified by:
getSource
in interfaceSQLXML
- Throws:
SQLException
-
getString
- Specified by:
getString
in interfaceSQLXML
- Throws:
SQLException
-
setBinaryStream
- Specified by:
setBinaryStream
in interfaceSQLXML
- Throws:
SQLException
-
setCharacterStream
- Specified by:
setCharacterStream
in interfaceSQLXML
- Throws:
SQLException
-
setResult
- Specified by:
setResult
in interfaceSQLXML
- Throws:
SQLException
-
setString
- Specified by:
setString
in interfaceSQLXML
- Throws:
SQLException
-