blob: 60da8276c5a9dc2dedc58582aa829d7e76901cb1 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_18) on Sun Apr 01 21:18:06 PDT 2012 -->
<TITLE>
SQLQueryParser
</TITLE>
<META NAME="keywords" CONTENT="org.apache.xalan.lib.sql.SQLQueryParser class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="SQLQueryParser";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SQLQueryParser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/xalan/lib/sql/SQLErrorDocument.html" title="class in org.apache.xalan.lib.sql"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/xalan/lib/sql/XConnection.html" title="class in org.apache.xalan.lib.sql"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/xalan/lib/sql/SQLQueryParser.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="SQLQueryParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.xalan.lib.sql</FONT>
<BR>
Class SQLQueryParser</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.xalan.lib.sql.SQLQueryParser</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.40"><B>SQLQueryParser</B></A><DT>extends java.lang.Object</DL>
</PRE>
<P>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#INLINE_PARSER">INLINE_PARSER</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#m_hasOutput">m_hasOutput</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#m_HasParameters">m_HasParameters</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#m_InlineVariables">m_InlineVariables</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If the parser used inline parser to pull out variables then
this will be true.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#m_IsCallable">m_IsCallable</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#m_OrigQuery">m_OrigQuery</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.util.Vector</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#m_Parameters">m_Parameters</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.lang.StringBuffer</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#m_ParsedQuery">m_ParsedQuery</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#NO_INLINE_PARSER">NO_INLINE_PARSER</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#NO_OVERRIDE">NO_OVERRIDE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#SQLQueryParser()">SQLQueryParser</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The SQLStatement Parser will be created as a psuedo SINGLETON per
XConnection.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private </CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#SQLQueryParser(java.lang.String)">SQLQueryParser</A></B>(java.lang.String&nbsp;query)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor, used to create a new parser entry</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Vector</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#getParameters()">getParameters</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#getSQLQuery()">getSQLQuery</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a copy of the parsed SQL query that will be set to the
Database system to execute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#hasParameters()">hasParameters</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If a SQL Statement does not have any parameters, then it can be executed
directly.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#init()">init</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;On a per Xconnection basis, we will create a SQLStatemenetParser, from
this parser, individual parsers will be created.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#inlineParser()">inlineParser</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#isCallable()">isCallable</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If the Inline Parser is used, the parser will note if this stastement is
a plain SQL Statement or a Called Procedure.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#parse(org.apache.xalan.lib.sql.XConnection, int)">parse</A></B>(<A HREF="../../../../../org/apache/xalan/lib/sql/XConnection.html" title="class in org.apache.xalan.lib.sql">XConnection</A>&nbsp;xconn,
int&nbsp;override)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produce an SQL Statement Parser based on the incomming query.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html" title="class in org.apache.xalan.lib.sql">SQLQueryParser</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#parse(org.apache.xalan.lib.sql.XConnection, java.lang.String, int)">parse</A></B>(<A HREF="../../../../../org/apache/xalan/lib/sql/XConnection.html" title="class in org.apache.xalan.lib.sql">XConnection</A>&nbsp;xconn,
java.lang.String&nbsp;query,
int&nbsp;override)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Produce an SQL Statement Parser based on the incomming query.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#populateStatement(java.sql.PreparedStatement, org.apache.xalan.extensions.ExpressionContext)">populateStatement</A></B>(java.sql.PreparedStatement&nbsp;stmt,
<A HREF="../../../../../org/apache/xalan/extensions/ExpressionContext.html" title="interface in org.apache.xalan.extensions">ExpressionContext</A>&nbsp;ctx)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The SQL Statement Parser, when an Inline Parser is used, tracks the XSL
variables used to populate a statement.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#registerOutputParameters(java.sql.CallableStatement)">registerOutputParameters</A></B>(java.sql.CallableStatement&nbsp;cstmt)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html#setParameters(java.util.Vector)">setParameters</A></B>(java.util.Vector&nbsp;p)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The XConnection will use this method to store the Parameters
that were supplied by the style sheet in the case where the
inline parser was not used</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="m_InlineVariables"><!-- --></A><H3>
m_InlineVariables</H3>
<PRE>
private boolean <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.46"><B>m_InlineVariables</B></A></PRE>
<DL>
<DD>If the parser used inline parser to pull out variables then
this will be true. The default is not to use the Inline Parser.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="m_IsCallable"><!-- --></A><H3>
m_IsCallable</H3>
<PRE>
private boolean <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.51"><B>m_IsCallable</B></A></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="m_OrigQuery"><!-- --></A><H3>
m_OrigQuery</H3>
<PRE>
private java.lang.String <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.56"><B>m_OrigQuery</B></A></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="m_ParsedQuery"><!-- --></A><H3>
m_ParsedQuery</H3>
<PRE>
private java.lang.StringBuffer <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.61"><B>m_ParsedQuery</B></A></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="m_Parameters"><!-- --></A><H3>
m_Parameters</H3>
<PRE>
private java.util.Vector <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.66"><B>m_Parameters</B></A></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="m_hasOutput"><!-- --></A><H3>
m_hasOutput</H3>
<PRE>
private boolean <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.71"><B>m_hasOutput</B></A></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="m_HasParameters"><!-- --></A><H3>
m_HasParameters</H3>
<PRE>
private boolean <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.76"><B>m_HasParameters</B></A></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="NO_OVERRIDE"><!-- --></A><H3>
NO_OVERRIDE</H3>
<PRE>
public static final int <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.78"><B>NO_OVERRIDE</B></A></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.xalan.lib.sql.SQLQueryParser.NO_OVERRIDE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="NO_INLINE_PARSER"><!-- --></A><H3>
NO_INLINE_PARSER</H3>
<PRE>
public static final int <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.79"><B>NO_INLINE_PARSER</B></A></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.xalan.lib.sql.SQLQueryParser.NO_INLINE_PARSER">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="INLINE_PARSER"><!-- --></A><H3>
INLINE_PARSER</H3>
<PRE>
public static final int <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.80"><B>INLINE_PARSER</B></A></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.xalan.lib.sql.SQLQueryParser.INLINE_PARSER">Constant Field Values</A></DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="SQLQueryParser()"><!-- --></A><H3>
SQLQueryParser</H3>
<PRE>
public <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.88"><B>SQLQueryParser</B></A>()</PRE>
<DL>
<DD>The SQLStatement Parser will be created as a psuedo SINGLETON per
XConnection. Since we are only caching the Query and its parsed results
we may be able to use this as a real SINGLETON. It all depends on how
Statement Caching will play out.
<P>
</DL>
<HR>
<A NAME="SQLQueryParser(java.lang.String)"><!-- --></A><H3>
SQLQueryParser</H3>
<PRE>
private <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.96"><B>SQLQueryParser</B></A>(java.lang.String&nbsp;query)</PRE>
<DL>
<DD>Constructor, used to create a new parser entry
<P>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="init()"><!-- --></A><H3>
init</H3>
<PRE>
private void <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.106"><B>init</B></A>()</PRE>
<DL>
<DD>On a per Xconnection basis, we will create a SQLStatemenetParser, from
this parser, individual parsers will be created. The Init method is defined
to initialize all the internal structures that maintains the pool of parsers.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="parse(org.apache.xalan.lib.sql.XConnection, java.lang.String, int)"><!-- --></A><H3>
parse</H3>
<PRE>
public <A HREF="../../../../../org/apache/xalan/lib/sql/SQLQueryParser.html" title="class in org.apache.xalan.lib.sql">SQLQueryParser</A> <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.123"><B>parse</B></A>(<A HREF="../../../../../org/apache/xalan/lib/sql/XConnection.html" title="class in org.apache.xalan.lib.sql">XConnection</A>&nbsp;xconn,
java.lang.String&nbsp;query,
int&nbsp;override)</PRE>
<DL>
<DD>Produce an SQL Statement Parser based on the incomming query.
For now we will just create a new object, in the future we may have this
interface cache the queries so that we can take advantage of a preparsed
String.
If the Inline Parser is not enabled in the Options, no action will be
taken on the parser. This option can be set by the Stylesheet. If the
option is not set or cleared, a default value will be set determined
by the way variables were passed into the system.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="parse(org.apache.xalan.lib.sql.XConnection, int)"><!-- --></A><H3>
parse</H3>
<PRE>
private void <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.148"><B>parse</B></A>(<A HREF="../../../../../org/apache/xalan/lib/sql/XConnection.html" title="class in org.apache.xalan.lib.sql">XConnection</A>&nbsp;xconn,
int&nbsp;override)</PRE>
<DL>
<DD>Produce an SQL Statement Parser based on the incomming query.
For now we will just create a new object, in the future we may have this
interface cache the queries so that we can take advantage of a preparsed
String.
If the Inline Parser is not enabled in the Options, no action will be
taken on the parser. This option can be set by the Stylesheet. If the
option is not set or cleared, a default value will be set determined
by the way variables were passed into the system.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="hasParameters()"><!-- --></A><H3>
hasParameters</H3>
<PRE>
public boolean <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.167"><B>hasParameters</B></A>()</PRE>
<DL>
<DD>If a SQL Statement does not have any parameters, then it can be executed
directly. Most SQL Servers use this as a performance advantage since no
parameters need to be parsed then bound.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isCallable()"><!-- --></A><H3>
isCallable</H3>
<PRE>
public boolean <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.182"><B>isCallable</B></A>()</PRE>
<DL>
<DD>If the Inline Parser is used, the parser will note if this stastement is
a plain SQL Statement or a Called Procedure. Called Procudures generally
have output parameters and require special handling.
Called Procudures that are not processed with the Inline Parser will
still be executed but under the context of a PreparedStatement and
not a CallableStatement. Called Procudures that have output parameters
MUST be handled with the Inline Parser.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getParameters()"><!-- --></A><H3>
getParameters</H3>
<PRE>
public java.util.Vector <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.191"><B>getParameters</B></A>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setParameters(java.util.Vector)"><!-- --></A><H3>
setParameters</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.201"><B>setParameters</B></A>(java.util.Vector&nbsp;p)</PRE>
<DL>
<DD>The XConnection will use this method to store the Parameters
that were supplied by the style sheet in the case where the
inline parser was not used
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getSQLQuery()"><!-- --></A><H3>
getSQLQuery</H3>
<PRE>
public java.lang.String <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.212"><B>getSQLQuery</B></A>()</PRE>
<DL>
<DD>Return a copy of the parsed SQL query that will be set to the
Database system to execute. If the inline parser was not used,
then the original query will be returned.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="populateStatement(java.sql.PreparedStatement, org.apache.xalan.extensions.ExpressionContext)"><!-- --></A><H3>
populateStatement</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.227"><B>populateStatement</B></A>(java.sql.PreparedStatement&nbsp;stmt,
<A HREF="../../../../../org/apache/xalan/extensions/ExpressionContext.html" title="interface in org.apache.xalan.extensions">ExpressionContext</A>&nbsp;ctx)</PRE>
<DL>
<DD>The SQL Statement Parser, when an Inline Parser is used, tracks the XSL
variables used to populate a statement. The data use to popoulate a
can also be provided. If the data is provided, it will overide the
populastion using XSL variables. When the Inline PArser is not used, then
the Data will always be provided.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="registerOutputParameters(java.sql.CallableStatement)"><!-- --></A><H3>
registerOutputParameters</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.280"><B>registerOutputParameters</B></A>(java.sql.CallableStatement&nbsp;cstmt)
throws java.sql.SQLException</PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE>java.sql.SQLException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="inlineParser()"><!-- --></A><H3>
inlineParser</H3>
<PRE>
protected void <A HREF="../../../../../src-html/org/apache/xalan/lib/sql/SQLQueryParser.html#line.300"><B>inlineParser</B></A>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SQLQueryParser.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/xalan/lib/sql/SQLErrorDocument.html" title="class in org.apache.xalan.lib.sql"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/xalan/lib/sql/XConnection.html" title="class in org.apache.xalan.lib.sql"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/xalan/lib/sql/SQLQueryParser.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="SQLQueryParser.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>