ID:               29476
 User updated by:  hugo_pl at users dot sourceforge dot net
 Reported By:      hugo_pl at users dot sourceforge dot net
-Status:           Bogus
+Status:           Open
 Bug Type:         SQLite related
 Operating System: GNU/Linux, WindowsXP
 PHP Version:      5.0.0
 New Comment:

I'm reopening this bug.


Previous Comments:
------------------------------------------------------------------------

[2004-09-07 17:02:43] hugo_pl at users dot sourceforge dot net

I'm reopening this bug.

------------------------------------------------------------------------

[2004-09-06 15:13:35] danhen at web dot de

I was able to reproduce the "database is locked"-message by using the
SQLite-OO-Interface as written (the code with try). Calling the
"normal" function sqlite_fetch_column_types() does not have this
message as result. Also the database isn't locked. Tested on W2k with
PHP 5.0.1 and Apache/1.3.29. Maybe that helps finding the reason for
that behavior.

------------------------------------------------------------------------

[2004-08-25 06:56:48] hugo_pl at users dot sourceforge dot net

Hi 
 
I think that this is a PHP bug, I made a better exemple to 
show this bug: 
 
<pre> 
<?php 
 
try { 
        $db = new SQLiteDatabase('./test.db'); 
        $db->busyTimeout(1000); 
         
        // table exists? 
        $exists = $db->singleQuery('SELECT count(*) FROM 
sqlite_master WHERE tbl_name=\'bugtest\''); 
        if (!$exists) 
                $db->query('CREATE TABLE bugtest (a, b, c, 
d);'); 
         
        // Without this line all runs Ok. 
        $db->fetchColumnTypes('bugtest'); 
 
        $db->query('INSERT INTO bugtest VALUES (1, 2, 3, 
4)'); 
         
         
        echo 'Res: <br>'; 
        print_r( $db->arrayQuery('SELECT * FROM bugtest', 
SQLITE_ASSOC) ); 
} 
catch (Exception $e) 
{ 
        echo 'Exception: ', $e->getMessage(); 
} 
 
 
?> 
 
The first time you run this script all appear to be Ok... 
the insert query is executed, etc... but the second time 
is displayed a message:  
 
Warning:  SQLiteDatabase::query() [function.query]: 
database is locked in /home/hugo/public_html/phpbug.php on 
line 16 
 
Nothing is wrong with the script, if this message appear 
something is wrong with PHP.... on windows the same bug 
occur, then it is not a problem from SQLite or Apache 
compiled by me under linux.

------------------------------------------------------------------------

[2004-08-23 19:13:09] [EMAIL PROTECTED]

Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions. 

Thank you for your interest in PHP.

Cannot replicate the problem on any platform (Linux or 
Windows). Sounds like a problem with your sqlite install. 

------------------------------------------------------------------------

[2004-08-01 00:50:38] hugo_pl at users dot sourceforge dot net

Description:
------------
When I call the function:
sqlite_fetch_column_types(...);

or the method:

fetchColumnTypes(...);

of the SQLiteDatabase Object, the entire database is locked forever...
and I cant modify the database until Apache is restarted.

I tested this with Apache2 SAPI module, and SQLite version 2.8.14 on
win32 and 2.8.13 and 2.8.14 on Linux.

In all plataforms, the database is unlocked only when I restart Apache,
if I never call sqlite_fetch_column_types or the method
fetchColumnTypes, all runs Ok.

P.S.: English is not my natural language.

Reproduce code:
---------------
<?php
// Open a database file...
$db = sqlite_open('test.db');
sqlite_busy_timeout($db, 1000);

//! Uncomment this line to see the bug!!
//sqlite_fetch_column_types($db, 'papers');

sqlite_query($db, 'select * from papers limit 10');

// Any Update query and kabbom... =/
sqlite_query($db, 'update papers set papel="Hi" where id=1');
sqlite_close($db);

?>

Expected result:
----------------
No warnings about a locked database when I send the update query

Actual result:
--------------
Warning:  sqlite_query() [function.sqlite-query]: database is locked...


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=29476&edit=1

Reply via email to