World: r3wp
[SQLite] C library embeddable DB .
older newer | first last |
Chris 24-Nov-2009 [1079] | I seem to recall a note about locking issues over a network path, so ymmv. |
Pekr 6-Jan-2010 [1080] | Does following mean, we could have trouble to propelry sort (using collations) because of UTF-8? http://stackoverflow.com/questions/181037/case-insensitive-utf-8-string-collation-for-sqlite-c-c |
BrianH 6-Jan-2010 [1081x2] | The sorting problem with collations applies to Unicode, not just UTF-whatever, so it is a problem. Mostly a problem of size: The actual colation sorting code is small, but the collation data is large. Add more than one or two and REBOL gets huge. |
A solution would be to move the sorting out into the host code, where it can be made to use any system-specific sorting code, which should work for platforms with good Unicode support like Windows, OS X and some Linux distros. The problem with that is that the data would probably need to be migrated to the host format before the host routines could be used; string! is not UTF-8 or UTF-16 internally, it is UCS-8 (in theory), UCS-16 or UCS-32 (in theory), all fixed-length encodings. That would add a lot of overhead to sorting. | |
joannak 9-Jan-2010 [1083x2] | ICU seems to have such library with nice license... Unfortunately the Binary-only package for one platform is like 10Megabytes.. http://icu-project.org/download/4.2.html#ICU4C |
This unifoce srting seems to be a mess.. Well, technically they do have some standards, but trying to even think any decent size implementation of that.. http://www.unicode.org/reports/tr10/ | |
james_nak 12-Jan-2010 [1085] | Is there a method to "dump" the contents of a sqlite db for back-up purposes using the the driver? |
Robert 12-Jan-2010 [1086] | why not just copy the file? |
james_nak 12-Jan-2010 [1087] | Robert, Well, that's what I do do now but I was wondering if there was also a command. |
Gabriele 13-Jan-2010 [1088x2] | James, if you have the sqlite command available, you can do: |
sqlite /path/to/file.db .dump >/path/to/dumpfile.sql | |
james_nak 15-Jan-2010 [1090] | Thanks Gabriele. I was looking for a programatic way but I think I'll stick to just copying the file. |
Gabriele 16-Jan-2010 [1091] | well, that is programmatic. .dump is a command for the sqlite utility. if you want to do it from REBOL, you have to code it yourself, as it's not a SQL command. |
jrichards 21-Jan-2010 [1092] | Is this an accepted method of populating the fields of a view form or is there a more precise method? btn-next: func[][ if (counter < (length? db)) [ counter: counter + 1 lname/text: db/:counter/2 fname/text: db/:counter/3 spouse/text: db/:counter/4 email/text: db/:counter/5 hphone/text: db/:counter/6 cphone/text: db/:counter/7 addr/text: db/:counter/8 city/text: db/:counter/9 state/text: db/:counter/10 zip/text: db/:counter/11 show window ] ] |
Henrik 21-Jan-2010 [1093] | you can wrap the fields in a panel and use: set-face my-panel [db/:counter/2 db/:counter/3 ...] |
Robert 21-Jan-2010 [1094] | And, I have abstracted this idea in that a function walks over the set-words of an object and use these as columnnames. |
Henrik 21-Jan-2010 [1095x2] | in the VID extension kit you can say: set-face my-panel object object: get-face my-panel |
hmm... actually not really. forget that. I'm distracted. :-) | |
amacleod 21-Jan-2010 [1097] | Henrik, What's the latest versionof Ext kit? |
Henrik 21-Jan-2010 [1098] | 003. Unfortunately, it's moving too slow. I won't have any time to do updates for a while. |
Gregg 21-Jan-2010 [1099] | There is no standard I know of for mapping data to faces. A number of us have rolled our own systems over time, each with our own critieria and design aesthetic. As a simple starting point, consider setting up declarative mappings and driving a data-exchange loop. e.g. face-field-map: [ lname 2 fname 3 spouse 4 email 5 hphone 6 cphone 7 addr 8 city 9 state 10 zip 11 ] foreach [face-name field-index] face-field-map [ set-face get face-name pick db/:counter field-index ] |
jrichards 21-Jan-2010 [1100] | Thanks Gregg, as a newbie I was just trying to get an idea as to how others are handling this. I was thinking that there had to be a more concise method than the one I was using. |
Janko 18-Apr-2010 [1101x3] | -- You can use rebsqlite with core on windows (it allows dll inclusion) but how can you use it on linux? It seems linux rebol doesn't allow .so . I used rebpro which does this but now I also need to send an email from it and it gives me some strange message "Set-Net not provided."? Maybe I am doing something wrong/using the wrong tools... how can you use rebol with sqlite on linux?? |
(I have bought SDK btw .. but I don't know for what reason I bought it for windows(?!?!!), where I really don't need it so it doesn't help me at all in this situation) | |
hm.. is license transferable between linux/windows or some discount for another if you bought the first one? | |
Pekr 18-Apr-2010 [1104] | I am not sure license is transferrable, but license is just one file - try to copy it to linux machine. If it is legally OK, I don't know. But - I would probably ask Carl ... |
Maxim 18-Apr-2010 [1105] | IIRC, the latest SDK purchase gives you a license for every platform. might be worth upgrading (50$ is like not going to restaurant once... your wife/girlfriend will get over it ;-). |
Janko 18-Apr-2010 [1106] | I don't see it mentioned anywhere that this license / upgrade is multiplatform. The select box is the same as before where you choose the platform. I have no problem giving $50, but I am running on fumes here and $350 shows on my account, especially if I am don't need it really, because rebol core/view on windows work with rebol sqlite and I haven't seen anywhere that linux version has different logic. |
Maxim 18-Apr-2010 [1107] | yeah the website seems to indicate that we still need to buy each license separately. |
Janko 18-Apr-2010 [1108x2] | (I will gladly buy all rebol versions in existence when I can afford it) |
hm .. maybe access to dll/so is available only to view and not core. and because I use core (cmdline) on linux server it doesn't work | |
Maxim 18-Apr-2010 [1110] | rebpro is the one with dll. |
BrianH 18-Apr-2010 [1111] | Yeah, for now /Core doesn't have /Library. /Pro does, and can be encapped to resemble /Core with /Library; that is the only difference between /Pro and /Base. |
Janko 18-Apr-2010 [1112] | /View (free) also supports dll-s for very long time now |
Maxim 18-Apr-2010 [1113] | I really wish Carl would release the various reb*** builds outside of the SDK. they are very usefull as-is, even when not encapping scripts. |
BrianH 18-Apr-2010 [1114x3] | Yes, /View/Pro is now free and called /View. |
I actually bought /View/Pro back before it was free. | |
Maxim, the SDK is useful as-is too. That's why people pay for it. Don't knock the business model :) | |
Janko 18-Apr-2010 [1117x2] | aha, I tried is. it's not that windows supports dll-s and linux not but the view does and core doesn't. I guess I am gonna have to buy the linux sdk also. |
Brian, do you know what's the trick with "Set-Net not provided." in rebpro? | |
BrianH 18-Apr-2010 [1119] | I would guess that you have to include %prot-setnet.r in your script to use it. |
Janko 18-Apr-2010 [1120] | Brian: huh.. I see now I made typo when making file that do-es all mezz and proto files .. if I load it correctly set-net works! |
BrianH 18-Apr-2010 [1121] | Yup. And (on Windows at least) set-net is by default that "Set-Net not provided." function in /Base, /Pro and /Face, on purpose. The only reason that function is in the encap bases at all is because it is called in the startup code of /Face. |
Janko 18-Apr-2010 [1122] | thanks, I have one problem less now |
florin 2-Oct-2010 [1123] | Rebol and DSL's are hand and glove. Is there a SQL dsl anywhere? I found the driver from dobeash. Is there more? |
ChristianE 2-Oct-2010 [1124] | I'm not sure if that would be worth the effort, SQL can get fairly complex and if a REBOL SQL wouldn't implement everything (even specific databases prorietary extensions to SQL) that wouldn't be a noticable gain in simplicity. Wouldn't it still just be SQL written in REBOL's syntax? Actually, I think it's more like SQL already is a perfect example of a DSL on it's own (not implying here that SQL is perfect, just the example is). |
florin 2-Oct-2010 [1125x2] | I found this: http://www.rebol.org/documentation.r?script=sql-protocol.r |
And this is a snippet: do %sql-protocol.r db: open sql:my-db insert db { SELECT * FROM a, b WHERE a.c2 = b.c1 AND a.c1 = 1 ORDER BY 1, 2 DESC } foreach item copy db [probe item] close db Isn't this better than working with strings? | |
Ladislav 2-Oct-2010 [1127] | see also http://www.rebol.net/wiki/R2_projects |
ddharing 5-Nov-2010 [1128] | I have a REBOL/View application where I am doing SQL calls in a face timer to update the face. I am having an intermittent issue where the result of one face's SQL statement is showing up in another face. I am doing a copy of the result set based on what I've read in the Dobeash docs. It appears that the face timer code blocks and another timer event occurs and does a SQL call. Does anyone know how to make a timer function finish before another one triggers? I may also be using the driver incorrectly. |
older newer | first last |