I posted this over the weekend, I am assuming it was overlooked
because it was, well, the weekend:)  Does anyone have any thoughts?
------------------------------------------------------------------
I am on Window 7, opening an existing database with these flags:

SQLITE_OPEN_EXCLUSIVE |
SQLITE_OPEN_READWRITE |
SQLITE_OPEN_CREATE

Then I get a value from one table, begin a transaction, create a temp
customer table, fill it with the current values from the customer
table.  Here is that SQL run by calling sqlite3_exec():

SELECT ItemValue FROM DBLookup WHERE Category = 'SystemSettings' AND
ItemName = 'Version';

BEGIN TRANSACTION;

CREATE TABLE CustomerTemp ( CustomerId INTEGER NOT NULL,
CustomerDetailId INTEGER, IsInSlideShow INTEGER NOT NULL, Username
VARCHAR(50) NOT NULL, Password VARCHAR(50), IsDeleted INTEGER NOT NULL
DE
FAULT 0, CopiedTo INTEGER, insertedby VARCHAR(50) NOT NULL,
instertedon TIMESTAMP NOT NULL, updatedby VARCHAR(50) NOT NULL,
updatedon TIMESTAMP NOT NULL, PRIMARY KEY (CustomerId), UNIQUE
(username));

INSERT INTO CustomerTemp (CustomerId, IsInSlideShow, Username,
Password, insertedby, instertedon, updatedby, updatedon)
       SELECT CustomerId, IsInSlideShow, Username, Password,
insertedby, instertedon, updatedby, updatedon FROM Customer ORDER BY
CustomerId;

This all works fine.  Then I go to drop the current customer table and
I always get a "database table is locked":

 DROP TABLE Customer;

I tried committing the transaction before the drop and that doesn't
have any impact.  I also have foreign keys turned off, I tried turning
them off but that also has no impact.  Low and behold, when I go into
SQLite Manager (the Firebird plugin), I am able to drop the table
without any problems.

Any thoughts on the table is locked and how to unlock it?  I know for
a fact no other process has it open.

Sam
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to