Drupal Lite!<br><br><div class="gmail_quote">On Wed, Feb 4, 2009 at 9:16 PM, Jamie Holly <span dir="ltr">&lt;<a href="mailto:hovercrafter@earthlink.net">hovercrafter@earthlink.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
What impact would this have on sites utilizing multiple Apache/PHP servers? I&#39;m not that up on SQLite, but I was always under the impression it was more or less designed for a single server scenario (though I guess you could put the file on a shared file system, which of course opens up a whole new can of worms).<br>
<font color="#888888">
<br>
Jamie Holly</font><div><div></div><div class="Wj3C7c"><br>
<br>
<br>
<br>
<br>
Larry Garfield wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
So I am still -1 on requiring SQLite in order for Drupal to function. &nbsp;However, I am leaning more and more toward automatically using it if available.<br>
<br>
I am still not convinced that we can always assume PHP 5.2 =&gt; SQLite with no further effort. &nbsp;Some distros do weird things (eg, Debian as someone mentioned already). &nbsp;I also think the ability to do a complete migration or backup just using the primary DB is a critically important feature for maintainability, and having to migrate a magical file on disk as well is a major WTF for users used to WordPress. &nbsp;(And let&#39;s face it, that&#39;s a major market we need to be able to hit.)<br>

<br>
However, the idea of treating it as a cache-like system has a lot of merit, especially as it is possible to then run without it. &nbsp;It&#39;s possible (although not recommended) to run without the CSS compressor, clean URLs, etc. &nbsp;A &quot;system cache SQLite database&quot; could be treated in the same way.<br>

<br>
That is, the logic in bootstrap would be something like:<br>
<br>
if (we can open the magic DB) {<br>
 &nbsp;Open it and assign it to connection key default, target &quot;system&quot;.<br>
}<br>
elseif (it doesn&#39;t exist) {<br>
 &nbsp;Try to create it.<br>
 &nbsp;Populate it off of the main DB.<br>
 &nbsp;Open it and assign it to connection key default, target &quot;system&quot;.<br>
}<br>
elseif (we can&#39;t create the DB) {<br>
 &nbsp;Do nothing. &nbsp;Queries run against the &quot;system&quot; target will just run against the main DB on their own.<br>
}<br>
<br>
OK, we&#39;ll probably want to speed optimize that somewhat since it&#39;s on the critical path, but you get the idea. &nbsp;Then a drupal_flush_caches() would simply delete that DB.<br>
<br>
On the installer front, what if installers do not REQUIRE an SQLite to work, but require them for certain features? &nbsp;So &quot;advanced&quot; install profiles can require SQLite, but the basic ones don&#39;t.<br>
<br>
--Larry Garfield<br>
<br>
On Wed, 4 Feb 2009 07:12:46 -0800, Karoly Negyesi &lt;<a href="mailto:karoly@negyesi.net" target="_blank">karoly@negyesi.net</a>&gt; wrote:<br>
&gt; Hi,<br>
&gt; &gt; Every morning, I am distilling the discussion.<br>
&gt; &gt; *) SQLite is not supported. If you have Drupal 5.2 and PDO which are<br>
&gt; already requirements then you have SQLite unless it&#39;s explicitly<br>
&gt; disabled and so far noone was able to answer the challenge at<br>
&gt; <a href="http://drupal4hu.com/node/177" target="_blank">http://drupal4hu.com/node/177</a> . It&#39;s embedded into PHP so &quot;supporting&quot;<br>
&gt; it is like supporting the SimpleXML extension. Unlike MySQL where you<br>
&gt; need to run a separate server, here we have an embedded SQL engine<br>
&gt; right inside PDO. Also note that if we want (and I think we want)<br>
&gt; easier and more powerful install profiles then we will require SQLite<br>
&gt; for the install anyways.<br>
&gt; &gt; *) Deployment and rebuild. As it stands, now I believe that Drupal<br>
&gt; should be able to boot up enough to be able to copy the tables from<br>
&gt; MySQL to SQLite. I am not saying I am expecting it to be functional.<br>
&gt; After the tables are copied back into SQLite, it should either restart<br>
&gt; the bootstrap process or reload at the same URL. This solves<br>
&gt; deployment.<br>
&gt; &gt; *) Why do I want this? Once again, nicer code, especially for caching.<br>
&gt; Various pluggable subsystems (cache, session and path being the<br>
&gt; biggest wins here) &nbsp;will just work instead of ugly hacking. But in<br>
&gt; general, instead of trying to figure out during bootstrap coding &quot;do<br>
&gt; we have a DB connection yet&quot; the answer is always yes.<br>
&gt; &gt; Kind regards<br>
&gt; &gt; NK<br>
<br>
<br>
 &nbsp;<br>
</blockquote>
</div></div></blockquote></div><br>