Relation
A GRelation
is a table of data which can be indexed on any number of fields, rather like simple database tables. A GRelation
contains a number of records, called tuples. Each record contains a number of fields. Records are not ordered, so it is not possible to find the record at a particular index.
Note that GRelation
tables are currently limited to 2 fields.
To create a GRelation
, use func@GLib.Relation.new.
To specify which fields should be indexed, use method@GLib.Relation.index. Note that this must be called before any tuples are added to the GRelation
.
To add records to a GRelation
use method@GLib.Relation.insert.
To determine if a given record appears in a GRelation
, use method@GLib.Relation.exists. Note that fields are compared directly, so pointers must point to the exact same position (i.e. different copies of the same string will not match.)
To count the number of records which have a particular value in a given field, use method@GLib.Relation.count.
To get all the records which have a particular value in a given field, use method@GLib.Relation.select. To access fields of the resulting records, use method@GLib.Tuples.index. To free the resulting records use method@GLib.Tuples.destroy.
To delete all records which have a particular value in a given field, use method@GLib.Relation.delete.
To destroy the GRelation
, use method@GLib.Relation.destroy.
To help debug GRelation
objects, use method@GLib.Relation.print.
GRelation
has been marked as deprecated, since this API has never been fully implemented, is not very actively maintained and rarely used.
Skipped during bindings generation
method
exists
: Varargs parameter is not supportedparameter
hash_func
: HashFuncmethod
insert
: Varargs parameter is not supportedfunction
new
: Return type Relation is unsupported