Query/docs/classes/Query.Query_Parser.html

672 lines
37 KiB
HTML
Raw Normal View History

2014-04-15 16:13:18 -04:00
<!DOCTYPE html>
<html lang="en">
2012-09-13 11:45:27 -04:00
<head>
2014-04-15 16:13:18 -04:00
<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"/>
2012-09-13 11:45:27 -04:00
</head>
<body>
2014-04-15 16:13:18 -04:00
2012-09-13 11:45:27 -04:00
<div class="navbar navbar-fixed-top">
2014-04-15 16:13:18 -04:00
<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">
2014-08-08 12:48:30 -04:00
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">0</span>
2014-04-15 16:13:18 -04:00
</a>
</li>
<li>
<a href="../reports/markers.html">
2014-08-08 12:48:30 -04:00
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">1</span>
2014-04-15 16:13:18 -04:00
</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>-->
2012-09-13 11:45:27 -04:00
</div>
2014-04-15 16:13:18 -04:00
<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">
2014-08-08 12:48:30 -04:00
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-772951996"></a>
2014-04-15 16:13:18 -04:00
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
2014-08-08 12:48:30 -04:00
<div id="namespace-772951996" class="accordion-body collapse in">
2014-04-15 16:13:18 -04:00
<div class="accordion-inner">
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
2014-08-08 12:48:30 -04:00
<a class="accordion-toggle collapsed" data-toggle="collapse" data-target="#namespace-145433023"></a>
2014-04-15 16:13:18 -04:00
<a href="../namespaces/Query.html" style="margin-left: 30px; padding-left: 0">Query</a>
</div>
2014-08-08 12:48:30 -04:00
<div id="namespace-145433023" class="accordion-body collapse ">
2014-04-15 16:13:18 -04:00
<div class="accordion-inner">
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
2014-08-08 12:48:30 -04:00
<a class="accordion-toggle collapsed" data-toggle="collapse" data-target="#namespace-1608804754"></a>
2014-04-15 16:13:18 -04:00
<a href="../namespaces/Query.Driver.html" style="margin-left: 30px; padding-left: 0">Driver</a>
</div>
2014-08-08 12:48:30 -04:00
<div id="namespace-1608804754" class="accordion-body collapse ">
2014-04-15 16:13:18 -04:00
<div class="accordion-inner">
2014-04-24 15:32:28 -04:00
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
2014-08-08 12:48:30 -04:00
<a class="accordion-toggle collapsed" data-toggle="collapse" data-target="#namespace-312033652"></a>
2014-04-24 15:32:28 -04:00
<a href="../namespaces/Query.Driver.SQL.html" style="margin-left: 30px; padding-left: 0">SQL</a>
</div>
2014-08-08 12:48:30 -04:00
<div id="namespace-312033652" class="accordion-body collapse ">
2014-04-24 15:32:28 -04:00
<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>
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
2014-08-08 12:48:30 -04:00
<a class="accordion-toggle collapsed" data-toggle="collapse" data-target="#namespace-1206436524"></a>
2014-04-24 15:32:28 -04:00
<a href="../namespaces/Query.Driver.Util.html" style="margin-left: 30px; padding-left: 0">Util</a>
</div>
2014-08-08 12:48:30 -04:00
<div id="namespace-1206436524" class="accordion-body collapse ">
2014-04-24 15:32:28 -04:00
<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.Abstract_Util.html">Abstract_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>
</ul>
</div>
</div>
</div>
</div>
2014-04-15 16:13:18 -04:00
2014-04-02 17:08:50 -04:00
<ul>
2014-04-15 16:13:18 -04:00
<li class="interface"><a href="../classes/Query.Driver.Driver_Interface.html">Driver_Interface</a></li>
2014-04-24 15:32:28 -04:00
<li class="class"><a href="../classes/Query.Driver.Firebird_Result.html">Firebird_Result</a></li>
2014-04-15 16:13:18 -04:00
<li class="class"><a href="../classes/Query.Driver.Firebird.html">Firebird</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.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>
2014-04-02 17:08:50 -04:00
<ul>
2014-04-15 16:13:18 -04:00
<li class="interface"><a href="../classes/Query.Query_Builder_Interface.html">Query_Builder_Interface</a></li>
<li class="class"><a href="../classes/Query.Query_Parser.html">Query_Parser</a></li>
<li class="class"><a href="../classes/Query.BadDBDriverException.html">BadDBDriverException</a></li>
2014-08-08 12:48:30 -04:00
<li class="class"><a href="../classes/Query.Query_Builder.html">Query_Builder</a></li>
2014-04-15 16:13:18 -04:00
<li class="class"><a href="../classes/Query.Connection_Manager.html">Connection_Manager</a></li>
2014-04-24 17:08:09 -04:00
<li class="class"><a href="../classes/Query.Abstract_Query_Builder.html">Abstract_Query_Builder</a></li>
2014-04-15 16:13:18 -04:00
</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/core.query_parser.php.html"><div class="path-wrapper">core/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>
2014-04-24 11:25:12 -04:00
<pre class="signature" style="margin-right: 54px;">__construct(\Query\Driver\Driver_Interface <span class="argument">$db</span>)</pre>
2014-04-15 16:13:18 -04:00
<p><em>Constructor/entry point into parser</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
2014-04-24 11:25:12 -04:00
<td><a href="../classes/Query.Driver.Driver_Interface.html">\Query\Driver\Driver_Interface</a></td>
2014-04-15 16:13:18 -04:00
<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>
2014-04-24 11:25:12 -04:00
<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>
2014-04-15 16:13:18 -04:00
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$sql</td>
<td></td>
</tr>
</table>
2014-04-24 11:25:12 -04:00
<h4>Returns</h4>
array
</article>
2014-04-15 16:13:18 -04:00
</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/core/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
2014-08-08 12:48:30 -04:00
on August 8th, 2014 at 12:45.
2014-04-15 16:13:18 -04:00
</section>
</section>
</section>
</footer>
2012-09-13 11:45:27 -04:00
</div>
2014-04-15 16:13:18 -04:00
2012-09-13 11:45:27 -04:00
</body>
</html>