On Tue, 2006-03-28 at 09:25 +0200, Vivien Malerba wrote: > On 3/27/06, Murray Cumming <[EMAIL PROTECTED]> wrote: > > If I do a gda_connection_execute_command() with > > "SELECT * FROM sometable" > > and sometable has a million records, > > > > will libgda get all the data for all the records, or will it only get > > the data from the database when I actually do > > gda_data_model_get_value_at()? > > That depends on the API DBMS provides. Usually (and it's the case for > the Postgres provider), the data resulting from such a query is > transfered to the client memory and then the data model only really > creates the GdaValues from that data when a > gda_data_model_get_value_at() is called. > > However this is not suitable for very large amounts of data. For this > purpose I introduced data models for which data can only be retreived > using an iterator. To be more precise, the values stored in a data > model can: > - either be accessed using only an iterator (no > gda_data_model_get_value_at() then) > - or both using gda_data_model_get_value_at() or iterators: these are > "random access" data models > > The way a data model can be accessed can be retreived using the > gda_data_model_get_access_flags(). > > > > > I am interested in the Postgres backend. > > Now to answer your question properly, the postgres provider always > returns random access data models. > > I'm working on a modification of the API which will allow to specify > which kind of data model the user want to be returned, and then small > modifications to the providers will be required (using declared > cursors in case of the postgres DBMS). > > The code to specify the requested data model type will be in CVS later > this week.
So "random access" means, or causes, "all data transferred over the network at once". and "iterators" means "data transferred on demand" ? This sounds like a very useful feature of the new API. I will try the new API again soon. Many thanks. -- Murray Cumming [EMAIL PROTECTED] www.murrayc.com www.openismus.com _______________________________________________ gnome-db-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-db-list
