Search the web
Sign In
New User? Sign Up
metabase-dev · Metabase Development discussions list
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Hear how Yahoo! Groups has changed the lives of others. Take me there.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Re: PHP Extension SQLite Driver latest   Message List  
Reply | Forward Message #1140 of 1151 |
Re: [metabase-dev] Re: PHP Extension SQLite Driver latest

Hello,

on 11/18/2005 03:39 PM jonbouyw said the following:
>> I am experiencing a few glitches with the driver test script. Right
>> after trying to create tables for the articles and files tables the
>> script attempts to delete all the rows in those tables. However, it is
>> failing saying that the table does not exist. If I restart the
> script it
>> succeeds in deleting the rows . Do you have any idea regarding why
>> this happens?
>>
> No I have no idea why that happens.
>
> I'm am aware of it though, strangely it runs right through the test
> script, first time, when using a persistent connection without those
> problems. But it doesn't let go of the persistent connection to the
> resultant database. Which is probably related to the non persistent
> connection problem.
>
> It's strange though, even with a non-persistent connection, because
> after repeating the script a couple of times it works fine.

I figured that the problem is that when you change the schema of an
SQLite database, existing database connections are not made aware.

The driver test script may add tables for testing auto-increment and
BLOBs. The connection that tests these features is not aware right away.

The solution was to change the driver test script to close and reopen
the database connection after a schema change. It works now.


> Apologies, I would have replied sooner but I have spent the last few
> days in hospital.

Oh, I am sorry to hear. I hope you are well now.


>> Another matter, why do you touch the database file and test whether it
>> is readable and writable before creating the database file? Is it to
>> test whether you can write to the database file directory?
>>
>
> Yes it's just another layer to assure that file permissions are set
> (or can be set) correctly on the server, thereby giving the user a
> better clue why they are unable to create a database. It's just a
> habit I've got into with SQLite databases.

I think a single is_writable call to check whether the database
directory would be sufficient. Anyway, that is ok too.

I just added an option to set the file access mode. Setting to 0666 by
default is dangerous as it may make the database file easy to change or
steal by other users in an shared environment. I made the default 0640.
0600 would be safer but then the Web server may not be able to read the
file.

I also added support to use composite primary keys. The way you had
assumed that only the auto-increment field could be a primary key.


I will be documenting these changes soon. For now you can access the
latest version the MetaL CVS repository:

http://www.meta-language.net/download.html#cvs


--

Regards,
Manuel Lemos

Metastorage - Data object relational mapping layer generator
http://www.metastorage.net/

PHP Classes - Free ready to use OOP components written in PHP
http://www.phpclasses.org/



Fri Nov 18, 2005 9:01 pm

mallemos
Offline Offline
Send Email Send Email

Forward
Message #1140 of 1151 |
Expand Messages Author Sort by Date

OK the last update, for now, until someone who knows what they are doing can verify what I've done. This one is completing all 16 conformance tests. And now...
jonbouyw
Offline Send Email
Nov 1, 2005
7:43 pm

Hello, ... I think an hack of the base manager driver class may be needed. I'll take a look at that. ... I am not sure yet if relying on UDF is a good idea. I...
Manuel Lemos
mallemos
Offline Send Email
Nov 2, 2005
6:03 am

Hello, ... Ok, can you please upload all your files here? http://groups.yahoo.com/group/metabase-dev/files/beta/ ... Great. The survey shows there is a...
Manuel Lemos
mallemos
Offline Send Email
Nov 2, 2005
6:35 am

Hello, ... I am finally integrating your update of the SQLite driver under PHP 4.3.11 using the extension from PECL. I am experiencing a few glitches with the...
Manuel Lemos
mallemos
Offline Send Email
Nov 17, 2005
6:32 am

... script it ... No I have no idea why that happens. I'm am aware of it though, strangely it runs right through the test script, first time, when using a...
jonbouyw
Offline Send Email
Nov 18, 2005
5:41 pm

Hello, ... I figured that the problem is that when you change the schema of an SQLite database, existing database connections are not made aware. The driver...
Manuel Lemos
mallemos
Offline Send Email
Nov 18, 2005
10:24 pm

... Yes, the alternative as I understand it would be to insert a 'VACUUM' on the database in between, but I think it is far more efficient to close and...
jonbouyw
Offline Send Email
Nov 18, 2005
11:14 pm

Hello, ... I am not sure if a VACUUM would notify the other connections. Anyway, that is documented now in the driver notes. ... No problem. I also implemented...
Manuel Lemos
mallemos
Offline Send Email
Nov 20, 2005
3:55 am

... Hi Manuel I've just tested the latest CVS version and it's working great apart from when running for the first time with a persistent connection. PHP...
jonbouyw
Offline Send Email
Nov 20, 2005
2:15 pm

Hello, ... Maybe that is because closing persistent connections should not make any effect. I changed the driver class to not call sqlite_close when closing a...
Manuel Lemos
mallemos
Offline Send Email
Nov 21, 2005
4:00 am
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help