[sqlite] Transaction journal corrupted by antivirus
Hi, My application is storing email messages in a SQLite database (raw email messages as they are downloaded from the mail server). This is done under a transaction. Sometimes I get the SQLITE_MISUSE error and by watching the antivirus (Avast) log, I found this: Sign of Uruguay 6/7/8 has been found in C:\Documents and Settings\Voxen\Application Data\MyApp\mail.db-jounal file. This means the antivirus found a virus in the transaction journal file and removes it. Its altering the journal file and then produces a SQLITE_MISUSE error. How can I work around this? Do I need to ZIP or encode the email message before storing it in the database? Thanks Voxen - To unsubscribe, send email to [EMAIL PROTECTED] -
[sqlite] Search on Age, from DOB column
Hi, I need to be able offer the user the ability to search for patients in the database based on age. i.e. age 17 or age = 45 etc etc... I only store the patient DOB in the database however, what is the SQL to achive this? Can I subract todays date from the DOB and get the number of years within an SQL string? The patient table is similar to:- Patients { INTEGER PrimaryKey; TEXT Surname; TEXT FirstName; TIMESTAMP DOB; ... ... ... } Thanks in advance for your help. Mark DISCLAIMER: This information and any attachments contained in this email message is intended only for the use of the individual or entity to which it is addressed and may contain information that is privileged, confidential, and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified that any dissemination, distribution, forwarding, or copying of this communication is strictly prohibited. If you have received this communication in error, please notify the sender immediately by return email, and delete the original message immediately. - To unsubscribe, send email to [EMAIL PROTECTED] -
RE: [sqlite] Search on Age, from DOB column
I am also working with a clinical application, using SQLite and VBA. I use this function to produce the SQL to convert dates in the ISO8601 format to an integer age. Function ISO8601Date2Age(strField, Optional strAlias As String) As String Dim strAS As String If Len(strAlias) 0 Then strAS = AS End If ISO8601Date2Age = case when date( strField , '+' || _ (strftime('%Y', 'now') - strftime('%Y', strField )) || _ ' years') = date('now') then _ strftime('%Y', 'now') - strftime('%Y', strField ) _ else _ strftime('%Y', 'now') - strftime('%Y', strField ) -1 End _ strAS strAlias End Function You may not be coding in VB, but you will get the idea. RBS -Original Message- From: Allan, Mark [mailto:[EMAIL PROTECTED] Sent: 03 May 2007 11:57 To: sqlite-users@sqlite.org Subject: [sqlite] Search on Age, from DOB column Hi, I need to be able offer the user the ability to search for patients in the database based on age. i.e. age 17 or age = 45 etc etc... I only store the patient DOB in the database however, what is the SQL to achive this? Can I subract todays date from the DOB and get the number of years within an SQL string? The patient table is similar to:- Patients { INTEGER PrimaryKey; TEXT Surname; TEXT FirstName; TIMESTAMP DOB; ... ... ... } Thanks in advance for your help. Mark DISCLAIMER: This information and any attachments contained in this email message is intended only for the use of the individual or entity to which it is addressed and may contain information that is privileged, confidential, and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified that any dissemination, distribution, forwarding, or copying of this communication is strictly prohibited. If you have received this communication in error, please notify the sender immediately by return email, and delete the original message immediately. - To unsubscribe, send email to [EMAIL PROTECTED] - - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Sqlite 14 (cant open database)
This error occurs only on FAT 32 file system! I have a directory with 32764 files. one of the file is my sqlite database. It seems that, when the file count reaches around this particular no. the SQLite cant open database error occurs. Can anybody give me some hint? (I am mounting FAT32 file system on my Linux) Thanks and Regards, Lloyd On Wed, 2007-04-25 at 10:13 +0530, Lloyd wrote: Hi, I am working on Redhat EL4, with sqlite3. In my application (written in C++ and wxWidgets, and I use wxSqlite3 wrapper) there a module which will be called repeatedly which in turn opens and closes the database each time the module is called. When the application runs (process the input) for short period of time (10 mins -small input) am not getting any error. But when it runs for around 1 hour (large input) I am getting an error called sqlite 14, cant open database ! What could be the reason for this particular error? Thanks and regards, Lloyd __ Scanned and protected by Email scanner - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Sqlite 14 (cant open database)
Lloyd wrote: This error occurs only on FAT 32 file system! I have a directory with 32764 files. one of the file is my sqlite database. It seems that, when the file count reaches around this particular no. the SQLite cant open database error occurs. Can anybody give me some hint? (I am mounting FAT32 file system on my Linux) That is a very large number of files! I know FAT32 can not handle files larger than 2 GB, and I imagine there is limit on the number of files as well. Try creating some subdirectories and moving the files there. The problem is most likely in the filesystem. Regards, Arjen - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Search on Age, from DOB column
Allan, Mark wrote: Hi, I need to be able offer the user the ability to search for patients in the database based on age. i.e. age 17 or age = 45 etc etc... I only store the patient DOB in the database however, what is the SQL to achive this? Can I subract todays date from the DOB and get the number of years within an SQL string? The patient table is similar to:- Patients { INTEGER PrimaryKey; TEXT Surname; TEXT FirstName; TIMESTAMP DOB; ... ... ... } Thanks in advance for your help. Mark SELECT * FROM Patients WHERE date('now', '-17 years') date(DOB); SELECT * FROM Patients WHERE date('now', '-45 years') date(DOB) date('now', '-46 years') date(DOB); Here you have other time/date functions: http://www.sqlite.org/cvstrac/wiki?p=DateAndTimeFunctions Paolo - To unsubscribe, send email to [EMAIL PROTECTED] -
[sqlite] best performance
In my application I currently perform a loop inside a recursive function and sqlite3_bind_* on various fields then call sqlite3_step and a reset inside my loop but it is fairly slow when inserting, is there a faster way of inserting inside a loop? Ie) while(whatever 0) { sqlite3_bind_int(stmt,1,iSomething); sqlite3_bind.. if(sqlite3_step(stmt) == SQLITE_DONE) sqlite3_reset(stmt); } /// basically something along these lines but with more error checking and things.. Am I able to perform a transaction where I execute a query with a begin..insert..end and commit? Would that even be faster? I just want to make sure I am doing things as fast and efficiently as possible. Thanks a lot - Jon
Re: [sqlite] best performance
Am I able to perform a transaction where I execute a query with a begin..insert..end and commit? Would that even be faster? Yep, that's the way to go. http://www.sqlite.org/cvstrac/wiki?p=PerformanceConsiderations See Transactions and performance - To unsubscribe, send email to [EMAIL PROTECTED] -
[sqlite] Re: best performance
Jonathan Kahn [EMAIL PROTECTED] wrote: In my application I currently perform a loop inside a recursive function and sqlite3_bind_* on various fields then call sqlite3_step and a reset inside my loop but it is fairly slow when inserting, is there a faster way of inserting inside a loop? Make all your inserts within a single transaction (issue BEGIN statement before the loop and COMMIT after). Igor Tandetnik - To unsubscribe, send email to [EMAIL PROTECTED] -
RE: [sqlite] Transaction journal corrupted by antivirus
Most anti-virus software allows you to specify an exception folder and/or file. Tell the anti-virus to ignore sqlite db and the journal. Sam --- We're Hiring! Seeking a passionate developer to join our team building products. Position is in the Washington D.C. metro area. If interested contact [EMAIL PROTECTED] -Original Message- From: Voxen [mailto:[EMAIL PROTECTED] Sent: Thursday, May 03, 2007 2:58 AM To: sqlite-users@sqlite.org Subject: [sqlite] Transaction journal corrupted by antivirus Hi, My application is storing email messages in a SQLite database (raw email messages as they are downloaded from the mail server). This is done under a transaction. Sometimes I get the SQLITE_MISUSE error and by watching the antivirus (Avast) log, I found this: Sign of Uruguay 6/7/8 has been found in C:\Documents and Settings\Voxen\Application Data\MyApp\mail.db-jounal file. This means the antivirus found a virus in the transaction journal file and removes it. Its altering the journal file and then produces a SQLITE_MISUSE error. How can I work around this? Do I need to ZIP or encode the email message before storing it in the database? Thanks Voxen - To unsubscribe, send email to [EMAIL PROTECTED] - - To unsubscribe, send email to [EMAIL PROTECTED] -
RE: [sqlite] Search on Age, from DOB column
You'll be better off converting the target age back to a date and then search for the date. That way SQLite can use an index in your query (it can't use an index when the filter is on an expression). HTH, Sam --- We're Hiring! Seeking a passionate developer to join our team building products. Position is in the Washington D.C. metro area. If interested contact [EMAIL PROTECTED] -Original Message- From: Allan, Mark [mailto:[EMAIL PROTECTED] Sent: Thursday, May 03, 2007 6:57 AM To: sqlite-users@sqlite.org Subject: [sqlite] Search on Age, from DOB column Hi, I need to be able offer the user the ability to search for patients in the database based on age. i.e. age 17 or age = 45 etc etc... I only store the patient DOB in the database however, what is the SQL to achive this? Can I subract todays date from the DOB and get the number of years within an SQL string? The patient table is similar to:- Patients { INTEGER PrimaryKey; TEXT Surname; TEXT FirstName; TIMESTAMP DOB; ... ... ... } Thanks in advance for your help. Mark - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Transaction journal corrupted by antivirus
The problem is my application is used by thousand of customers. I cannot ask them to tweak their antivirus. Most anti-virus software allows you to specify an exception folder and/or file. Tell the anti-virus to ignore sqlite db and the journal. Sam --- We're Hiring! Seeking a passionate developer to join our team building products. Position is in the Washington D.C. metro area. If interested contact [EMAIL PROTECTED] -Original Message- From: Voxen [mailto:[EMAIL PROTECTED] Sent: Thursday, May 03, 2007 2:58 AM To: sqlite-users@sqlite.org Subject: [sqlite] Transaction journal corrupted by antivirus Hi, My application is storing email messages in a SQLite database (raw email messages as they are downloaded from the mail server). This is done under a transaction. Sometimes I get the SQLITE_MISUSE error and by watching the antivirus (Avast) log, I found this: Sign of Uruguay 6/7/8 has been found in C:\Documents and Settings\Voxen\Application Data\MyApp\mail.db-jounal file. This means the antivirus found a virus in the transaction journal file and removes it. Its altering the journal file and then produces a SQLITE_MISUSE error. How can I work around this? Do I need to ZIP or encode the email message before storing it in the database? Thanks Voxen - To unsubscribe, send email to [EMAIL PROTECTED] - - To unsubscribe, send email to [EMAIL PROTECTED] - - To unsubscribe, send email to [EMAIL PROTECTED] -
AW: [sqlite] Transaction journal corrupted by antivirus
The problem is my application is used by thousand of customers. I cannot ask them to tweak their antivirus. Why don't you encrypt the message content before storing? Christian - To unsubscribe, send email to [EMAIL PROTECTED] -
RE: [sqlite] Search on Age, from DOB column
Thanks to everybody that contirbuted to this thread. I have now implemented this functionality and it works well. DISCLAIMER: This information and any attachments contained in this email message is intended only for the use of the individual or entity to which it is addressed and may contain information that is privileged, confidential, and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified that any dissemination, distribution, forwarding, or copying of this communication is strictly prohibited. If you have received this communication in error, please notify the sender immediately by return email, and delete the original message immediately. - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Transaction journal corrupted by antivirus
Voxen [EMAIL PROTECTED] wrote: The problem is my application is used by thousand of customers. I cannot ask them to tweak their antivirus. How can I work around this? Do I need to ZIP or encode the email message before storing it in the database? If the antivirus is seeing virus signatures in the email messages, then by compressing the message using zlib before adding it to the database you should be able to defeat the antivirus software. This will have the added bonus of reducing disk I/O which will likely make your program appear to run faster. -- D. Richard Hipp [EMAIL PROTECTED] - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Transaction journal corrupted by antivirus
You are in a sticky situation. Read below -- On 5/3/07, Voxen [EMAIL PROTECTED] wrote: Hi, My application is storing email messages in a SQLite database (raw email messages as they are downloaded from the mail server). This is done under a transaction. Sometimes I get the SQLITE_MISUSE error and by watching the antivirus (Avast) log, I found this: Sign of Uruguay 6/7/8 has been found in C:\Documents and Settings\Voxen\Application Data\MyApp\mail.db-jounal file. This means the antivirus found a virus in the transaction journal file and removes it. Its altering the journal file and then produces a SQLITE_MISUSE error. How can I work around this? Do I need to ZIP or encode the email message before storing it in the database? Your antivirus software is doing you a favor by removing the virus, and you really don't want to stop it from doing so, else your db will be carrying the virus within it. On the other hand, the antivirus software is really like another user. Just like you can't stop a user (or yourself) from destroying the journal/db file, you can't really stop the antivirus software from doing so. Perhaps you could implement an antivirus scanning _before_ you insert the messages into your database. Of course, then you would not only have to write such an antivirus software portion yourself, you will have to distribute the antivirus-strengthened email program to all your users. Otherwise, yes, you would have to stop your av software from scanning your db, but that means your db will be carrying viral payloads. Dang! -- Puneet Kishor http://punkish.eidesis.org/ Nelson Inst. for Env. Studies, UW-Madison http://www.nelson.wisc.edu/ Open Source Geospatial Foundation http://www.osgeo.org/education/ - collaborate, communicate, compete = - To unsubscribe, send email to [EMAIL PROTECTED] -
[sqlite] [BUG or FR] OpenEphemeral invariant optimization (was [sqlite] Best way to optimize this query?)
Hello, Tito, instead of SELECT * FROM People where GUID in (select GUID from myGUID); you better to have an index on People.GUID, and do SELECT People.* FROM myGUID CROSS JOIN People ON People.GUID = myGUID.GUID; (assuming myGUID temporary table has much fewer records than People). The rest of the letter explains the problem with IN in SQLite 3.3.17. On Wed, May 02, 2007 at 13:11:46 -0500, P Kishor wrote: On 5/2/07, Tito Ciuro [EMAIL PROTECTED] wrote: SELECT * FROM People where GUID in (ABC, RDT, TUV); Is there a better way to include all these GUIDs on a single SQL statement to speed things up? Internally, I believe the IN clause gets converted to a set of OR matches as in GUID = 'ABC' OR GUID = 'XYZ' OR... (or is it the other way around?) Unfortunately this can't be done so. Indeed, for very small number of alternatives this is what one should do by hand. But imagine we have 500 values, and only last comparison returns true. That's why (I removed irrelevant instructions below): sqlite .explain sqlite explain SELECT * FROM People where GUID in (ABC, RDT, TUV); addr opcode p1 p2 p3 -- -- -- - ... 2 OpenRead0 6 ... 5 MemLoad 0 0 ... 8 OpenEphemeral 1 0 keyinfo(1,BINARY) 9 SetNumColumns 1 1 10String8 0 0 ABC 11MakeRecord 1 0 b 12IdxInsert 1 0 13String8 0 0 RDT 14MakeRecord 1 0 b 15IdxInsert 1 0 16String8 0 0 TUV 17MakeRecord 1 0 b 18IdxInsert 1 0 ... 26Found 1 28 ... 30Callback1 0 31Next0 5 ... See, at instruction 8 a temporary table (or rather index) is created, and values ABC, RDT, TUV are put into it, so that we can later use logarithmic search instead of liner search as would be done with OR chain. The problem is that jump at instruction 31 (Next) brings us back to instruction 5. This means that the query plan is: for every row in People do create temp table populate temp table see if current value from People is in temp table next This doesn't look right. And the problem is not that we could compare current record from People against IN values right away, instead of putting them into the temporary table first (this solution would be basically the OR chain described above). The problem is that we populate temporary table inside the loop, while its contents doesn't depend on this loop. The same problem holds for every solution using IN that were suggested. Namely, SELECT * FROM People where GUID in (select GUID from myGUID); will too populate the temporary table on _every_ iteration over People rows: addr opcode p1 p2 p3 -- -- -- - ... 5 MemLoad 0 0 ... 8 OpenEphemeral 2 0 keyinfo(1,BINARY) ... 11OpenRead1 2 ... 14Column 1 0 ... 18MakeRecord 1 0 b 19IdxInsert 2 0 20Next1 14 ... 29Found 2 31 ... 33Callback1 0 34Next0 5 ... 11-20 is temporary table population, 5-34---loop over People. Even creation of index ON myGUID (GUID) won't help to avoid this temporary table. I'm not sure if this is a nasty bug, and previous versions worked correctly (lazy to check), or a misfeature. To sum it up: 1 If sub-query at nesting level N2 depends on an outer query at level N1 (N1 Nany N2), then temporal table population may be moved to level N1+1. This means that for completely independent sub-query we may move temporary table population to the upper level. 2 For the query ... IN (SELECT col FROM table) (note the absence of WHERE clause in sub-query) when there is an index ... INDEX ... ON table (col [, ...]) no temporary table has to be created, we can do the lookups in this index. Further, if there is a WHERE clause that uses only col, it may be moved to the outer query. 3 As described in 1, no every temporary table population may be moved to the upper level. Hence a simple technical optimization is possible (which is orthogonal to the problem described in this letter): instead of closing a temporary table we may push its handle onto the stack, and, instead of re-creating temporary table on every OpenEphemeral in the loop (which is a costly operation: path checks, name generation, open() and unlink()), we may simply pop the handle, and do ftruncate() on it. The stack should be freed
Re[2]: [sqlite] Transaction journal corrupted by antivirus
Hello Voxen, I'm in the same boat and I have asked them to tweek the AV for performance reason and because it messes up disk writes. I have toyed with the idea of some mild encryption on my blobs to prevent this. Maybe some low key bits AES. An interesting experiment would be to see if the AV programs can read through compression because you could also GZIP of the blobs before insertion and save significant space too. C Thursday, May 3, 2007, 9:47:44 AM, you wrote: V The problem is my application is used by thousand of customers. V I cannot ask them to tweak their antivirus. Most anti-virus software allows you to specify an exception folder and/or file. Tell the anti-virus to ignore sqlite db and the journal. Sam --- We're Hiring! Seeking a passionate developer to join our team building products. Position is in the Washington D.C. metro area. If interested contact [EMAIL PROTECTED] -Original Message- From: Voxen [mailto:[EMAIL PROTECTED] Sent: Thursday, May 03, 2007 2:58 AM To: sqlite-users@sqlite.org Subject: [sqlite] Transaction journal corrupted by antivirus Hi, My application is storing email messages in a SQLite database (raw email messages as they are downloaded from the mail server). This is done under a transaction. Sometimes I get the SQLITE_MISUSE error and by watching the antivirus (Avast) log, I found this: Sign of Uruguay 6/7/8 has been found in C:\Documents and Settings\Voxen\Application Data\MyApp\mail.db-jounal file. This means the antivirus found a virus in the transaction journal file and removes it. Its altering the journal file and then produces a SQLITE_MISUSE error. How can I work around this? Do I need to ZIP or encode the email message before storing it in the database? Thanks Voxen - To unsubscribe, send email to [EMAIL PROTECTED] - - To unsubscribe, send email to [EMAIL PROTECTED] - V - V To unsubscribe, send email to [EMAIL PROTECTED] V - -- Best regards, Tegmailto:[EMAIL PROTECTED] - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] [BUG or FR] OpenEphemeral invariant optimization (was [sqlite] Best way to optimize this query?)
Tomash Brechko [EMAIL PROTECTED] wrote: sqlite .explain sqlite explain SELECT * FROM People where GUID in (ABC, RDT, TUV); addr opcode p1 p2 p3 -- -- -- --- 2 OpenRead0 6 5 MemLoad 0 0 8 OpenEphemeral 1 0 keyinfo(1,BINARY) 9 SetNumColumns 1 1 10String8 0 0 ABC 11MakeRecord 1 0 b 12IdxInsert 1 0 13String8 0 0 RDT 14MakeRecord 1 0 b 15IdxInsert 1 0 16String8 0 0 TUV 17MakeRecord 1 0 b 18IdxInsert 1 0 26Found 1 28 30Callback1 0 31Next0 5 See, at instruction 8 a temporary table (or rather index) is created, and values ABC, RDT, TUV are put into it, so that we can later use logarithmic search instead of liner search as would be done with OR chain. The problem is that jump at instruction 31 (Next) brings us back to instruction 5. This means that the query plan is: for every row in People do create temp table populate temp table see if current value from People is in temp table next This doesn't look right. Your interpretation of what is happening isn't right. Look more closely at instructions 5 through 7: 5 MemLoad 0 0 6 If 0 19 7 MemInt 1 0 Memory location 0 is being used as a flag that indicates whether or not the temporary table has been initialized. Instructions 5 and 6 test this flag and skip the initializion if it has already been done. Instruction 7 sets the flag at the beginning of the initialization process. So the pseudocode is really like this: for every row in People do if temp table is uninitialized create temp table populate temp table endif endfor For additional insight, use PRAGMA vdbe_trace=ON before running the query and see that the temp table initializatio is only done once. -- D. Richard Hipp [EMAIL PROTECTED] - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] [BUG or FR] OpenEphemeral invariant optimization
Hello, On Thu, May 03, 2007 at 14:50:14 +, [EMAIL PROTECTED] wrote: Your interpretation of what is happening isn't right. Look more closely at instructions 5 through 7: 5 MemLoad 0 0 6 If 0 19 7 MemInt 1 0 Memory location 0 is being used as a flag that indicates whether or not the temporary table has been initialized. Yep, I was wrong, thanks for the insight. One of my queries that used ephemeral tables took an unnaturaly long to run, and I was ready to believe that constant repopulation is the cause. Now I know that it's the constance temp table re-creation that eats the time. Still, yes, my mistake, sorry. -- Tomash Brechko - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Transaction journal corrupted by antivirus
Voxen wrote: The problem is my application is used by thousand of customers. I cannot ask them to tweak their antivirus. An observation. Thunderbird uses simple text files to store unencrypted messages. I am not aware of anti-virus programs having trouble with those files. Perhaps a little research into how Mozilla has avoided the problem would be warranted? If it turns out that their text files themselves are not affected by the anti-virus operation, then perhaps base 64 encoding would be sufficient for your application. John - To unsubscribe, send email to [EMAIL PROTECTED] -
RE: [sqlite] Re: best performance
Thanks a lot to you both! - Jon -Original Message- From: Igor Tandetnik [mailto:[EMAIL PROTECTED] Sent: Thursday, May 03, 2007 8:57 AM To: SQLite Subject: [sqlite] Re: best performance Jonathan Kahn [EMAIL PROTECTED] wrote: In my application I currently perform a loop inside a recursive function and sqlite3_bind_* on various fields then call sqlite3_step and a reset inside my loop but it is fairly slow when inserting, is there a faster way of inserting inside a loop? Make all your inserts within a single transaction (issue BEGIN statement before the loop and COMMIT after). Igor Tandetnik - To unsubscribe, send email to [EMAIL PROTECTED] - - To unsubscribe, send email to [EMAIL PROTECTED] -
[sqlite] Re: Transaction journal corrupted by antivirus
Slightly off-topic for this list, but antivirus and firewall software is a plague that is bad and going to get worse. In effect, antivirus software is a security guard that randomly shoots suspicious members of the public. - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Re: Transaction journal corrupted by antivirus
Hello Dave, Well, if you have users with really odd performance issues. I mean orders of magnitude slower than you expect. I've found it's either AV software, Norton in particular will crush PC performance or external USB hard disks/memory sticks. That's become the first question I ask any more What AV are you using and/or are you using an external hard drive. USB hard drive performance is the pits. Network shares actually seem to be faster. C Thursday, May 3, 2007, 12:59:52 PM, you wrote: DD Slightly off-topic for this list, but antivirus and firewall DD software is a plague that is bad and going to get worse. In DD effect, antivirus software is a security guard that randomly DD shoots suspicious members of the public. DD - DD To unsubscribe, send email to [EMAIL PROTECTED] DD - -- Best regards, Tegmailto:[EMAIL PROTECTED] - To unsubscribe, send email to [EMAIL PROTECTED] -
[sqlite] SQLite wrapper
Hello to every one! I want to ask if there is a Ruby and/or Ruby on Rails SQLite wrapper... Thanks to all. -- Cesar Rodas http://www.cesarodas.com/ http://cesars.users.phpclasses.org/winners.html - I won!!! ;) Mobile Phone: 595 961 974165 Phone: 595 21 645590 [EMAIL PROTECTED] [EMAIL PROTECTED]
[sqlite] create trigger on view
dear sir i have created view from five different table, view contains 20 records. now when i want to retrieve the data from view like select * from vw. it takes more time to retrieve the records. now i want to create table same as view so that instead of retrieving the data from view i can get faster data from table. i want to create trigger on view such a way that it creates same copy from view as an when the record are inserted/updated/deleted in original table. i tried but fails to generate table as views Arvind parmar -- View this message in context: http://www.nabble.com/create-trigger-on-view-tf3688489.html#a10311645 Sent from the SQLite mailing list archive at Nabble.com. - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] create trigger on view
noname wrote: i have created view from five different table, view contains 20 records. now when i want to retrieve the data from view like select * from vw. it takes more time to retrieve the records. now i want to create table same as view so that instead of retrieving the data from view i can get faster data from table. i want to create trigger on view such a way that it creates same copy from view as an when the record are inserted/updated/deleted in original table. i tried but fails to generate table as views Arvind, You need to add triggers to the original tables that add or modify the required rows in your view cache table whenever a record is inserted or modified in the base tables. A trigger on the view will only fire when you access the view. HTH Dennis Cote - To unsubscribe, send email to [EMAIL PROTECTED] -
Re: [sqlite] Sqlite 14 (cant open database)
Thank you Arjen. I would consider your alternative or I will go for some other file system. (Because I would have to handle files larger than 2GB) Thanks and Regards, Lloyd On Thu, 2007-05-03 at 13:52 +0200, Arjen Markus wrote: Lloyd wrote: This error occurs only on FAT 32 file system! I have a directory with 32764 files. one of the file is my sqlite database. It seems that, when the file count reaches around this particular no. the SQLite cant open database error occurs. Can anybody give me some hint? (I am mounting FAT32 file system on my Linux) That is a very large number of files! I know FAT32 can not handle files larger than 2 GB, and I imagine there is limit on the number of files as well. Try creating some subdirectories and moving the files there. The problem is most likely in the filesystem. Regards, Arjen - To unsubscribe, send email to [EMAIL PROTECTED] - __ Scanned and protected by Email scanner - To unsubscribe, send email to [EMAIL PROTECTED] -
Re[2]: [sqlite] Sqlite 14 (cant open database)
Hello Lloyd, I've seen files fail on FAT32 with only 10-12K files in the folder. The problem is there's a fixed number of directory entries and when you use long filenames, more then one entry is used to store the names. So, basically you have no way to determine when the next file open will fail. FAT32 is the devil. You should transition to something better. C Thursday, May 3, 2007, 11:50:16 PM, you wrote: L Thank you Arjen. I would consider your alternative or I will go for some L other file system. (Because I would have to handle files larger than L 2GB) L Thanks and Regards, L Lloyd L On Thu, 2007-05-03 at 13:52 +0200, Arjen Markus wrote: Lloyd wrote: This error occurs only on FAT 32 file system! I have a directory with 32764 files. one of the file is my sqlite database. It seems that, when the file count reaches around this particular no. the SQLite cant open database error occurs. Can anybody give me some hint? (I am mounting FAT32 file system on my Linux) That is a very large number of files! I know FAT32 can not handle files larger than 2 GB, and I imagine there is limit on the number of files as well. Try creating some subdirectories and moving the files there. The problem is most likely in the filesystem. Regards, Arjen - To unsubscribe, send email to [EMAIL PROTECTED] - L __ L Scanned and protected by Email scanner L - L To unsubscribe, send email to [EMAIL PROTECTED] L - -- Best regards, Tegmailto:[EMAIL PROTECTED] - To unsubscribe, send email to [EMAIL PROTECTED] -