Chapter 4. Extensions to JDBC


4.1. Prepared Statements

JBoss Data Virtualization provides org.teiid.jdbc.TeiidPreparedStatement, a custom interface for the standard java.sql.PreparedStatement, and implementations org.teiid.jdbc.CallableStatementImpl and org.teiid.jdbc.PreparedStatementImpl. Prepared statements can be important in speeding up common statement execution, since they allow the server to skip parsing, resolving, and planning of the statement.
The following points should be considered when using prepared statements:
  • It is not necessary to pool client-side JBoss Data Virtualization prepared statements, because JBoss Data Virtualization performs plan caching on the server side.
  • The number of cached plans is configurable. The plans are purged in order of least recently used (LRU).
  • Cached plans are not distributed through a cluster. A new plan must be created for each cluster member.
  • Plans are cached for the entire VDB or for just a particular session. The scope of a plan is detected automatically based upon the functions evaluated during its planning process.
  • Runtime updates of costing information do not yet cause re-planning. At this time only session-scoped temporary table or internally materialized tables update their costing information.
  • Stored procedures executed through a callable statement have their plans cached in the same way as a prepared statement.
  • Bind variable types in function signatures, for example where t.col = abs(?), can be determined if the function has only one signature or if the function is used in a predicate where the return type can be determined. In more complex situations it may be necessary to add a type hint with a cast or convert, for example upper(convert(?, string)).
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2026 Red Hat
Back to top