World: r3wp
[SQLite] C library embeddable DB .
older newer | first last |
Brock 5-Nov-2006 [455] | By the way Ashley, your site redesign is very nice. Good work. |
Robert 6-Nov-2006 [456] | I have a problem when I import a CSV file. I read the file (1.5 -2 MB), parse it and than write it out to SQLite. For some records I get scrambeld (invalid strings) in the database. Importing the CSV file via other SQLite tools work without any problem. It looks like the Rebol memory somehow gets messed up. Or could it be on the way to the DLL? |
Allen 6-Nov-2006 [457] | Robert, are you escaping the apostrophes before inserting in DB? What datatype are the strings being stored in ? nvarchar, varchar etc ? |
Ashley 6-Nov-2006 [458] | Thanks Brock. Robert, looks like you've hit the same error I RAMBOed here: http://www.rebol.net/cgi-bin/rambo.r?id=4063& A real pain as it can be consistently reproduced (and hence avoided), but with no pattern [that I can see]. If Carl implements SQLite-like support (see latest blog entry) then hopefully this will become a moot point as we won't require the library call anymore. |
BrianH 6-Nov-2006 [459] | From his blogs it appears that Carl is just extracting SQLite's btree and indexing engine, but leaving out the SQL stuff that duplicates functionality already in REBOL (think blocks and series functions). You may be able to access the data (a little unlikely), but it won't be SQLite support. |
Pekr 7-Nov-2006 [460x3] | I understand it the way, that we will get RIF, so you can design your own small db engine upon that. Linkintg to sqlite will be still possible using .dll, no? |
or would you welcome including sqlite directly into rebol? | |
there is one thing I really don't like about sqlite - it stores everything into one file. I want one file for table, one file for index, as with mysql, because for me it means simplicity - I can just look into file system and see how big some table is, or selectively backup some tables .... mySQL works that way IIRC | |
Maxim 7-Nov-2006 [463] | It also seems as if Carl is talking about a generic DB layer, such as is defined in python. so any db, could just implement a derivative of the base class and be compatible to some extent. |
Louis 7-Nov-2006 [464] | This is probably a real dumb question, but what is the advantage of SQLite over say a REBOL object database? |
Ashley 8-Nov-2006 [465] | Depends on the number and size of records you wish to handle, whether ACID is important to you, and whether you need SQL access or not. |
Henrik 8-Nov-2006 [466] | Carl mentions paging. Does that not mean that you can have really big tables that are swapped to disk? |
Louis 9-Nov-2006 [467] | is it possible to easily add a new column to a db table already populated with data without losing that data? |
MikeL 9-Nov-2006 [468] | Louis, It's not on the SQL92 features not supported http://www.sqlite.org/omitted.html so it must support alters. |
Louis 9-Nov-2006 [469] | Mike, thanks. I'll keep playing around with it then. |
Ashley 9-Nov-2006 [470] | Yes, see http://www.sqlite.org/lang_altertable.html |
Louis 9-Nov-2006 [471x3] | Thanks, Ashley. But that website has a flaw; it can't be downloaded easily. It should be either one html page or else one pdf file. |
Related: has anyone written a script to download a complete website? | |
I would like to download the complete sqlite website. | |
Pekr 9-Nov-2006 [474] | try some of wget tools (webget). IIRC there is even some rebol based one on rebol.org iirc? |
Louis 9-Nov-2006 [475] | Can't find any. i wrote a crude one once, but can't find it on my harddrive. |
Rebolek 9-Nov-2006 [476] | Louis: there's batch-download by Anton, try it - http://anton.wildit.net.au/rebol/util/batch-download.r |
Will 9-Nov-2006 [477] | Louis: if you are on os x, this one work pretty neat http://www.hexcat.com/deepvacuum/index.html , it will dl the whole site and rewrite urls to make them relative, or you coud try with acrobat pro if you want a pdf version of the site |
Henrik 9-Nov-2006 [478] | if you can use non-rebol stuff, use wget. It's very effective at mirroring sites to a local drive. |
Will 9-Nov-2006 [479] | and DeepVacuum is a GUI for wget ;-) |
Anton 9-Nov-2006 [480] | batch-download is not suited for downloading a whole website. It doesn't do any spidering. |
Louis 9-Nov-2006 [481] | Pekr, Rebolek, Will, and Henrik, thanks. I'm on XP. Too bad. DeepVacuum looks nice. |
Anton 9-Nov-2006 [482] | Well, I suppose if you do the spidering, you can supply the links to batch-download. Still, it's not designed for that. Better to get a specific tool for that. |
Henrik 9-Nov-2006 [483x2] | wget is available for windows. |
http://pages.interlog.com/~tcharron/wgetwin.html | |
Louis 9-Nov-2006 [485x2] | Thanks, Anton. I'm going to study your script for other uses later. |
Henrik, I'm going to try wget. Thanks. | |
Henrik 9-Nov-2006 [487x3] | as long as you use wget in the same location as where you put your downloaded files temporarily, you don't need to set the environment variables. Then it's just in a DOS prompt: wget -r -l <depth> <some site> And it will download the site to <some site>/ directory |
depth is how deep links should be gathered for downloading. Values above 3 or 4 can be dangerous. :-) | |
wget is also very good at resuming downloads: wget -c <very incredibly big file> | |
Anton 9-Nov-2006 [490] | It's probably much better than batch-download at resuming. I should study its source to see what it knows. |
Henrik 9-Nov-2006 [491] | That's right. It's very rare that wget fails to resume a download. |
Louis 9-Nov-2006 [492] | C:\.SQLite>wget -r -l 1 http://www.sqlite.com/index.html --23:27:13-- http://www.sqlite.com:80/index.html => `www.sqlite.com/index.html' Connecting to www.sqlite.com:80... connected! HTTP request sent, awaiting response... 23:27:14 ERROR -1: Malformed status line. |
Pekr 9-Nov-2006 [493] | :-) Do you really find anything so valuable on sqlite.com domain, that you need to grab their whole site? :-) |
Henrik 9-Nov-2006 [494] | of course Louis runs into an error I've never seen before |
Louis 9-Nov-2006 [495] | :>) Just tired and playing around. |
Henrik 9-Nov-2006 [496x3] | sqlite.com contains a general domain site. |
you probably want sqlite.org | |
and it downloads fine here | |
Louis 9-Nov-2006 [499x3] | It does help to have the correct website. :>) |
It's working now. Thanks Henrik! | |
Now I've probably got my whole harddrive filled up. | |
Ashley 9-Nov-2006 [502] | A good entry point if you just want to grab the SQL syntax is: http://www.sqlite.org/lang.html |
Louis 16-Nov-2006 [503x2] | What am I doing wrong here: rebol [] do %sqlite.r do %rebgui.r if not exists? %id.txt [write %id.txt 1] db: %indodex.db either not exists? db [ CONNECT/create/flat/direct/format db SQL "create table base (id, Nama, Alamat, Telefon, Handfon, Fax, Email, Tgl_Nikah, Nota)" SQL "create table birthdays (id, Nama, Jenis, Hubungan, Tgl_Lahir, Agama, Nota)" ][ CONNECT/flat/direct/format db ] unless value? 'ctx-rebgui [ either exists? %rebgui-ctx.r [do %rebgui-ctx.r] [do %rebgui.r] ] set-colors tab-size: 120x55 fonts: reduce [font-sans-serif font-fixed font-serif "verdana"] do show-cc: make function! [] [ display "IndoDex Ver. 1.0.1" [ tab-panel #HW data [ "Add" [ label "Title:" priority: drop-list 30 #W "Pak" data ["Pak" "Ibu" "Sdr." "Sdri." "Drs." "Dr." "Tuan" "Nyonya"] 20x5 return label "Nama:" nama: field return label "Alamat:" alamat: area 50x30 return label "Telefon" telefon: field return label "Handfon" handfon: field return label "Fax:" fax: field return label "E-Mail:" email: field return label "Nota:" nota: area 50x30 return button "Save" [ (id: to-integer read %id.txt) SQL/flat/direct {insert into base values (id, Nama, Alamat, Telefon, Handfon, Fax, Email, Tgl_Nikah, Nota)} (write %id.txt id) show-text ex-status "Saved"] ] "Edit" [ ] "Search" [ ] ] ] ] do-events |
I'm getting this: ** User Error: SQLite no such column: id ** Near: make error! reform ["SQLite" error] >> | |
older newer | first last |