Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: dbms3.r 01

From: rgaither:triad:rr at: 14-Jan-2002 19:18

Hi Gabriele, I got your other response to my questions etc. All good points that explain what you need well so I didn't reply to it. :-)
> RG> I am assuming (dangerous I know) that binary storage is an > RG> option at all. If you want a text based storage system then > RG> ignore this input. :-) > >Text based for simplicity, but... (see below)
Ok then - text based for this project. Do you have a file format in mind yet? I would be more comfortable thinking about functions if I could visualize how you are thinking about storing the data. If we can come up with a standard, REBOL friendly way of creating a relational text DB file format then people are free to use whatever tools they want to read and write the files. The key value comes in the open, standard format definition not the specific tools. Some design thoughts - 1. I would prefer a single file DB if possible. It doesn't rely on a directory structure and includes everything it needs in one simple, transportable, format. 2. I would also like to store the REBOL values in their native text format. 3. The database should support Tables, Rows, Columns, Indexes, and Named Sequences for starters with possibly a special field type that uses a Sequence to create auto-incrementing ID values to simplify creating primary keys. I'm going to play around with some format options and include them in another post.
> RG> I am concerned in my ignorance about your comment on REBOL > RG> not being able to seek "easily" on direct ports. Could you > RG> expand on this for me? It may be that REBOL just can't do the > >If you open a file port as /direct, you can only seek forward >currently. This means you have to close the port and reopen it if >you need to go back... This is expected to change in the next >release.
Thanks a bunch for the explanation! I was not aware of this limitation.
>...I've got a nice idea. :) After I have finished the on memory >low level functions, could you try doing a compatible version that >uses your binary format? So we'll offer four alternatives: in >memory, on disk a file per block (text), on disk one file (text), >on disk binary.
Yes I can. Trouble is that would mean I'd have to have the binary storage version working first. :-) Still, it is a good plan and I will try. I do want to help with the text version as well though. I have several simple DB needs that it could solve very nicely. I will review dbms.r so I understand what you have already done better. Thanks! Rod. Rod Gaither Oak Ridge, NC - USA [rgaither--triad--rr--com]