GDA Vala Extensions
This page provides information about Vala and GDA bidings alonge side features developed in Vala, using GDA itself.
Vala Extensions source code, are located at GDA's git source repository.
Is a set of Vala interfaces and classes to allow access to a database components like: records, tables, schemas, and others. Interfaces defines the required properties and methods, allowing any one to implement them using any database engine. Classes are implementations of these interfaces using GDA's Vala bindings; allowing to instance them directly or create derived classes.
Interfaces and classes uses Gee's classes to store data from database or to be saved to. Some properties provides Gee.Collection implementations to allow iterate through its data using standard Vala's foreach statement.
Enable Vala Extensions on GDA
When building GDA from sources you need to use --enable-gda-gi, --enable-vala and --enable-vala-extensions switches in order to get Vala Extensions compiled and be able to install.
Vala Extensions requires GObject Introspection and Vala compiler, versions >=1.3 and >=15.1 respectively, installed including its development files.
This page could provide some code examples and applications. You can get Mallard version from GDA's git documentation repository directory.
In order to generate Vala Extensions documentation, you must use --enable-gtk-doc and have Yelp Help installed.
Interfaces and Classes
Gda's Vala Extensions, are under gda_data namespace on C and GdaData on Vala. All interfaces are designed to have more than one implementation. GdaData provides implementations based on GDA capabilities, not all objects have an interface definition, like database connection uses GdaConnection.
GDA's Vala Extensions classes are instantiable. They implement generic interfaces. Use GDA's Vala bindings to get access to database's data.
They load in memory all required data from database when update() method is called; but you are able to set data without call it and then use save() method to update the database. Methods update() and save() execute SQL commands directly using GDA's database providers.
To create new database objects just setup them and then call append(). To delete it use drop().