• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp4382
r3wp44224
total:48606

results window for this page: [start: 10201 end: 10300]

world-name: r3wp

Group: !AltME ... Discussion about AltME [web-public]
Ingo:
30-Sep-2006
It works here, with and without synergy (if we mean the same program, 
the tcp/ip km switch to use the same mouse and keyboard for two computers).
WinXP
Will:
12-Oct-2006
is it rebol on os x or altme, pasting code into altme doesn't keep 
newlines and tabs, if it is an altme issue then a fix would be very 
welcome 8)
[unknown: 9]:
12-Oct-2006
Louis:  This is not my world, you would have to ask Carl.

Will, pasted from what?  That is the key.  Please look at the contents 
of your paste in a hex editor, and tell me if it has CR, LF, LF + 
CR,. or CR + LF.
[unknown: 9]:
13-Oct-2006
The source does matter, try writting a couple of lines with TextEdit, 
and also try copying and pasting from a website.
JaimeVargas:
13-Oct-2006
I can confirm that this is the case, and it is very annoying.
Ashley:
14-Oct-2006
Interestingly enough, if I copy and paste the above "line" back into 
TextEdit then they appear as three seperate lines again.
[unknown: 9]:
15-Oct-2006
Henrik, thank you for the research.    So, VID has it too?  And to 
confirm, you get different results on Windows and Mac?
Henrik:
16-Oct-2006
Only the last test above was done in Windows XP. The others were 
done in OSX.


When I paste from TextEdit in MacOSX into a VID textarea, ^M is pasted, 
and it doesn't work right. When I paste from Notepad in Windows into 
a VID textarea, ^/ is pasted and it works correctly. So the results 
are different, yes.


When I copy and paste from a VID textarea to TextEdit, it looks alright, 
but this might be due to how TextEdit handles different line ending 
chars the same. I can't see the line endings in TextEdit. When I 
save the TextEdit file to disk in Windows Latin 1 format and read 
it in REBOL, the line endings are correct.


When I copy and paste between two VID text areas in OSX, it looks 
alright.


OSX Rebol/View has also another bug in which, when using cursor up 
or down in a text area, the cursor also moves one char to the left.
Henrik:
16-Oct-2006
I don't think this is an AltME problem, but a rebol/clipboard general 
problem. But I think that Mac Roman text formatting does use a different 
line ending and that comes through with the clipboard into rebol.
Henrik:
18-Oct-2006
another issue is how text encoding is done. I just had a conversation 
in Danish with Geomol. While Danish letters look right on a mac it 
will look different in Windows and vice versa.
[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.
Anton:
23-Oct-2006
(and my message limit is 500)
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: SQLite ... C library embeddable DB [web-public].
Ashley:
8-May-2006
It all depends.


 250,000 integers vs 250,000 multi-column rows with large string values
	client device with 16MB RAM vs 'server' with 4GB RAM
	'local' query vs pulling the data over a network


There are plenty of optimization strategies. One technique, if concurrency 
is not an issue for you, is to have your query return 250,000 rowids 
then page through rows based on simple 'rowid in (...)' type queries. 
It's fast and efficient, but not too great if others are modifying 
the same table(s) at the same time.
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?
BrianH:
22-May-2006
In general, the best strategy can be to rename the table, create 
a new table with the old name and the new schema, and then make an 
import query to transform and transfer the data from the old table 
to the new. Then you can drop the old table.
Pekr:
22-May-2006
so guys use the trick, that they add some 20 spare columns, which 
they can use later, if there is change needed :-) and later on, after 
some period, they adjust table and code ....
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?
Robert:
22-May-2006
One that's fast and small.
Robert:
22-May-2006
I have a table with columns: [A B C D AA] and I just need to get 
back them in order [A B C D AA] and not something like [A AA B C 
D]
Pekr:
22-May-2006
column names? they are not returned in the same order? isn't there 
their numerical position representation? You could write small function 
to iterate via those blocks and sort it ....
BrianH:
22-May-2006
It returns info about a table, and by default returns info about 
the columns of the table, in the order they are declared in the table, 
including column names. From there, you can extract the names quite 
easily.
Robert:
22-May-2006
DESCRIBE returns the column ID 0 based. As I map this either to block 
positions or objects and Rebol is 1 based how about adding an option 
to either get the results 0 based or 1 based as in Rebol?
Pekr:
22-May-2006
hmm, detailed problem - he had zip code defined as integer in some 
sqlite editor. Then he has rebol form, with fields ... and he saved 
empty zip code field ... so he saved "" to db, where number was required 
...
Ashley:
22-May-2006
how about adding an option to either get the results 0 based or 1 
based

 ... best done in your own script as that's a fairly specific and 
 [probably] uncommon requirement. Same goes for other 'one-off' requirements 
 like "all uppercase object names", or "all lowercase object names".
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 ....
Pekr:
1-Aug-2006
ok, and when you open multiple databases as with connect [%my-db.db 
%my-db2.db] ?
Pekr:
1-Aug-2006
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?
Ashley:
2-Aug-2006
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
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 ....
Pekr:
18-Sep-2006
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?
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
yes, but binary dll comes in installer .msi, and it refuses to run, 
unless you have .NET installed, but that is detail :-)
Pekr:
18-Sep-2006
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?
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
Ashley:
2-Nov-2006
'time is set in 'sql and used by 'format
Ashley:
4-Nov-2006
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).
Robert:
6-Nov-2006
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?
Ashley:
6-Nov-2006
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
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
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
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.
Ashley:
8-Nov-2006
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.
Will:
9-Nov-2006
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
Will:
9-Nov-2006
and DeepVacuum is a GUI for wget ;-)
Louis:
9-Nov-2006
Pekr, Rebolek, Will, and Henrik, thanks. I'm on XP.  Too bad. DeepVacuum 
looks nice.
Henrik:
9-Nov-2006
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
Louis:
9-Nov-2006
:>)  Just tired and playing around.
Henrik:
9-Nov-2006
and it downloads fine here
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:
16-Nov-2006
Click on the <DB Info> button, and you will see that the tables have 
been created. But I haven't been able to insert any data.


Another problem is that the id field doesn't advance to the next 
number.
Louis:
16-Nov-2006
Now, how can all the fields and areas be cleared in preparation for 
entering data for the next record?
Ingo:
26-Nov-2006
Another idea could be, that you are somehow mixing "raw" and "managed" 
access, this bit me once, but I think it was related to strings then.
Ashley:
26-Nov-2006
What did the statement that originally inserted the value look like? 
What refinement(s) do you use when CONNECTing? Same for both the 
INSERT and SELECT?
Robert:
26-Nov-2006
I have created a semicolon seperated file and imported it via the 
SQLite command line tool. All numbers where just plain included, 
not guarded by " chars.
Robert:
26-Nov-2006
I mostly use FLAT for SELECT and no refinement for INSERT.
Pekr:
14-Dec-2006
Hi, has anyone even got to the problem, where you import data into 
database, and it is corrupted? (select fails)
Pekr:
14-Dec-2006
following works:

;--- import log files
import-logs: does [

   ;--- pairs of incident No and incident file [[1 filename][2 filename] 
   atd.] ...

   log-files: [[1  06-12-06-7_50-7_59][2  06-12-12-15_46-15_47][3 
    06-12-13-15_29-15_31]]
   foreach file log-files [
     log-info: copy []
     log-file: read/lines file/2  
     ;print length? log-file
     foreach string-line log-file [
       line: parse string-line " "
       if line/7 == "GET" [ 

         append log-info reduce [line/1 line/2 line/4 line/8 line/11 to-string 
         file/1]
       ] 
     ] 

    SQL "BEGIN"

    foreach [date time ip-address url content-type incident-id] log-info 
    [

       SQL reduce ["INSERT INTO logs VALUES (?, ?, ?, ?, ?, ?)" date time 
       ip-address url content-type incident-id]
    ]
    SQL "COMMIT"

   ]
]
Pekr:
14-Dec-2006
converting the first file (reading and saving) did not help either 
... my suspicion is, there is some bug with driver ...
Pekr:
14-Dec-2006
uf, following works. Maybe it has something with my nonunderstanding 
of differences between string/non string values and how to properly 
insert them ...


 SQL s: rejoin ["INSERT INTO logs VALUES ('" date "', '" time "', 
 '" ip-address "', '" url "', '" content-type "', '" incident-id "')"]
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 ...
Robert:
15-Dec-2006
Petr, I had the same problem. There is a RAMBO ticket and Ashley 
posted his findings about it.
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.
Ashley:
15-Dec-2006
1.0.2 available at: http://www.dobeash.com/download.html


Workaround to RAMBO#4063. Seems to work with Pekr's and my test cases 
after several thousand runs without error.
Ashley:
15-Dec-2006
Pekr, the import statement for your script would look like:

	sqlite/import "insert into logs values (?,?,?,?,?,?)" log-info


and is about twice as fast as the foreach loop (and now works correctly 
under 1.0.2).
Volker:
15-Dec-2006
that saved my script, which uses beer and heavy blitting
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 :-)
Pekr:
22-Dec-2006
I read "manifest typing" and it is strange - even if you set your 
column as an integer, it allows you to enter non-integer data ...
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:
8-Jan-2007
and of course having more than one parent.
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.
Pekr:
2-Jul-2007
is there any solution, how to infuence shell window appearance, if 
using sqlite3.exe? There seems to be no silent mode ... you can start 
sqlite3.exe and type .help to see more comands, or look here:

http://www.die.net/doc/linux/man/man1/sqlite3.1.html
Pekr:
23-Nov-2007
it has insert or replace = replace, but that deletes original record 
and replaces it with new, probably changing row id, so no facility 
like insert .... on duplicate key update .....
BrianH:
23-Nov-2007
I don't think it changes the row id though, and definitely doesn't 
change the primary key.
Pekr:
23-Nov-2007
simply put, I don't want to issue a reqeust first, then decide if 
received recordset is zero lenght to insert, and if ther is some 
record, to update ....
BrianH:
23-Nov-2007
No, I'm saying that update deletes the original record and inserts 
a new one, on every relational database I know. No update-in-place.
Pekr:
23-Nov-2007
it might work with rebol, but when you go to consolo and issue select 
* from test where id='5', it is not found. Because rebol stores it 
as "5", so I have to issue '"5"'
Pekr:
23-Nov-2007
I simply want rebol string "1234" to be stored as '1234' and when 
returned from query to be it once again "1234" not integer if I use 
'1234' (when using compose and sending string query)
Pekr:
23-Nov-2007
It seems to me I will work with /direct refinement. That way REBOL 
string "aaaaa" is stored in sqlite as 'aaaa', so direct queries for 
'aaaa' in console work, and back-loading (select) to rebol returns 
it as a rebol string. Without direct, 'aaaaa' would be returned as 
word ...
Robert:
23-Nov-2007
The SQLite driver transforms all necessary " and ' stuff.
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
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:
23-Nov-2007
I really sometimes think of simply submitting two queries into sql, 
having results in block, doing it in rebol level, and then to build 
tables from the scratch by inserting into new tables :-)
Pekr:
27-Nov-2007
WTF! I got burried by very strange behavior, which I would like to 
know what happened. IMO it is not related to SQLite itself, but maybe 
it is a deeper REBOL bug? Simply put I have following statement:


sql "update or ignore produkty set kod = (select novy_kod from prevodnik_devitky 
where prevodnik_devitky.kod=produkty.kod) where exists (select kod 
from 
prevodnik_devitky where prevodnik_devitky.kod=produkty.kod)"


... and I was becoming crazy, that the update did not happen. No 
indexes used (well, I am starting practically with sql, so no need 
to mess things more :-), and when I put EXACTLY the same line into 
SQLiteAdmin tool, it was performed OK.


I was really becoming mad, because it seemed to randomly work, when 
I changed/simplified the expression. Then I remembered my 2 years 
old ODBC scripts, when we imported data into SAP, from Database Advantage 
Server. I remembered there was some problem with multiline statement 
unless I used trim/lines.


I thought to myself, well, it was ODBC driver related, but why not 
to try it? So I tried to reformat my query to:


sql trim/lines "update or ignore produkty set kod = (select novy_kod 
from prevodnik_devitky where prevodnik_devitky.kod=produkty.kod) 
where exists (select kod from 
prevodnik_devitky where prevodnik_devitky.kod=produkty.kod)"


... and it started to work from my script. And I ask once again - 
What is going on here? 2 hours lost, which drove me nearly insane 
:-) I use no special editor but Notepad. The statement returned no 
error, so I thought it got performed, just incorrectly. It all seems 
to be related to one aspect - line is too long, so it wraps in Notepad 
and unless I use trim/lines, it is not performed.


Any educated gues to what is happening here? It is not SQLite related 
imo, I just did not know where to put it, as general bugs group is 
not here ....
Pekr:
27-Nov-2007
I found the culprit but I doubt it is enough to track possible bug. 
Issuing following statement will make subsequent update corrupting 
data:


sql trim/lines "insert into prevodnik select kod, nazev, puvodni_kod, 
puvodni_kod, typ from produkty where substr(kod,1,1)='9' and kod 
like '%BZ'"


update or replace produkty set kod = (select novy_kod from prevodnik 
where prevodnik.kod=produkty.kod) where exists (select kod from prevodnik 
where prevodnik.kod=produkty.kod)
Pekr:
29-Nov-2007
... and they definitely should completly remove their claim that 
1 file for db is an advantage. That is the most serious obstacle 
of sqlite ... simplicity comes via ability to easily backup ... one 
file per index, table ...
Pekr:
29-Nov-2007
Robert - tried that. Sadly it does not fix the issue. I will try 
to get to their ml and post the finding. Maybe I am doing something 
incorrectly, otoh I think that corruption should never happen, even 
if query would be nonsense :-)
Pekr:
1-Dec-2007
if that size is not necessarily 100MB and you don't need to back-up 
all the files all the time ....
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.
Pekr:
2-Dec-2007
well, SQLite is really cool, but simply noone can defend that one 
argument to me. I also communicated that "defficiency" on their ml, 
and simply put - it is the way it is. 'Attach function is just nasty 
workaround, nothing more. But - I talk about some 5% of feature, 
which would I found usefull, I will use sqlite anyway, as simply 
put there is no simple replacement to what it provides ...
GiuseppeC:
13-Dec-2007
Pekr, joining tables and having the data on disk are already two 
good points for SQL Lite. Obviusly I need Rebol/Pro licence before 
using it.
GiuseppeC:
13-Dec-2007
Thanks pekr, I'll take a look at it. Next year, when I'll have more 
knoledge in RebGUI and Rebol2 I need to start a project which needs 
a database but it will be a single user project so SQL lite.is good 
enough.
GiuseppeC:
13-Dec-2007
NO, I want to use R2. I will be using R3 only for small projects 
and to help the comminity into debugging ! Have you already read 
what I think about people complaining R3. Your is a provocation !!! 
:-)))))
Pavel:
14-Dec-2007
To GiuseppeC there is a simple server based on SQLite look at SQLIte 
Wiki/SQLiteNetworks/uSQLiteServer a protocol to this is also in rebol.org.


Anyway I can tell you a secret not to tell anybody: try to use rebface.exe 
from public available REBOL/SDK 2.7.5 BETA . It seems the /Pro restriction 
is not applied there for some reason and SQLite protocol works sweet 
for me there.

You can got  an idea run "local database backend" in one rebface 
process and application in another on rebol version of your choice. 

THANKS ASHLEY FOR A GOOD JOB.
BrianH:
14-Dec-2007
You don't need /Command SQLite, just library access and you get that 
in /Pro. There are other advantages to /Command though.
GiuseppeC:
14-Dec-2007
I know. I will buy the /pro version next year and the whole package 
when my application will be ready.
Ashley:
19-Dec-2007
Why not? It's ACID compliant and SQLite on a server where all file 
ops are local to the DB process seems OK to me.
Ashley:
20-Dec-2007
From "Suggested Uses For SQLite" ( http://www.sqlite.org/features.html
)

Website Database

 Because it requires no configuration and stores information in order 
 disk files, SQLite is a popular choice as the database to back small 
 to medium-sized websites

Stand-in For An Enterprise RDBMS

 SQLite is often used as a surrogate for an enterprise RDBMS for demonstration 
 purposes or for testing. SQLite is fast and requires no setup, which 
 takes a lot of the hassle out of testing and which makes demos perky 
 and easy to launch.
10201 / 4860612345...101102[103] 104105...483484485486487