Query/docs/classes/Query.Query_Parser.html

672 lines
37 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
<meta charset="utf-8"/>
<title>Query</title>
<meta name="author" content=""/>
<meta name="description" content=""/>
<link href="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.no-icons.min.css" rel="stylesheet">
<link href="https://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.min.css" rel="stylesheet">
<link href="../css/prism.css" rel="stylesheet" media="all"/>
<link href="../css/template.css" rel="stylesheet" media="all"/>
<!--[if lt IE 9]>
<script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
<![endif]-->
<script src="https://code.jquery.com/jquery-1.10.2.min.js" type="text/javascript"></script>
<script src="https://code.jquery.com/ui/1.10.3/jquery-ui.min.js" type="text/javascript"></script>
<script src="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
<script src="../js/jquery.smooth-scroll.js"></script>
<script src="../js/prism.min.js"></script>
<!-- TODO: Add http://jscrollpane.kelvinluck.com/ to style the scrollbars for browsers not using webkit-->
<script type="text/javascript">
function loadExternalCodeSnippets() {
Array.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach(function (pre) {
var src = pre.getAttribute('data-src');
var extension = (src.match(/\.(\w+)$/) || [, ''])[1];
var language = 'php';
var code = document.createElement('code');
code.className = 'language-' + language;
pre.textContent = '';
code.textContent = 'Loading…';
pre.appendChild(code);
var xhr = new XMLHttpRequest();
xhr.open('GET', src, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status < 400 && xhr.responseText) {
code.textContent = xhr.responseText;
Prism.highlightElement(code);
}
else if (xhr.status >= 400) {
code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
}
else {
code.textContent = '✖ Error: File does not exist or is empty';
}
}
};
xhr.send(null);
});
}
$(document).ready(function(){
loadExternalCodeSnippets();
});
$('#source-view').on('shown', function () {
loadExternalCodeSnippets();
})
</script>
<link rel="shortcut icon" href="../images/favicon.ico"/>
<link rel="apple-touch-icon" href="../images/apple-touch-icon.png"/>
<link rel="apple-touch-icon" sizes="72x72" href="../images/apple-touch-icon-72x72.png"/>
<link rel="apple-touch-icon" sizes="114x114" href="../images/apple-touch-icon-114x114.png"/>
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<i class="icon-ellipsis-vertical"></i>
</a>
<a class="brand" href="../index.html">Query</a>
<div class="nav-collapse">
<ul class="nav pull-right">
<li class="dropdown">
<a href="../index.html" class="dropdown-toggle" data-toggle="dropdown">
API Documentation <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a href="../namespaces/Query.html">\Query</a></li>
</ul>
</li>
<li class="dropdown" id="charts-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Charts <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li>
<a href="../graphs/class.html">
<i class="icon-list-alt"></i>&#160;Class hierarchy diagram
</a>
</li>
</ul>
</li>
<li class="dropdown" id="reports-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Reports <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">0</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">1</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<!--<div class="go_to_top">-->
<!--<a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>-->
<!--</div>-->
</div>
<div id="___" class="container-fluid">
<section class="row-fluid">
<div class="span2 sidebar">
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1660867503"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1660867503" class="accordion-body collapse in">
<div class="accordion-inner">
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle collapsed" data-toggle="collapse" data-target="#namespace-1600156676"></a>
<a href="../namespaces/Query.html" style="margin-left: 30px; padding-left: 0">Query</a>
</div>
<div id="namespace-1600156676" class="accordion-body collapse ">
<div class="accordion-inner">
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle collapsed" data-toggle="collapse" data-target="#namespace-1721055993"></a>
<a href="../namespaces/Query.Driver.html" style="margin-left: 30px; padding-left: 0">Driver</a>
</div>
<div id="namespace-1721055993" class="accordion-body collapse ">
<div class="accordion-inner">
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle collapsed" data-toggle="collapse" data-target="#namespace-1095468719"></a>
<a href="../namespaces/Query.Driver.Util.html" style="margin-left: 30px; padding-left: 0">Util</a>
</div>
<div id="namespace-1095468719" class="accordion-body collapse ">
<div class="accordion-inner">
<ul>
<li class="class"><a href="../classes/Query.Driver.Util.Firebird_Util.html">Firebird_Util</a></li>
<li class="class"><a href="../classes/Query.Driver.Util.MySQL_Util.html">MySQL_Util</a></li>
<li class="class"><a href="../classes/Query.Driver.Util.SQLite_Util.html">SQLite_Util</a></li>
<li class="class"><a href="../classes/Query.Driver.Util.PgSQL_Util.html">PgSQL_Util</a></li>
<li class="class"><a href="../classes/Query.Driver.Util.Abstract_Util.html">Abstract_Util</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle collapsed" data-toggle="collapse" data-target="#namespace-1385026310"></a>
<a href="../namespaces/Query.Driver.SQL.html" style="margin-left: 30px; padding-left: 0">SQL</a>
</div>
<div id="namespace-1385026310" class="accordion-body collapse ">
<div class="accordion-inner">
<ul>
<li class="interface"><a href="../classes/Query.Driver.SQL.SQL_Interface.html">SQL_Interface</a></li>
<li class="class"><a href="../classes/Query.Driver.SQL.Abstract_SQL.html">Abstract_SQL</a></li>
<li class="class"><a href="../classes/Query.Driver.SQL.PgSQL_SQL.html">PgSQL_SQL</a></li>
<li class="class"><a href="../classes/Query.Driver.SQL.MySQL_SQL.html">MySQL_SQL</a></li>
<li class="class"><a href="../classes/Query.Driver.SQL.Firebird_SQL.html">Firebird_SQL</a></li>
<li class="class"><a href="../classes/Query.Driver.SQL.SQLite_SQL.html">SQLite_SQL</a></li>
</ul>
</div>
</div>
</div>
</div>
<ul>
<li class="interface"><a href="../classes/Query.Driver.Driver_Interface.html">Driver_Interface</a></li>
<li class="class"><a href="../classes/Query.Driver.Abstract_Driver.html">Abstract_Driver</a></li>
<li class="class"><a href="../classes/Query.Driver.Firebird_Result.html">Firebird_Result</a></li>
<li class="class"><a href="../classes/Query.Driver.Firebird.html">Firebird</a></li>
<li class="class"><a href="../classes/Query.Driver.SQLite.html">SQLite</a></li>
<li class="class"><a href="../classes/Query.Driver.PgSQL.html">PgSQL</a></li>
<li class="class"><a href="../classes/Query.Driver.MySQL.html">MySQL</a></li>
</ul>
</div>
</div>
</div>
</div>
<ul>
<li class="interface"><a href="../classes/Query.Query_Builder_Interface.html">Query_Builder_Interface</a></li>
<li class="class"><a href="../classes/Query.BadDBDriverException.html">BadDBDriverException</a></li>
<li class="class"><a href="../classes/Query.Abstract_Query_Builder.html">Abstract_Query_Builder</a></li>
<li class="class"><a href="../classes/Query.Connection_Manager.html">Connection_Manager</a></li>
<li class="class"><a href="../classes/Query.Query_Parser.html">Query_Parser</a></li>
<li class="class"><a href="../classes/Query.Query_Builder.html">Query_Builder</a></li>
</ul>
</div>
</div>
</div>
</div>
<ul>
</ul>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="row-fluid">
<div class="span10 offset2">
<div class="row-fluid">
<div class="span8 content class">
<nav>
<a href="../namespaces/Query.html">\Query</a> <i class="icon-level-up"></i>
</nav>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a>
<h1><small>\Query</small>Query_Parser</h1>
<p><em>Utility Class to parse sql clauses for properly escaping identifiers</em></p>
<section id="summary">
<h2>Summary</h2>
<section class="row-fluid heading">
<section class="span4">
<a href="#methods">Methods</a>
</section>
<section class="span4">
<a href="#properties">Properties</a>
</section>
<section class="span4">
<a href="#constants">Constants</a>
</section>
</section>
<section class="row-fluid public">
<section class="span4">
<a href="../classes/Query.Query_Parser.html#method___construct" class="">__construct()</a><br />
<a href="../classes/Query.Query_Parser.html#method_compile_join" class="">compile_join()</a><br />
</section>
<section class="span4">
<a href="../classes/Query.Query_Parser.html#property_matches" class="">$matches</a><br />
</section>
<section class="span4">
<em>No constants found</em>
</section>
</section>
<section class="row-fluid protected">
<section class="span4">
<a href="../classes/Query.Query_Parser.html#method_parse_join" class="">parse_join()</a><br />
<a href="../classes/Query.Query_Parser.html#method_filter_array" class="">filter_array()</a><br />
</section>
<section class="span4">
<em>No protected properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
<section class="row-fluid private">
<section class="span4">
<em>No private methods found</em>
</section>
<section class="span4">
<a href="../classes/Query.Query_Parser.html#property_db" class="">$db</a><br />
<a href="../classes/Query.Query_Parser.html#property_match_patterns" class="">$match_patterns</a><br />
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
</section>
</div>
<aside class="span4 detailsbar">
<dl>
<dt>File</dt>
<dd><a href="../files/Query.Query_Parser.php.html"><div class="path-wrapper">Query/Query_Parser.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">\Query\Query_Builder\Query_Builder</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\Query\Query_Parser</div>
</dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
<a id="properties" name="properties"></a>
<div class="row-fluid">
<div class="span8 content class">
<h2>Properties</h2>
</div>
<aside class="span4 detailsbar"></aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="property_matches" name="property_matches" class="anchor"></a>
<article class="property">
<h3 class="public ">$matches</h3>
<pre class="signature">$matches : array</pre>
<p><em>Regex matches</em></p>
<h4>Type</h4>
array
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="property_db" name="property_db" class="anchor"></a>
<article class="property">
<h3 class="private ">$db</h3>
<pre class="signature">$db : \Query\Driver\Driver_Interface</pre>
<p><em>DB Driver</em></p>
<h4>Type</h4>
<a href="../classes/Query.Driver.Driver_Interface.html">\Query\Driver\Driver_Interface</a>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="property_match_patterns" name="property_match_patterns" class="anchor"></a>
<article class="property">
<h3 class="private ">$match_patterns</h3>
<pre class="signature">$match_patterns : array</pre>
<p><em>Regex patterns for various syntax components</em></p>
<h4>Type</h4>
array
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
<a id="methods" name="methods"></a>
<div class="row-fluid">
<div class="span8 content class"><h2>Methods</h2></div>
<aside class="span4 detailsbar"></aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method___construct" name="method___construct" class="anchor"></a>
<article class="method">
<h3 class="public ">__construct()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">__construct(\Query\Driver\Driver_Interface <span class="argument">$db</span>)</pre>
<p><em>Constructor/entry point into parser</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td><a href="../classes/Query.Driver.Driver_Interface.html">\Query\Driver\Driver_Interface</a></td>
<td>$db</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_compile_join" name="method_compile_join" class="anchor"></a>
<article class="method">
<h3 class="public ">compile_join()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">compile_join(string <span class="argument">$condition</span>) : string</pre>
<p><em>Compiles a join condition after parsing</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$condition</td>
<td></td>
</tr>
</table>
<h4>Returns</h4>
string
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_parse_join" name="method_parse_join" class="anchor"></a>
<article class="method">
<h3 class="protected ">parse_join()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">parse_join(string <span class="argument">$sql</span>) : array</pre>
<p><em>Public parser method for setting the parse string</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$sql</td>
<td></td>
</tr>
</table>
<h4>Returns</h4>
array
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_filter_array" name="method_filter_array" class="anchor"></a>
<article class="method">
<h3 class="protected ">filter_array()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">filter_array(array <span class="argument">$array</span>) : array</pre>
<p><em>Returns a more useful match array</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$array</td>
<td></td>
</tr>
</table>
<h4>Returns</h4>
array
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
</div>
</section>
<div id="source-view" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="source-view-label" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">Query_Parser.php</h3>
</div>
<div class="modal-body">
<pre data-src="../files/Query/Query_Parser.php.txt" class="language-php line-numbers"></pre>
</div>
</div>
<footer class="row-fluid">
<section class="span10 offset2">
<section class="row-fluid">
<section class="span10 offset1">
<section class="row-fluid footer-sections">
<section class="span4">
<h1><i class="icon-code"></i></h1>
<div>
<ul>
<li><a href="../namespaces/Query.html">\Query</a></li>
</ul>
</div>
</section>
<section class="span4">
<h1><i class="icon-bar-chart"></i></h1>
<div>
<ul>
<li><a href="../graphs/class.html">Class Hierarchy Diagram</a></li>
</ul>
</div>
</section>
<section class="span4">
<h1><i class="icon-pushpin"></i></h1>
<div>
<ul>
<li><a href="../reports/errors.html">Errors</a></li>
<li><a href="../reports/markers.html">Markers</a></li>
</ul>
</div>
</section>
</section>
</section>
</section>
<section class="row-fluid">
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on June 4th, 2015 at 15:15.
</section>
</section>
</section>
</footer>
</div>
</body>
</html>