Hi Henrik,

> number than the dbs call has resulted in, thus causing a "gap", it seems
> like this is a no no.

Right. The file numbers must be continuous.


> (dbs
>    (3 +Server)
>    (3 (+Server ip)))
> 
> (dbs+ 100
>    (4 +Entry)
>    (4 (+Entry tag)) )
> ...
> Works fine if 100 is changed to 3 though.
> 
> This is causing problems for me with the extended framework I'm working on,
> the framework is loading its own E/R structure with a dbs call. The thought
> here is that projects that use the framework will first load it and its
> E/R. Then the project code will add its own E/R through a dbs+ call.

This is fine, and the reason for 'dbs+'.

However, the data structures created by 'dbs' and 'dbs+' are mainly used
for creating _new_ objects, and have no influence on existing objects,
so that changing them for existing databases is not a very good idea and
may cause extensive (re)work (as I explained in my last mail).


> The crux is that since the framework will always be under development it
> might need more database numbers, I was hoping that I could pick some
> arbitrarily high number like 100 as a rule for projects to use in their
> dbs+ calls to ensure that there would never be a collision.

As long as the framework is under heavy development, I would not care
too much about '*Dbs', since performance (optimal distribution of
objects across DB files) is not an issue.


Still you can keep it dynamic in a convenient way, if you keep in mind
the above restrictions and caveats.

I would write:

   (dbs
      ... )

   ...

   (dbs+ (inc (length *Dbs))
      ... )

♪♫ Alex
-- 
UNSUBSCRIBE: mailto:[email protected]?subject=Unsubscribe

Reply via email to