Re: [gnome-db] What DWI does [was Re: GnuCash page on GO site]
- From: Andrew Hill <dru treshna com>
- To: Rodrigo Moya <rodrigo gnome-db org>
- Cc: Dru <andru treshna com>, Linas Vepstas <linas linas org>,	Charles Goodwin <charlie xwt org>, Derek Atkins <warlord MIT EDU>,	Josh Sled <jsled-gnomeoffice asynchronous org>, gtk-list gnome org,	gnome-db-list gnome org
- Subject: Re: [gnome-db] What DWI does [was Re: GnuCash page on GO site]
- Date: Mon, 08 Mar 2004 03:31:49 +1300
Rodrigo Moya wrote:
On Sun, 2004-03-07 at 20:30 +1300, Dru wrote:
 
gnomedb widgets need ability easy ability to popualte widgets from 
non-libda sources (proberly already possible).
   
you just have to write a GdaDataModel-based class that access the non-
libgda sources. Or you can just create a GdaDataModelArray, for
instance, from the non-libgda source. Not sure if those are the easiest
ways, do you have any better idea?
I thought about a bonddb -> GdaDataModel mapping tool.  Would proberly 
work as long as signals still work well on widgets and its easy to get 
information back out of gdadata.
with possible tie-ins on 
sorting etc.  libgda api needs to be able to return field information 
attributes.
   
it already does return a lot of information per field. I know there are
still some of the bugs you opened not fixed. Is that the missing
information you're talking about?
 
Yip. this is the major one:
http://bugzilla.gnome.org/show_bug.cgi?id=81590
also these ones also.
http://bugzilla.gnome.org/show_bug.cgi?id=81589
http://bugzilla.gnome.org/show_bug.cgi?id=81587
I was gonna add this to bugzilla at some point, here are some useful 
libpq functions i currently use. I can write code to get around lack of 
them.
|
PQftable();
Allows you to find out which table a field belongs to in an sql 
statement. Way to get around it is to use the libsql parser and guess.
PQoidValue();
Gives you the oid of the last record inserted. Can be got around if you 
know the primary keys and the defaults of the primary keys in advance. I 
explained details of this in previous email.
|
API is a bit complex and messy compared with other simplier
data access libraries.  It has other things in there that proberly 
shoulnd't be sitting in libgda, though i imagine this is because of 
having to support a range of datbases and not just simply SQL.
   
could you ellaborate on this please? I'd like to hear any comments about
what you think is wrong
 
Am i allowed to suggest breaking api compatiability?  your current 
libgda api is rather big. Its kinda like everything low level ended up 
there. I think you should have a lower level library for sql queries or 
move some stuff out of libgda. a libgda_sqldb
library? (could have seperate directories for files and statically link 
them into one libgda library)
And its got a lot of complexicties to it. It would be nice to just have 
something sweet and simple and fast.
Its a bit confusing on initialisation of connections, do you use 
GdaConnection or GdaClient to establish connections?
What does a GdaDataModel contain? Does it store information not 
recordset related, ie stuff for libgnomedb, should they be another new 
object which is higher up in api. the cvs and xml stuff, could that be 
in a file from gdadatamodel?
The append row,insert stuff, does that stuff work, ie do a select 
statement, then are able to append and update rows?
I found this quite complicated to write and many c files. 
The xml stuff i've never used. it looks useful but could it be in a 
libgda_xml library? Its got its own connectors functions etc. If you 
using xml databases shouldnt it be a provider in itself? And have a 
libgdb_xml for doing xml queries.
if your connected to a non sqlstandard langauge, can it convert sql to 
standard sql if you run a sql statement? Ok this doesn't make things 
simplier but more complicated.  but it makes life a lot easier.
Is gda-value needed? What does gda-parameters do for sql statements?  
Whats difference between gda-command and gda connection for sending 
commands to db? Do gda-logging and gda-error both perform similar functions?
Notifiers are nice but i'd like it to happen manually. Not automatically 
update a gdadatamodel. leave it in the log or connection info that this 
record set is in need of a refresh.  Or set callback functions on 
notifiers (proberly does this i just dont know how). 
gdaexport properly doesn't need to be in access library either. thats 
more of a tool.  likewise for GdaSelect.
Memory freeing api functions. Where are they?  Consitent names for 
freeing where possible.
Unforuntly most libraries leak memory. I have this bond app + gtk 1.4 + 
libpq, and it very slowly leaks memory, a lot less than bond2 app + gtk 
2.4 + libpq however. Anyway, the programme runs for about 80 days or so 
under heavy usuage until it runs out of memory (only 64mbs of ram on 
machine its on). anyway , point is, memory leaks are nasty. esp when 
apps stop segfaulting and users never quit out.
gtk-config, all of that does config file handling?
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]