<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Query_factory</title><link>https://sourceforge.net/p/whitebear/allura-wiki/Query_factory/</link><description>Recent changes to Query_factory</description><atom:link href="https://sourceforge.net/p/whitebear/allura-wiki/Query_factory/feed" rel="self"/><language>en</language><lastBuildDate>Tue, 27 May 2014 18:00:05 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/whitebear/allura-wiki/Query_factory/feed" rel="self" type="application/rss+xml"/><item><title>Query_factory modified by silex6</title><link>https://sourceforge.net/p/whitebear/allura-wiki/Query_factory/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -8,3 +8,7 @@

   * [Cost_calculation] 
   * [Query_execution] 
+
+## See also
+
+[Set_engine] 
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">silex6</dc:creator><pubDate>Tue, 27 May 2014 18:00:05 -0000</pubDate><guid>https://sourceforge.net160fc3d95d4eaf64c2ed25ffb6e3da8ced41e7a5</guid></item><item><title>Query_factory modified by silex6</title><link>https://sourceforge.net/p/whitebear/allura-wiki/Query_factory/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;strong&gt;Query factory&lt;/strong&gt; goal is to build a tree of filters that should allow calculating results of a given SQL query. As there are always several possible trees for the same result, the query factory should first start a cost calculation in order to estimate number of I/O calls to calculate query according to the chosen tree and then move filters to a different position and start calculation again on the updated tree. &lt;/p&gt;
&lt;p&gt;The query factory should then repeat updating the filter tree, moving filters to a different position, and run cost calculation again according to the new tree, using the lowest found cost as &lt;em&gt;budget&lt;/em&gt; limit, in order to find tree construct that will give the fastest query. Typical move operation include: move filter trees before or after join operation, change sequence order of the join operations, change sequence order of a &lt;em&gt;chain&lt;/em&gt; of filters or replace &lt;em&gt;select&lt;/em&gt; by &lt;em&gt;filtering&lt;/em&gt; filter. &lt;/p&gt;
&lt;p&gt;Once cost has been estimated, and fastest way to calculate results has been determinate, the query factory should then start actual execution of the request, collect and broadcast results. &lt;/p&gt;
&lt;h2 id="topics"&gt;Topics&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="alink" href="/p/whitebear/allura-wiki/Cost_calculation/"&gt;[Cost_calculation]&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a class="alink" href="/p/whitebear/allura-wiki/Query_execution/"&gt;[Query_execution]&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">silex6</dc:creator><pubDate>Tue, 27 May 2014 18:00:05 -0000</pubDate><guid>https://sourceforge.net745563c230d196d843ccdf76e6b9356c0ea6c54a</guid></item></channel></rss>