AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 1023 |
r3wp | 10555 |
total: | 11578 |
results window for this page: [start: 2301 end: 2400]
world-name: r3wp
Group: !AltME ... Discussion about AltME [web-public] | ||
Graham: 12-May-2006 | I always tell people to do a net search to see if a program is spyware. | |
Louis: 25-May-2006 | I think it was caused by my setting message limit to 10000 per chat room so I could do some searching. | |
Louis: 25-May-2006 | Yes, it would be much better if a search could be done without the user having to change any settings. Otherwise most users will probably not do any searching at all. | |
Louis: 25-May-2006 | My computer is really low on RAM, which might have something to do with this. | |
james_nak: 30-May-2006 | It may also have something to do with the after-effects of a full virus scan. | |
Carl: 1-Jun-2006 | If you have bugs or minor enhancements (no majors accepted right now), be sure to report them using AltME feedback. We do not scan this chat group (sorry, not enough time!) | |
BrianH: 1-Jun-2006 | New version works for me, seems to do a better job with URLs. Cool! | |
Sunanda: 7-Jun-2006 | I tend to automatically do a ctrl+a ctrl+c ctrl+s to send an Altme message (under windows) At least then the message is on the clipboard if Altme decides to thow it away. But that's hardly a 21st century solution for an x-intenet product. | |
Graham: 6-Jul-2006 | Wonderful *** AltME ERROR *** Sorry, AltME found an error while it was starting up. This should never happen, but it looks like it just did. Go to http://www.altme.com/feedback.htmland cut/paste the text below. We'll fix the problem right away! Thanks. ERROR: Error starting module: a00 [ code: 303 type: 'script id: 'expect-arg arg1: 'bind arg2: 'known-word arg3: [word!] near: [ctx-text: context bind ctx-text system/view] where: 'do-module ] Press enter key | |
Henrik: 15-Jul-2006 | to me it doesn't sound like it would be particularly difficult to do, add an action to a timestamp and copy the first line of an entry and paste it in the textarea, but maybe I'm wrong. :-) | |
Anton: 15-Jul-2006 | (Ah, but that doesn't give the author or date....) But this makes me think of an alternative suggestion for adding to altme. Perhaps ALT-RMB or CTRL-RMB on the text should do Henrik's desired quoting. | |
[unknown: 9]: 15-Jul-2006 | Diffilcutly has very little to do with features. | |
Chris: 21-Jul-2006 | Seems that scrolling steps are set to a percentage of total messages height. Usually to implement scrolling, I small-step by line height and large-step by view-port height minus line height (so there's a little overlap when doing large steps). Then tie the scroll-wheel to the same functions (the scrollwheel is convenient, but a pain when it's the only way to do something). | |
[unknown: 9]: 21-Jul-2006 | When I do that (which I have never done before for the record), I see Ingo's post at the top "The other thing is". When I click in the empty space I see "part of " Ingo's other post (right above the first) "I've only had") This is not a test you can reproduce now, but...................I can see that the scroll area is missing a page and .5 ines. This would seem to be the nature of Robert's statement. Is this what you all are doing? Pressing in the empty space of the scroll area? | |
[unknown: 9]: 21-Jul-2006 | That assumes there is a "source" This could be that the wrong value is being sent to the scroller. Hard to tell. What we need to do is have a scroll example that works with all conditions. Then we will use the same values for ours. | |
james_nak: 25-Jul-2006 | I just received a response back from support in regards to changing the password of a World (not a user). AltME world passwords can not be changed in this release. If it could be changed, the user would have to do that. IMHO that should be changed as there may be times where this is necessary. | |
Cyphre: 11-Aug-2006 | james: "When I exit the program...the app's window closes but the app stays around as a task" hmm..does this your encapped program only when running from altme or als when you run it 'normally'? If the second is true maybe you are using in your program something like: view/new layout [...some layout here...] forever [ do [...some loop code...] wait <some time> ] If so the you need to properly handle the event when you closing the View window because othervise the window is only closed but the FOREVER (or any other) loop is still running. The solution is for example put before the "view/new" line: insert-event-func func [face event][if event/type = 'close [quit] return event] (ofcourse if your app is using multiple windows you need to add some more logic to decide which window should QUIT the app and which not when using the 'X' close button) | |
Tomc: 29-Aug-2006 | I do like to see the movement on altme development | |
Henrik: 5-Sep-2006 | there isn't even a requester saying "do you really want to run this app? could be dangerous. your computer could go boom." like webbrowsers do nowadays. | |
Henrik: 5-Sep-2006 | yes, something like that. I think it's pretty standard policy to do that. What's this notorious single-click policy to run things in Rebol anyway? The viewtop does it too. :-) | |
PeterWood: 14-Sep-2006 | Which key combination do you use to copy text in AltME on Linux (Ubuntu) ? | |
Henrik: 29-Sep-2006 | I see that too, but I thought it had something to do with Synergy, because I see it in other apps too. | |
Henrik: 12-Oct-2006 | I think it had something to do with that the world was created before filesharing was available | |
BrianH: 16-Oct-2006 | I think the problem is that read without /binary is supposed to do transparent line ending conversion, but doesn't when reading clipboard data. | |
[unknown: 9]: 23-Oct-2006 | I just did some speed tests. Seems about the same. Even though it should be unrealted, do you still have your message count set to 100? Of note, AltME seems to be the same speed, and Qtask should be about 20% faster, and will continue getting faster. | |
yeksoon: 20-Nov-2006 | REBOL /View (or AltMe) just crashed on me..when I do the following on WinXP. 1. My Computer->Properties 2. Advanced tab->Performance 3. Change from "Let Windows choose what's best for my computer" to "Adjust for best performance' 4. Apply..... WinXP 'pops' up a dialog saying /View has crashed and ask for information to be sent over to MS. Can someone try the above and see if it duplicates? NOTE: I have AltMe running when I did that. | |
Group: rebcode ... Rebcode discussion [web-public] | ||
Volker: 15-Oct-2005 | But i am curious about passing the true-flag back. IS there a reason not to do it, or just not addressed now? | |
Henrik: 15-Oct-2005 | well, it's usually very literal? with regular assembler you can count the amount of nanoseconds or CPU cycles it takes to do do some operation. I don't know if you can do that with rebcode. it gets more and more difficult, the higher level you go | |
BrianH: 15-Oct-2005 | Yeah, with braw I wasn't concerned with the 2 opcodes you would have to add before any call to braw to make it usable; I was more concerned with actually being able to get the address offsets to compute with without having to write a compiler (which I am going to do anyways, just not right now). That was why I came up with that HERE assembler directive. | |
Pekr: 15-Oct-2005 | BrianH - you seem to be skilled in that area. What speedup do you think compiling rebcode could achieve? And - how large the compiler would be? | |
Pekr: 15-Oct-2005 | I e.g. did small dll some time ago to do some histogram etc. stuff with image. Image is easy - four bytes of values per pixel - worked well, but I modified binary value directly. Now imagine how would you work with rebol block in C level eventually :-) | |
BrianH: 15-Oct-2005 | I've never seen an Italian try to play football. Oh, do you mean soccer? :) | |
BrianH: 15-Oct-2005 | I would prefer opcodes to just don't do anything when given bad arguments, instead of crash REBOL with a core dump, as a general rule. | |
Volker: 15-Oct-2005 | If you want to do multimedia, either trade or have a very smart compiler. | |
BrianH: 18-Oct-2005 | I found an advantage to the new opcode-always-first syntax of rebcode that hadn't occured to me before, while examining the source of the assembler. With the old assembly syntax, the binding of the opcodes to the internal rebcodes object was performed by a bind of the whole code block, and all subblocks (except fot the do blocks). This bind was performed to all words, including those used as arguments and variables. Because of this the assembly opcodes were essentially keywords that could not be used as variables or as the names of externally referenced values like the functions called by apply. This made it very difficult to integrate with external code. Also, since more opcodes are being added all the time, your parameters and other variables could end up converted to keywords in future revisions of the VM and your code could stop working. Now, all opcodes are the first word in a statement, no keywords are anywhere else in rebcode statements and the every statement starts with an opcode. The assembler is able to just bind the first word in each statement to the rebcodes object during the syntax check, and to simply reject any statement that isn't valid syntax, including invalid opcodes. You can even use the opcode words as variables in your code, or refer to external values by those names without any difficulty. This simplified syntax would be easier to execute as well. The implication of this is that rebcode is now a strict statement-based dialect, instead of an expression-based one like the do dialect. The advantage to this is that you can always tell where a statement begins, where it ends, and what it is operating on. This kind of code is easy to follow and quick to execute. It can be trickier to write though, as you have to decompose those expressions you are used to writing into their component parts. | |
BrianH: 18-Oct-2005 | Fortunately, this kind of code is easy to generate as well. The rewriter can do some basic transforms to make the syntax that you write easier for you. For example, Volker's suggested alternate syntax (to my best guess of what he meant) could be implemented with something like this: use [dest here rule r1 r2 r3 rs0 rs1 rs2 rs3] [ foreach rule [r1 r2 r3 rs0 rs1 rs2 rs3] [set rule make block! 10] insert rs1 ['label word! | '?? word |] parse rebcode*/opcode-rule [ some [here: lit-word! [ '| ( insert tail rs0 reduce [here/1 '|] ) | 'word! '| ( unless find rs1 here/1 [insert tail r1 reduce [here/1 '|]] ) | 'word! [block! | word!] '| ( unless find rs2 here/1 [insert tail r2 reduce [here/1 here/3 '|]] ) | 'word! [block! | word!] [block! | word!] '| ( unless find rs3 here/1 [insert tail r3 reduce [here/1 here/3 here/4 '|]] ) | into ['integer! '| 'word! | 'word! '| 'integer!] [ '| ( insert tail r1 reduce [here/1 '|] insert tail rs1 reduce [here/1 'integer! '|] ) | [block! | word!] '| ( insert tail r2 reduce [here/1 here/3 '|] insert tail rs2 reduce [here/1 'integer! here/3 '|] ) ] [block! | word!] [ '| ( insert insert tail rs1 copy/part here 2 '| ) | [block! | word!] [ '| ( insert insert tail rs2 copy/part here 3 '| ) | [block! | word!] '| ( insert insert tail rs3 copy/part here 4 '| ) ] ] ]] ] foreach rule [r1 r2 r3 rs0 rs1 rs2 rs3] [clear back tail get rule] rule: [ set dest set-word! here: r1 #==> (here/1) (to-word dest) (dest) . set dest set-word! here: r2 #==> (here/1) (to-word dest) (here/3) (dest) . set dest set-word! here: r3 #==> (here/1) (to-word dest) (here/3) (here/4) (dest) . set dest set-word! here: rs0 #==> (here/1) (dest) . set dest set-word! here: rs1 #==> (here/1) (here/2) (dest) . set dest set-word! here: rs2 #==> (here/1) (here/2) (here/3) (dest) . set dest set-word! here: rs3 #==> (here/1) (here/2) (here/3) (here/4) (dest) . set dest set-word! #==> . ] rebcode-define rule ] | |
BrianH: 18-Oct-2005 | Well Volker, what do you think of your alternate syntax? Note that opcodes that take any-type! instead of word! in their first parameter don't get their parameter abstracted out, and how easy it is to add exceptions. The direct branches might be a good idea to skip rather than abstracting the word and skipping the integer, but you can decide for yourself. | |
Oldes: 18-Oct-2005 | that's no good:( I cannot use rebcode to speed up any from my RSWF dialect functions as all of them are base on dealing with datatypes like UI16 UI32 SI16 SI32, FP and other which simply Rebol do not support:( | |
Oldes: 18-Oct-2005 | Unfortunately I'm not able to do it in Rebcode:( | |
BrianH: 18-Oct-2005 | What are you trying to do with that function? I'm having a little trouble understanding its purpose, though I seem to get most of the parts. | |
Geomol: 18-Oct-2005 | In rebcode, the pick opcode can be used with both binaries and images. If you have an image, it's rgb values can be reached as image/rgb, and that is a binary serie. Each value is 0-255, and you then have to multiply the index by 3 and use an offset to reach the red, green or blue component of a pixel. It's also possible to work on the image as an image! datatype, and then it's not necessary to multiply the index by 3, as the full pixel is addressed, but the value isn't a tuple, as we're used to, but the binary version of a tuple as an integer. E.g. green (0.255.0 or #{00ff00}) is 65'280. Now to my questions. Are there shortcuts or tricks to make it easier to work with pixel-valus in rebcode? Should it be possible to use tuples, or will that slow things down too much? What do others do? | |
BrianH: 18-Oct-2005 | I'm writing these functions to figure out how to do Duff's Device efficiently in rebcode :) | |
BrianH: 18-Oct-2005 | Here's an example of using something like Duff's Device to do loop unrolling in rebcode. binary-to-int16-be: rebcode [b [any-string!] /local x y l dest offs] [ ; Get the length, bounded length? l b min l 2 ; Set the initial value set x 0 ; Switch on the length set offs [16 6 2] pickz dest offs l braw dest ; Set the low byte pickz x b 1 ; Add the high byte pickz y b 0 lsl y 8 or x y ; Done! return x ] | |
Volker: 22-Oct-2005 | yes. but i dont know how to do arithmetices with labels | |
BrianH: 22-Oct-2005 | Volker, the problem with declareing the distance between two offsets as data is that the assembler doesn't currently have any way to even get those offset values as data. That is what my HERE directive proposal does. You have to do this kind of thing in the assembler, because until the rewrite rules are done operating the offsets can't even be known. | |
BrianH: 22-Oct-2005 | It would not be difficult to implement this. You wouldn't need to change the native code at all - even I could do it from here. | |
BrianH: 22-Oct-2005 | If I can set aside the time to this weekend, I'll do it myself. | |
BrianH: 22-Oct-2005 | That won't work. Every rebcode block gets its own label table, which is just a block, not a context, and is thrown away after the label fixups. These offsets need to be constant - a label table could be modified by the calling code. Really, it's easier to do the fixups in the fixup phase - that's what it's there for. | |
BrianH: 22-Oct-2005 | It would be interesting to have a parse opcode, but keep in mind that this kind of speedup would likely be implemented in the JIT, when we get that. And however fast parse is, its overhead dwarfs that of a function call. And remember, using apply would be significantly faster than calling a function in the do dialect because there isn't any evaluator overhead. | |
BrianH: 22-Oct-2005 | Right now any of those flexible parsing and rule changes are implemented in do dialect code in the parens. To make the rules static, you would have to compile that code too. | |
Cyphre: 24-Oct-2005 | rgba-to-int: rebcode [r g b a][ lsl a 24 lsl r 16 lsl g 8 or a r or a g or a b return a ] draw-pix: rebcode [r g b a][ apply a rgba-to-int [r g b a] poke img 1 a ] update-pixel: does [ do draw-pix col/1 col/2 col/3 col/4 probe img show i ] col: 0.0.0.0 img: make image! 1x1 view layout [ backcolor black i: image img 100x100 scroller 200x16 [ col/1: to-integer face/data * 255 update-pixel ] scroller 200x16 [ col/2: to-integer face/data * 255 update-pixel ] scroller 200x16 [ col/3: to-integer face/data * 255 update-pixel ] scroller 200x16 [ col/4: to-integer face/data * 255 update-pixel ] ] | |
Cyphre: 24-Oct-2005 | time: func [b /local start] [ start: now/precise do b print ["Time:" difference now/precise start] ] rgba-to-int: rebcode [r g b a][ lsl a 24 lsl r 16 lsl g 8 or a r or a g or a b return a ] draw-pix: rebcode [r g b a][ apply a rgba-to-int [r g b a] return a ] draw-pix2: rebcode [r g b a][ loop 1000000 [ apply a rgba-to-int [r g b a] ] return a ] probe stats recycle time [loop 1000000 [draw-pix 255 255 255 255]] probe stats recycle time [loop 1000000 [rgba-to-int 255 255 255 255]] probe stats recycle time [draw-pix2 255 255 255 255] probe stats | |
Geomol: 24-Oct-2005 | I also find apply result power [b x] to be faster than do result [b ** x] | |
Geomol: 24-Oct-2005 | bezier: rebcode [ t [decimal!] P [block!] /local result m n n! i a b c d idx ][ do result [copy [0.0 0.0]] length? n P div n 2 set m n sub n 1 ;apply n! factorial [n] set n! 1 repeat x n [ mul n! x ] repeatz i m [ to-dec a n! ;apply b factorial [i] set b 1 repeat x i [ mul b x ] to-dec b b divd a b set b n sub b i ;apply c factorial [b] set c 1 repeat x b [ mul c x ] to-dec c c divd a c eq i 0 braf i-not-0 set d 1.0 bra muld-d-a label i-not-0 to-dec c i set d t ;apply d power [t c] log-e d muld d c exp d label muld-d-a muld d a set a 1.0 subd a t eq b 0 braf b-not-0 set a 1.0 bra muld-a-c label b-not-0 to-dec b b ;apply a power [a b] log-e a muld a b exp a label muld-a-c muld a d set idx i mul idx 2 pickz b P idx muld b a pick c result 1 addd b c poke result 1 b add idx 1 pickz b P idx muld b a pick c result 2 addd b c poke result 2 b ] return result ] | |
Pekr: 24-Oct-2005 | you know, when we originally developed high-end astronomy CCD camera, it returns you per-pixel value of 1 to 65535, according of how much current counts in the individual pixels ... you ten need to convert it to image, so you have to get minimu,maximum, and divide it into 256 zones .... when I did it using plain rebol, it was painfully slow. Imagine having lucrative in-camera ethernet + ip, downloading image using rebol in 1 sec or so, and then waiting 19 secs tojust view the image :-) If we would do this device nowadays, with Rebcode, I believe I would not hesistate to use rebol for all operations .... | |
Group: SQLite ... C library embeddable DB [web-public]. | ||
Robert: 22-May-2006 | How do you solve the problem of schema changes? You develop an app and over time you see that some columns need to be added/removed from tables? What's the best strategy to do this? | |
Robert: 22-May-2006 | This mean on every update the user has to do this cycle... don't think this is an option. | |
Robert: 22-May-2006 | That's what I do, see above. I just want to make my app handling cases where the structure changes. | |
Robert: 22-May-2006 | Yes, but than I always get back the column names. I can set the col-info? to TRUE and what select statement do I than use? | |
BrianH: 22-May-2006 | By in left-to-right order, do you mean having the names returned in a single row, or will having them in a single column do? | |
Ashley: 24-Jun-2006 | Looks like your data is tripping the driver up. Please add the following line: print mold s prior to the "either all [block? v ...] line and post the last result back here. As for the second issue, haven't experienced this myself. Do you have a small code snippet that exhibits the problem? | |
Ingo: 28-Jun-2006 | Hi Ashley, while trying to find a minimal code example ... I found the error ... ;-) That's the error message ... ** User Error: SQLite SQL logic error or missing database ** Near: make error! reform ["SQLite" error] And it was caused by: if string? face/user-data [ if error? set/any 'err try [ set pAddress-disp first rule compose [pAddress get guid = (face/user-data) *] ; rule creates an sql string and starts calls 'sql with it ; yadda yadda yadda ... ] ][probe disarm err] Do you find the error??? Somehow the [probe disarm err] block moved to the wrong if ... I don't know how this could trigger _this_ error, but after I moved the block the error has not occurred again. | |
Pekr: 1-Aug-2006 | I did following modifications to driver: log-path: to-file copy "" then replace/all "%sqlite.log" "join log-path %sqlite.log" then in my cgi script I am able to do sqlite/log-path: %db/ to change location ...... maybe it would be usefull to even set db path and don't bother with paths, not sure .... | |
Ashley: 1-Aug-2006 | 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 | |
Robert: 18-Sep-2006 | I haven't given this ADO stuff a try to see if it fits my requirements. But will do so. | |
Robert: 18-Sep-2006 | 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. | |
Pekr: 18-Sep-2006 | I can't install it, need to download .NET framework first, will do so at home :-) | |
Ladislav: 2-Nov-2006 | ... 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 | |
Anton: 9-Nov-2006 | 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. | |
Pekr: 9-Nov-2006 | :-) Do you really find anything so valuable on sqlite.com domain, that you need to grab their whole site? :-) | |
Louis: 16-Nov-2006 | 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 | |
Louis: 16-Nov-2006 | Here's the latest version: rebol [] do %sqlite.r do %rebgui.r 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"] if not exists? %id.txt [write %id.txt 1] i: to-integer read %id.txt i: i - 1 either not exists? %indodex.db [ CONNECT/create %indodex.db SQL "create table base (ID, Title, Nama, Alamat, Telefon, Handfon, Fax, Email, Tgl_Nikah, Nota)" SQL "create table birthdays (ID, Nama, Jenis, Hubungan, Tgl_Lahir, Agama, Nota)" ][ CONNECT %indodex.db ] do show-cc: make function! [] [ set-colors display "IndoDex Ver. 1.0.1" [ label 16 "ID:" id: text (to-string i) return label 16 "Title:" title: drop-list 30 #W "Pak" data ["Pak" "Ibu" "Sdr." "Sdri." "Drs." "Dr." "Tuan" "Nyonya"] 20x5 return label 16 "Nama:" nama: field return label 16 "Alamat:" alamat: area 50x30 return label 16 "Telefon:" telefon: field return label 16 "Handfon:" handfon: field return label 16 "Fax:" fax: fax: field return label 16 "E-Mail:" email: field return label 16 "Nota:" nota: area 50x30 return button "Save" [ ;UNCOMMENT THE FOLLOWING LINES AND YOU WILL SEE THEY DON'T WORK. ANYBODY KNOW WHAT IS WRONG? ;SQL reduce ["insert into base values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" id/text, title/text, nama/text, alamat/text, telefon/text, handfon/text, fax/text, email/text, tgl_nikah/text, nota/text] ;SQL {insert into base values ('Pak' 'Ibu' 'Sdr.' 'Sdri.' 'Drs.' 'Dr.' 'Tuan' 'Nyonya' 'Jonew')} (i: to-integer i) (i: i + 1) (write %id.txt i) (i: to-string i) ] button "GUI Info [ print [id/text " " title/text " " nama/text " " alamat/text newline] ] button "DB Info" [ print TABLES SQLite/col-info?: true print SQL "select * from base" print SQLite/columns ] button "Halt" [ halt ] button "Quit" [ quit ] ] ] do-events | |
Louis: 1-Dec-2006 | Ok, it seems to be related to certain records. No matter what word I search for it is not found in certain records. So it has something to do with those records. | |
Pekr: 14-Dec-2006 | I am confused about what driver is doing ... the difference of Direct mode. Hmm, maybe I do - there is a difference between the string mode, and block mode. With string mode, the driver does not touch the expression, so I am responsible for putting VALUES('06-Dec-2006') or VALUES('"06-Dec-2006"') - simply put - if I want in db to have my date value being represented as a REBOL string, I have to put it into parenthesis myself. So actually parenthesing it twice, as sqlite itself already uses '06-Dec-2006' and considers it being a string ... | |
Ashley: 15-Dec-2006 | Success! ... of sorts. If you add a 'recycle as the first line of the 'sql func then all seems to work fine; but a lot slowwwwwwer (1 minute 48 as opposed to 1.5 seconds in Pekr's test case). But, if you recycle every 100 statements it still works and only increases the runtime to 1.85 seconds. I'll do a few more tests before uploading a new version with this change. | |
Pekr: 21-Dec-2006 | There seems to be a bit messy situation in how integers are handled with SQLite, so beware. If you don't specify column types, as eg. in my following example: create table logs (date, time, ipaddr, url, ctype, incident) , then expect following situation: 1) sql "select incident from logs where incident = 4" ; works 2) sql ["select incident from logs where incident = ?" 4] ; works 3) sql "select incident from logs where incident = '4'" ; does not work The strange thing is, that editing my db in SQLiteAdmin, it shows not column types (but imo it has to choose some "default" type internally). Changing according field type to Integer type, makes above case number 3) to work too ... So maybe it is always better to not be lazy and specify precisely column types? But in fact, when I specified column type as Integer, I did NOT expect case 3 to work ... I am going to do more tests myself to save myself from later headaches during specifying more complicated queries :-) | |
Robert: 8-Jan-2007 | Question: I have something like a bill-of-material. And I would like to get such a structure back as graph. I'm just thinking of this isn't a generic function suitable to be coupled with a database. What do you think? | |
Robert: 17-Feb-2007 | I'm thinking about updating to the newest SQLite version. And I just read there is a new API which should be used. The sqlite3_prepare_v2() and sqlite3_prepare16_v2() interfaces are recommended for all new programs. The two older interfaces are retained for backwards compatibility, but their use is discouraged. In the "v2" interfaces, the prepared statement that is returned (the sqlite3_stmt object) contains a copy of the original SQL. This causes the sqlite3_step() interface to behave a differently in two ways: If the database schema changes, instead of returning SQLITE_SCHEMA as it always used to do, sqlite3_step() will automatically recompile the SQL statement and try to run it again. If the schema has changed in a way that makes the statement no longer valid, sqlite3_step() will still return SQLITE_SCHEMA. But unlike the legacy behavior, SQLITE_SCHEMA is now a fatal error. Calling sqlite3_prepare_v2() again will not make the error go away. Note: use sqlite3_errmsg() to find the text of the parsing error that results in an SQLITE_SCHEMA return. When an error occurs, sqlite3_step() will return one of the detailed result-codes like SQLITE_IOERR or SQLITE_FULL or SQLITE_SCHEMA directly. The legacy behavior was that sqlite3_step() would only return a generic SQLITE_ERROR code and you would have to make a second call to sqlite3_reset() in order to find the underlying cause of the problem. With the "v2" prepare interfaces, the underlying reason for the error is returned directly. | |
Ashley: 17-Feb-2007 | are you working on an update to SQLite.r at the moment? I didn't even know they had changed the API! If it's an easy change I'll do it sooner than later. | |
Pekr: 23-Nov-2007 | it does not sound appropriate, or why guys were asking mysql to add insert .... on duplicate key update facility, if update would be able to do it itself? | |
Pekr: 23-Nov-2007 | guys, have you ever got to situation, that working with rebol itself was more productive than with SQL? I redone my version of inventory checking to SQL, and thas thing imports for 10x more time, and most of the checks I do on rebol side anyway. Kudoz to remove-each function too :-) | |
Pekr: 23-Nov-2007 | how to do effectively following using SQL? | |
Pekr: 23-Nov-2007 | our subsidiary company changed IDs of some products during the inventory in our system ;-) I need to create table called e.g. transform-id(oldid, newid) .... and now I would like to somehow do: foreach row maintable [if found? in transform table maintable/id, then replace maintable/id with newid) :-) | |
Pekr: 27-Nov-2007 | produkty.kod is unique ... if I remove "or replace" part, data seem to be OK, but it just no more does what I need it to do .... | |
Pekr: 2-Dec-2007 | you can, by creating some code to do so, not by simply looking into the directory and using default OS facilities. | |
PeterWood: 2-Dec-2007 | I didn't think that you needed to write any code to backup individual tables in SQLite but just supply the table name as a parameter to the .dump command. I believe you can do this from the command line with SQLite3. | |
btiffin: 30-Mar-2008 | Robert; I'll fight you on that. :) Depends on the scale. RebDB is beautiful for dbs under the 10K ish limit; TRETBASE is destined to be a very handy REBOL scripting database engine, and Paul has been hammering on some larger datasets, (not something I'd plan on, but it's being developed that way). So unless you are working in the 100K+ record arena, or need multiple user concurrency, I do think REBOL is the right tool for a database engine. | |
sqlab: 19-Sep-2008 | What is the recommendet way to deal with a lock and to get rid of dat-journal? I do not like to stop all processes and to manually remove the file. Also to increase the retries has its limitations. So, how do you handle the problem? | |
Pekr: 9-Oct-2008 | how do you connect to DB? There are two modes - normal, and /direct .... | |
SteveT: 9-Oct-2008 | Hi all, is the SQLite driver for REBOL different to the standard in that it has locking working? Does this mean it can be used for small multi-user apps or is it that people DO but SHOULDN'T like with Access? Thanks | |
Robert: 3-Dec-2008 | I think makeing CONNECT handling this case implicit would make a lot of sense to make it simpler for users. So the programmer know, it's possible to alway call CONNECT/CREATE. What do you think? | |
amacleod: 3-Dec-2008 | If I'm updating multiple fields is this the syntax? SQL reduce ["update books SET bk=?, chap=?, section=?, up_date=? WHERE id=?" book chapter section update id] I do not get an error but it does not seem to be updating all the fields. | |
Robert: 4-Dec-2008 | Ashley, ok. Let's do it together, I can spend some time to discuss things and code some variants. | |
Pekr: 4-Dec-2008 | Gyus, how to encrypt data in SQLite? I can't do it at app level (field storage level), as then SELECT would not work. Is the only solution to buy some SQLite variant, which encrypts at low level? | |
amacleod: 4-Dec-2008 | I found part of the problem... If I'm updating multiple records it fails to update but if update one record it updates. I'm using a transaction here. do I need to place each var in ()? | |
amacleod: 17-Dec-2008 | how do you search for a string within a column. Is that what they refer to as full text search? (fts) | |
amacleod: 22-Dec-2008 | I can find the sql commands but I do not know how to rebolize them. Where can I find that I need to do this: '%'||?||'%' ? | |
amacleod: 22-Dec-2008 | BrianH, Its working...I just do not know how to make it dynamic. | |
Robert: 4-Jan-2009 | A bit OT: Has anybody an idea how a "schema driven" database export does/could work? I have an applicaiton that uses some tables, and records are linked by primary index IDs. Now I want to export a record and all its dependend records either into a new database or over the network to some other process. Because ID ranges are different in the export target database or on the remote server, I need to rewrite the old IDs with the new ones. At the moment I have a hand written, very app specific (and error prone) function for this. But I would like to do this in a much more generic fashion. Maybe just specifcing the relationship with some simple dialect and than have a generic function collecting everything. | |
Robert: 4-Jan-2009 | How else will you do it if you transfer one set of related records from database A to a database B? |
2301 / 11578 | 1 | 2 | 3 | 4 | 5 | ... | 22 | 23 | [24] | 25 | 26 | ... | 112 | 113 | 114 | 115 | 116 |