World: r3wp
[SQLite] C library embeddable DB .
older newer | first last |
Ashley 1-Aug-2006 [405x2] | Look about 12 lines further down in the code ... the same logic is applied to each db after the first. |
The log-path issue is best resolved by adding a log-file word to the sqlite context that defaults to %sqlite.log. You can then do the following in your code: sqlite/log-file: %my-path/my-log-file.log | |
Pekr 1-Aug-2006 [407x4] | I did something similar, as above .... |
Ashley - I have problems with writing permissions under Linux. Till I resolve it, I wanted to disable logging. I looked at the driver and I can see, there is a word - log?: false, but when you try to write to log, you don't test for it. Is that ok, or is that variable for any other purpose of logging? | |
OK, maybe it is just me, but I can't get enough permission for my CGI, even if run in -cs mode, for sqlite.log to be written to (the script works in console though, but I am root there, so ...). Could the driver be updated to work with log?: false variable? I can see logging on four places, but only on one place (sql function) it ever checks the variable .... | |
sqlite is cool, so imo it would be pitty if it would not easily work in cgi environment .... if there is something wrong with my set-up, then sorry..... | |
Ashley 2-Aug-2006 [411] | From the User Guide: "Every connect, disconnect, error and statement retry is logged to %sqlite.log. This refinement adds SQL statements as well. While this can be useful to monitor what SQL statements are being issued and what the volume and distribution is; be sure to monitor the size of this file in high transaction environments." If you really don't want any log output then just direct it to /dev/null |
Pekr 2-Aug-2006 [412x4] | what is log?: false good for, then? |
ah, so this variable applies only to disable/enable logging of sql statements, right? | |
anyway - inability to work directly in cgi mode will drive ppl away from driver usage .... Logging should be disabled by default imo, and the name of the variable suggests that too .... | |
the log can't be used for rollbacks anyway, can it? (so not so important) | |
Pekr 18-Sep-2006 [416x5] | Hi, I know that some talk of encryption was held here some time ago, but currently I was asked to eventually protect sqlite data and I am not sure what is correct aproach. I would not go DB-as-a-file encryption, then "unpacking" into memory, or so. I prefer app level encryption, but I am not sure about searches, using LIKE directive. Would it work? |
hmm, would be problematic .... | |
>> (encloak "3" "pass") > (encloak "2" "pass") == false >> "3" > "2" == true | |
the proper encryption would have to come at lower db level, namely - storage level .... | |
that is nearly useless then, because there is no easy way of how to protect your data | |
BrianH 18-Sep-2006 [421] | I think that SQLite itself can be extended with encrypted fields. |
Pekr 18-Sep-2006 [422x2] | hmm, author offers kind of extension for 2000USD .... there is no way how poor pekr would know C code to the extent of writing such an extension myself :-) |
but I found - http://sqlite.phxsoftware.com/ | |
Robert 18-Sep-2006 [424x3] | I haven't given this ADO stuff a try to see if it fits my requirements. But will do so. |
At the moment I tend to use the 2K$ extension. Yes, not quite cheap and I might do it myself but it will take some time too. So not being cheaper. | |
The strategy is to en/decrypt every block that gets written to disk. Even all B*-tree stuff etc. with this it's fully transparent to the database engine. | |
BrianH 18-Sep-2006 [427] | It appears that the SQLite version at Petr's link will work without ADO if you want to use the traditional APIs. |
Pekr 18-Sep-2006 [428x2] | I can't install it, need to download .NET framework first, will do so at home :-) |
how much slower the encrypted db is? | |
BrianH 18-Sep-2006 [430] | You can run it without the .NET framework. |
Pekr 18-Sep-2006 [431] | yes, but binary dll comes in installer .msi, and it refuses to run, unless you have .NET installed, but that is detail :-) |
BrianH 18-Sep-2006 [432] | Why wouldn't you have .NET installed? There are so many good apps that use it... |
Pekr 18-Sep-2006 [433x4] | I known none - NET is crap :-) |
it means - I use many fine apps, yet it is not on my PC .... | |
ppl should use technology where appropriate - ATI uses it for Control Center, it takes 96MB of RAM ... for what? To configure driver in nice juicy, painfully slow environment? Well, at least on 850MHz Duron, 256MB RAM, it took some 20 - 30 sec to appear :-) | |
hopefully at home, with my XP, it is already installed, so will try it at home ... | |
BrianH 18-Sep-2006 [437] | .NET is less crappy than Win32, believe me. I've written for both. I agree about ATI's control center though. |
Robert 18-Sep-2006 [438] | Performance will be about 50% without encryption for the SQLite extension. But I don't think that it's that much. Reading/writing to disk is a lot slower compared to execution speed of processors. So, I expect about 25% performance loss. |
Pekr 18-Sep-2006 [439] | is .NET complete API replacement for Win32? I thought it is kind of virual machine (competition to JAVA), and hence for kind of internet ready apps, but not system wide apps? |
Robert 18-Sep-2006 [440x2] | It will become a replacement over time. |
Anyway, I read it that .NET isn't required. So, it should be a drop-in-replacement. The only thing I don't know is, how to access the exteneded functions than. | |
BrianH 18-Sep-2006 [442x2] | There is a virtual machine, but the code you run is native code by the time you run it. All new APIs for Windows are built on .NET. |
SQLite has a function extension mechanism, so it seems likely that you will access the extensions through that. We'll see. | |
Robert 14-Oct-2006 [444] | Hi, could it be that the COLUMNS information isn't update if I use an ATTACH command? |
Robert 15-Oct-2006 [445] | Sorry I mean TABLES information. |
Robert 1-Nov-2006 [446] | I have made a simple change to the sqlite.r driver, so it now "supports" nested transactions in that it uses reference counting to determin when to send a BEGIN or END to SQLite. Works good. Ashley, should I mail you the changed version? |
Ashley 1-Nov-2006 [447] | Yes please. |
Ladislav 2-Nov-2006 [448x2] | it looks to me, that the TIME variable is unused? |
... and the last line is "off topic" in my opinion, violating the KISS principle - it should be the caller who determines what to do next, not the called script | |
Ashley 2-Nov-2006 [450x2] | 'time is set in 'sql and used by 'format |
Agreed on the 2nd point, I'll remove it once I've integrated Robert's changes (which I'm doing now). | |
Ladislav 3-Nov-2006 [452x2] | I know that 'time is set in SQL, but it isn't used by FORMAT AFAICT |
aha, I overlooked it | |
Ashley 4-Nov-2006 [454] | 1.0.1 available at: http://www.dobeash.com/download.html Bumped version to 1.0.x as code is no longer "beta" (I actually had a few people email me about that!) Incorporates new IMPORT function (twice as fast as a tight INSERT loop) and Robert's nested transaction handling logic (so nested BEGIN, COMMIT, END and ROLLBACK statements are correctly handled). Also changed logging behavior so all logging is off by default (i.e. use /log to turn on *all* logging). |
older newer | first last |