Patrick Spinler <[EMAIL PROTECTED]> writes:
> > > (set! foo (somedb:create-database "/home/rlb/personal-accounts.gnc"))
> > > (somedb:create-table foo ...)
> > > (somedb:create-table foo ...)
> > > (somedb:close-database foo)
> >
> > I do not mean to discourage an SQL back end; I think this would be great.
> > But I think it would be a fundamental mistake to allow either the GUI
> > or the scheme to manipulate the SQL directly as shown above.
I should have been more careful. I really was talking about the
engine side here. I suppose the fact that I wrote it in scheme rather
than C was confusing. I was just thinking in psuedocode, not remotely
something I'd actually stick (as is) in GnuCash.
> Totally agree with you here. There's a strong arguement to be made that
> data storage schema should never be dynamic.
>
> Looked at from a DBA point of view - if you're creating a table for
> anything other than a purely temporary usage (e.g. doing a set join)
> there's something wrong with your application.
OK. Let me totally skin my database ignorance here, but I don't
understand your criticism completely.
In the little hypothetical database library I was describing, you call
a library function to create an empty file (which will hold your
database). Now you have to tell the database library what kind of
data's going to go in that file don't you? You have to tell it what
your "structures" are going to be (i.e. an accounts table perhaps, a
transactions table, etc. (Perhaps I'm using the "table" terminology
improperly...).
--
Rob Browning <[EMAIL PROTECTED]> PGP=E80E0D04F521A094 532B97F5D64E3930
--
Gnucash Developer's List
To unsubscribe send empty email to: [EMAIL PROTECTED]