D3

Ben Duncan bns
Mon Nov 13 10:50:28 PST 2006


'Cause NOTHING exists already like it out there?

Anyway, It is MULTI Keyed meaning any field can be a key,
but primary and unique key is the first one, the rest
can have dups, supports multi valuing of fields, like the
PICK database engine. Also, the the Engine is TEXT based
but a schema layout will cause conversion to/from the
scheme defined layout.

As far as "existing" dbm's, there are really NO FOSS based
ISAM dbm's already out there.

Simple to use API is needed as well:

OPEN (file) (modes - read, I/O and extended)
CLOSE (file)
DELETE (file) - only deletes current record
                 which has to be locked.
LOCK (file) - Locks the whole file
START (file, which_key, key)
READ (file,key, [LOCK/NOLOCK])
READNXT (file,key, [LOCK/NOLOCK])
READPRV (file, [LOCK/NOLOCK])
REWRITE (file) - only current record buffer
                  written out
WRITE (file,key)  - Creates a NEW record

Gets and PUTS to individual FIELDs / Multi Values:

GETATR  (file, field, multi value #)
GETATRX (file, field, multi value #, sub multi value #)
PUTATR  (file, field, multi value #)
PUTATRX (file, field, multi value #, sub multi value #)

Say I wanted to SIMPLY change and address in a customer
record, and adjust period to Date Info,
the syntax would be simply (Pseudo coded):


READ (CUSTOMER, "123456", LOCK) ;
PUTATTR (CUSTOMER, ADDRESS1, 0, "ADDRESS 1");
PUTATTR (CUSTOMER, CITY, 0, "CITY");
PUTATTR (CUSTOMER, STATE, 0, "ST");
PUTATTR (CUSTOMER, PTD, YEAR, 12345.56);
PUTATTR (CUSTOMER, PTD, MONTH, 123.45);
REWRITE (CUSTOMER) ;


... and we are done ...




Michael Hipp wrote:
> Ben Duncan wrote:
> 
>>Seems like my hold up is the MVISAM database, just have not had time to
>>work on it since putting food on the table is #1 priority. Maybe I ought
>>to get one of those $300 per month programmers from Panama, David B. keeps
>>talking about to help work on it ;-> ....
> 
> 
> Forgive me for asking but why are you writing your own database? There 
> are numerous open source databases. Many of them have very permissive 
> licenses.
> 
> I like writing software, but building my own DBMS wouldn't make the 
> short list, the long list or any list at all. For starters, it's very 
> *hard* to do correctly.
> 
> Just curious...
> 
> Michael
-- 
Ben Duncan   - Business Network Solutions, Inc. 336 Elton Road  Jackson MS, 39212
"Never attribute to malice, that which can be adequately explained by stupidity"
        - Hanlon's Razor




More information about the Linux-users mailing list