midgard_collector

midgard_collector — Optimized database query that doesn't return objects

Synopsis


#include <midgard/midgard.h>

                    MidgardCollectorPrivate;
                    MidgardCollector;
typedef             midgard_collector;
typedef             MidgardCollectorClass;
MidgardCollector *  midgard_collector_new               (MidgardConnection *mgd,
                                                         const gchar *classname,
                                                         const gchar *domain,
                                                         GValue *value);
gboolean            midgard_collector_set_key_property  (MidgardCollector *collector,
                                                         const gchar *key,
                                                         GValue *value);
gboolean            midgard_collector_add_value_property
                                                        (MidgardCollector *collector,
                                                         const gchar *value);
gboolean            midgard_collector_set               (MidgardCollector *collector,
                                                         const gchar *key,
                                                         const gchar *subkey,
                                                         GValue *value);
GData *             midgard_collector_get               (MidgardCollector *collector,
                                                         const gchar *key);
GValue *            midgard_collector_get_subkey        (MidgardCollector *collector,
                                                         const gchar *key,
                                                         const gchar *subkey);
gchar **            midgard_collector_list_keys         (MidgardCollector *self);
gboolean            midgard_collector_merge             (MidgardCollector *self,
                                                         MidgardCollector *mc,
                                                         gboolean overwrite);
gboolean            midgard_collector_remove_key        (MidgardCollector *collector,
                                                         const gchar *key);
void                midgard_collector_destroy           (MidgardCollector *collector);
gboolean            midgard_collector_add_constraint    (MidgardCollector *self,
                                                         const gchar *name,
                                                         const gchar *op,
                                                         const GValue *value);
gboolean            midgard_collector_add_constraint_with_property
                                                        (MidgardCollector *self,
                                                         const gchar *property_a,
                                                         const gchar *op,
                                                         const gchar *property_b);
gboolean            midgard_collector_begin_group       (MidgardCollector *self,
                                                         const gchar *type);
gboolean            midgard_collector_end_group         (MidgardCollector *self);
gboolean            midgard_collector_add_order         (MidgardCollector *self,
                                                         const gchar *name,
                                                         const gchar *dir);
void                midgard_collector_set_offset        (MidgardCollector *self,
                                                         guint offset);
void                midgard_collector_set_limit         (MidgardCollector *self,
                                                         guint limit);
void                midgard_collector_set_lang          (MidgardCollector *self,
                                                         gint lang);
void                midgard_collector_unset_languages   (MidgardCollector *self);
void                midgard_collector_count             (MidgardCollector *self);
gboolean            midgard_collector_execute           (MidgardCollector *self);

Object Hierarchy

  GObject
   +----midgard_query_builder
         +----midgard_collector

Description

The main idea of MidgardCollector is code, resources and data reusability for all data values which are not objects itself and as part of any object could be retrieved from Midgard database without any need to retrieve full objects' records. MidgardCollector is special limited resource data handler and is optimized for performance and data accessibility.

Details

MidgardCollectorPrivate

typedef struct _MidgardCollectorPrivate MidgardCollectorPrivate;


MidgardCollector

typedef struct {
	MidgardQueryBuilder parent;
} MidgardCollector;

http://www.midgard-project.org/development/mrfc/0029.html

Object Hierarchy - GObject - MidgardQueryBuilder - MidgardCollector


midgard_collector

typedef struct _MidgardCollector midgard_collector;


MidgardCollectorClass

typedef struct MidgardCollectorClass MidgardCollectorClass;


midgard_collector_new ()

MidgardCollector *  midgard_collector_new               (MidgardConnection *mgd,
                                                         const gchar *classname,
                                                         const gchar *domain,
                                                         GValue *value);

mgd :

classname :

domain :

value :

Returns :


midgard_collector_set_key_property ()

gboolean            midgard_collector_set_key_property  (MidgardCollector *collector,
                                                         const gchar *key,
                                                         GValue *value);

collector :

key :

value :

Returns :


midgard_collector_add_value_property ()

gboolean            midgard_collector_add_value_property
                                                        (MidgardCollector *collector,
                                                         const gchar *value);

collector :

value :

Returns :


midgard_collector_set ()

gboolean            midgard_collector_set               (MidgardCollector *collector,
                                                         const gchar *key,
                                                         const gchar *subkey,
                                                         GValue *value);

collector :

key :

subkey :

value :

Returns :


midgard_collector_get ()

GData *             midgard_collector_get               (MidgardCollector *collector,
                                                         const gchar *key);

collector :

key :

Returns :


midgard_collector_get_subkey ()

GValue *            midgard_collector_get_subkey        (MidgardCollector *collector,
                                                         const gchar *key,
                                                         const gchar *subkey);

collector :

key :

subkey :

Returns :


midgard_collector_list_keys ()

gchar **            midgard_collector_list_keys         (MidgardCollector *self);

self :

Returns :


midgard_collector_merge ()

gboolean            midgard_collector_merge             (MidgardCollector *self,
                                                         MidgardCollector *mc,
                                                         gboolean overwrite);

self :

mc :

overwrite :

Returns :


midgard_collector_remove_key ()

gboolean            midgard_collector_remove_key        (MidgardCollector *collector,
                                                         const gchar *key);

collector :

key :

Returns :


midgard_collector_destroy ()

void                midgard_collector_destroy           (MidgardCollector *collector);

collector :


midgard_collector_add_constraint ()

gboolean            midgard_collector_add_constraint    (MidgardCollector *self,
                                                         const gchar *name,
                                                         const gchar *op,
                                                         const GValue *value);

self :

name :

op :

value :

Returns :


midgard_collector_add_constraint_with_property ()

gboolean            midgard_collector_add_constraint_with_property
                                                        (MidgardCollector *self,
                                                         const gchar *property_a,
                                                         const gchar *op,
                                                         const gchar *property_b);

self :

property_a :

op :

property_b :

Returns :


midgard_collector_begin_group ()

gboolean            midgard_collector_begin_group       (MidgardCollector *self,
                                                         const gchar *type);

self :

type :

Returns :


midgard_collector_end_group ()

gboolean            midgard_collector_end_group         (MidgardCollector *self);

self :

Returns :


midgard_collector_add_order ()

gboolean            midgard_collector_add_order         (MidgardCollector *self,
                                                         const gchar *name,
                                                         const gchar *dir);

self :

name :

dir :

Returns :


midgard_collector_set_offset ()

void                midgard_collector_set_offset        (MidgardCollector *self,
                                                         guint offset);

self :

offset :


midgard_collector_set_limit ()

void                midgard_collector_set_limit         (MidgardCollector *self,
                                                         guint limit);

self :

limit :


midgard_collector_set_lang ()

void                midgard_collector_set_lang          (MidgardCollector *self,
                                                         gint lang);

self :

lang :


midgard_collector_unset_languages ()

void                midgard_collector_unset_languages   (MidgardCollector *self);

self :


midgard_collector_count ()

void                midgard_collector_count             (MidgardCollector *self);

self :


midgard_collector_execute ()

gboolean            midgard_collector_execute           (MidgardCollector *self);

self :

Returns :