![]() |
![]() |
![]() |
GNOME Data Access manual | ![]() |
---|
GdaValueGdaValue — Single value stored in a GdaDataModel |
#define TIMEZONE_INVALID enum GdaValueType; GdaDate; GdaGeometricPoint; GdaMoney; GdaNumeric; GdaTime; GdaTimestamp; typedef GdaValueList; GdaValue; #define GDA_TYPE_VALUE GType gda_value_get_gtype (void); GdaValue* gda_value_new_null (void); GdaValue* gda_value_new_bigint (gint64 val); GdaValue* gda_value_new_biguint (guint64 val); GdaValue* gda_value_new_binary (gconstpointer val, glong size); GdaValue* gda_value_new_blob (const GdaBlob *val); GdaValue* gda_value_new_boolean (gboolean val); GdaValue* gda_value_new_date (const GdaDate *val); GdaValue* gda_value_new_double (gdouble val); GdaValue* gda_value_new_geometric_point (const GdaGeometricPoint *val); GdaValue* gda_value_new_gobject (const GObject *val); GdaValue* gda_value_new_integer (gint val); GdaValue* gda_value_new_list (const GdaValueList *val); GdaValue* gda_value_new_money (const GdaMoney *val); GdaValue* gda_value_new_numeric (const GdaNumeric *val); GdaValue* gda_value_new_single (gfloat val); GdaValue* gda_value_new_smallint (gshort val); GdaValue* gda_value_new_smalluint (gushort val); GdaValue* gda_value_new_string (const gchar *val); GdaValue* gda_value_new_time (const GdaTime *val); GdaValue* gda_value_new_timestamp (const GdaTimestamp *val); GdaValue* gda_value_new_timestamp_from_timet (time_t val); GdaValue* gda_value_new_tinyint (gchar val); GdaValue* gda_value_new_tinyuint (guchar val); GdaValue* gda_value_new_uinteger (guint val); GdaValue* gda_value_new_from_string (const gchar *as_string, GdaValueType type); GdaValue* gda_value_new_from_xml (const xmlNodePtr node); void gda_value_free (GdaValue *value); GdaValueType gda_value_get_type (GdaValue *value); #define gda_value_isa (value,type) gboolean gda_value_is_null (GdaValue *value); gboolean gda_value_is_number (GdaValue *value); GdaValue* gda_value_copy (GdaValue *value); gint64 gda_value_get_bigint (GdaValue *value); void gda_value_set_bigint (GdaValue *value, gint64 val); guint64 gda_value_get_biguint (GdaValue *value); void gda_value_set_biguint (GdaValue *value, guint64 val); const gpointer gda_value_get_binary (GdaValue *value, glong *size); void gda_value_set_binary (GdaValue *value, gconstpointer val, glong size); const GdaBlob* gda_value_get_blob (GdaValue *value); void gda_value_set_blob (GdaValue *value, const GdaBlob *val); gboolean gda_value_get_boolean (GdaValue *value); void gda_value_set_boolean (GdaValue *value, gboolean val); const GdaDate* gda_value_get_date (GdaValue *value); void gda_value_set_date (GdaValue *value, const GdaDate *val); gdouble gda_value_get_double (GdaValue *value); void gda_value_set_double (GdaValue *value, gdouble val); const GdaGeometricPoint* gda_value_get_geometric_point (GdaValue *value); void gda_value_set_geometric_point (GdaValue *value, const GdaGeometricPoint *val); const GObject* gda_value_get_gobject (GdaValue *value); void gda_value_set_gobject (GdaValue *value, const GObject *val); gint gda_value_get_integer (GdaValue *value); void gda_value_set_integer (GdaValue *value, gint val); const GdaValueList* gda_value_get_list (GdaValue *value); void gda_value_set_list (GdaValue *value, const GdaValueList *val); void gda_value_set_null (GdaValue *value); const GdaMoney* gda_value_get_money (GdaValue *value); void gda_value_set_money (GdaValue *value, const GdaMoney *val); const GdaNumeric* gda_value_get_numeric (GdaValue *value); void gda_value_set_numeric (GdaValue *value, const GdaNumeric *val); gfloat gda_value_get_single (GdaValue *value); void gda_value_set_single (GdaValue *value, gfloat val); gshort gda_value_get_smallint (GdaValue *value); void gda_value_set_smallint (GdaValue *value, gshort val); gushort gda_value_get_smalluint (GdaValue *value); void gda_value_set_smalluint (GdaValue *value, gushort val); const gchar* gda_value_get_string (GdaValue *value); void gda_value_set_string (GdaValue *value, const gchar *val); const GdaTime* gda_value_get_time (GdaValue *value); void gda_value_set_time (GdaValue *value, const GdaTime *val); const GdaTimestamp* gda_value_get_timestamp (GdaValue *value); void gda_value_set_timestamp (GdaValue *value, const GdaTimestamp *val); gchar gda_value_get_tinyint (GdaValue *value); void gda_value_set_tinyint (GdaValue *value, gchar val); guchar gda_value_get_tinyuint (GdaValue *value); void gda_value_set_tinyuint (GdaValue *value, guchar val); guint gda_value_get_uinteger (GdaValue *value); void gda_value_set_uinteger (GdaValue *value, guint val); gboolean gda_value_set_from_string (GdaValue *value, const gchar *as_string, GdaValueType type); gboolean gda_value_set_from_value (GdaValue *value, const GdaValue *from); gint gda_value_compare (GdaValue *value1, GdaValue *value2); gchar* gda_value_stringify (GdaValue *value); xmlNodePtr gda_value_to_xml (GdaValue *value);
libgda manages each individual value within an opaque GdaValue structure (which is in fact a GValue). Each GdaValue has a pre-defined type which is among the GdaValueType possible types.
The NULL value is a special case value. It corresponds to a zero-filled (uninitialized) GValue, and it is safe to use such values.
typedef enum { GDA_VALUE_TYPE_NULL, GDA_VALUE_TYPE_BIGINT, GDA_VALUE_TYPE_BIGUINT, GDA_VALUE_TYPE_BINARY, GDA_VALUE_TYPE_BLOB, GDA_VALUE_TYPE_BOOLEAN, GDA_VALUE_TYPE_DATE, GDA_VALUE_TYPE_DOUBLE, GDA_VALUE_TYPE_GEOMETRIC_POINT, GDA_VALUE_TYPE_GOBJECT, GDA_VALUE_TYPE_INTEGER, GDA_VALUE_TYPE_LIST, GDA_VALUE_TYPE_MONEY, GDA_VALUE_TYPE_NUMERIC, GDA_VALUE_TYPE_SINGLE, GDA_VALUE_TYPE_SMALLINT, GDA_VALUE_TYPE_SMALLUINT, GDA_VALUE_TYPE_STRING, GDA_VALUE_TYPE_TIME, GDA_VALUE_TYPE_TIMESTAMP, GDA_VALUE_TYPE_TINYINT, GDA_VALUE_TYPE_TINYUINT, GDA_VALUE_TYPE_TYPE, GDA_VALUE_TYPE_UINTEGER, GDA_VALUE_TYPE_UNKNOWN } GdaValueType;
GDA_VALUE_TYPE_NULL |
represents a NULL value |
GDA_VALUE_TYPE_BIGINT |
signed integer guaranteed to be 64 bits on all platforms on which it is available (see G_HAVE_GINT64). Values of this type can range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. |
GDA_VALUE_TYPE_BIGUINT |
unsigned integer guaranteed to be 64 bits on all platforms on which it is available (see G_HAVE_GINT64). Values of this type can range from 0 to 18,446,744,073,709,551,615. |
GDA_VALUE_TYPE_BINARY |
represents binary data: a buffer and its length |
GDA_VALUE_TYPE_BLOB |
To be removed |
GDA_VALUE_TYPE_BOOLEAN |
standard boolean type |
GDA_VALUE_TYPE_DATE |
date type (Year, month, day) |
GDA_VALUE_TYPE_DOUBLE |
standard C double type |
GDA_VALUE_TYPE_GEOMETRIC_POINT |
a 2D point (x, y) |
GDA_VALUE_TYPE_GOBJECT |
fundamental type for GObject |
GDA_VALUE_TYPE_INTEGER |
standard C int type |
GDA_VALUE_TYPE_LIST |
a list (GList) of GdaValue values |
GDA_VALUE_TYPE_MONEY |
type to hold money values (a currency and a value as a double) |
GDA_VALUE_TYPE_NUMERIC |
arbitrary precision numerical value (string plus precision and width) |
GDA_VALUE_TYPE_SINGLE |
standard C float type |
GDA_VALUE_TYPE_SMALLINT |
standard C short type |
GDA_VALUE_TYPE_SMALLUINT |
standard C unsigned short type |
GDA_VALUE_TYPE_STRING |
a string (0 terminated array of characters) |
GDA_VALUE_TYPE_TIME |
time type (HH:MM:SS) |
GDA_VALUE_TYPE_TIMESTAMP |
date and time type |
GDA_VALUE_TYPE_TINYINT |
standard C char type |
GDA_VALUE_TYPE_TINYUINT |
standard C unsigned char type |
GDA_VALUE_TYPE_TYPE |
value which represents a GdaValueType |
GDA_VALUE_TYPE_UINTEGER |
standard C unsigned int type |
GDA_VALUE_TYPE_UNKNOWN |
undefined data type, can't be instanciated as it represents an error |
typedef struct { gushort hour; gushort minute; gushort second; glong timezone; /* # of seconds to the east UTC */ } GdaTime;
typedef struct { gshort year; gushort month; gushort day; gushort hour; gushort minute; gushort second; gulong fraction; glong timezone; /* # of seconds to the east UTC */ } GdaTimestamp;
typedef struct { GdaValueType type; union { gint64 v_bigint; guint64 v_biguint; gpointer v_binary; GdaBlob v_blob; gboolean v_boolean; GdaDate v_date; gdouble v_double; GdaGeometricPoint v_point; GObject *v_gobj; gint v_integer; GdaValueList *v_list; GdaMoney v_money; GdaNumeric v_numeric; gfloat v_single; gshort v_smallint; gushort v_smalluint; gchar *v_string; GdaTime v_time; GdaTimestamp v_timestamp; gchar v_tinyint; guchar v_tinyuint; GdaValueType v_type; guint v_uinteger; } value; glong binary_length; } GdaValue;
GdaValue* gda_value_new_null (void);
Makes a new GdaValue of type GDA_VALUE_TYPE_NULL.
Returns : | the newly created GdaValue. |
GdaValue* gda_value_new_bigint (gint64 val);
Makes a new GdaValue of type GDA_VALUE_TYPE_BIGINT with value val
.
GdaValue* gda_value_new_biguint (guint64 val);
Makes a new GdaValue of type GDA_VALUE_TYPE_BIGUINT with value val
.
GdaValue* gda_value_new_binary (gconstpointer val, glong size);
Makes a new GdaValue of type GDA_VALUE_TYPE_BINARY with value val
.
GdaValue* gda_value_new_boolean (gboolean val);
Makes a new GdaValue of type GDA_VALUE_TYPE_BOOLEAN with value val
.
GdaValue* gda_value_new_date (const GdaDate *val);
Makes a new GdaValue of type GDA_VALUE_TYPE_DATE with value val
.
GdaValue* gda_value_new_double (gdouble val);
Makes a new GdaValue of type GDA_VALUE_TYPE_DOUBLE with value val
.
GdaValue* gda_value_new_geometric_point (const GdaGeometricPoint *val);
Makes a new GdaValue of type GDA_VALUE_TYPE_GEOMETRIC_POINT with value
val
.
GdaValue* gda_value_new_gobject (const GObject *val);
Makes a new GdaValue of type GDA_VALUE_TYPE_GOBJECT with value val
.
GdaValue* gda_value_new_integer (gint val);
Makes a new GdaValue of type GDA_VALUE_TYPE_INTEGER with value val
.
GdaValue* gda_value_new_list (const GdaValueList *val);
Makes a new GdaValue of type GDA_VALUE_TYPE_LIST with value val
.
GdaValue* gda_value_new_numeric (const GdaNumeric *val);
Makes a new GdaValue of type GDA_VALUE_TYPE_NUMERIC with value val
.
GdaValue* gda_value_new_single (gfloat val);
Makes a new GdaValue of type GDA_VALUE_TYPE_SINGLE with value val
.
GdaValue* gda_value_new_smallint (gshort val);
Makes a new GdaValue of type GDA_VALUE_TYPE_SMALLINT with value val
.
GdaValue* gda_value_new_smalluint (gushort val);
Makes a new GdaValue of type GDA_VALUE_TYPE_SMALLUINT with value val
.
GdaValue* gda_value_new_string (const gchar *val);
Makes a new GdaValue of type GDA_VALUE_TYPE_STRING with value val
.
GdaValue* gda_value_new_timestamp (const GdaTimestamp *val);
Makes a new GdaValue of type GDA_VALUE_TYPE_TIMESTAMP with value val
.
GdaValue* gda_value_new_timestamp_from_timet (time_t val);
Makes a new GdaValue of type GDA_VALUE_TYPE_TIMESTAMP with value val
(of type time_t).
GdaValue* gda_value_new_tinyint (gchar val);
Makes a new GdaValue of type GDA_VALUE_TYPE_TINYINT with value val
.
GdaValue* gda_value_new_tinyuint (guchar val);
Makes a new GdaValue of type GDA_VALUE_TYPE_TINYUINT with value val
.
GdaValue* gda_value_new_uinteger (guint val);
Makes a new GdaValue of type GDA_VALUE_TYPE_UINTEGER with value val
.
GdaValue* gda_value_new_from_string (const gchar *as_string, GdaValueType type);
Makes a new GdaValue of type type
from its string representation.
as_string : |
stringified representation of the value. |
type : |
the new value type. |
Returns : | the newly created GdaValue or NULL if the string representation
cannot be converted to the specified type .
|
GdaValue* gda_value_new_from_xml (const xmlNodePtr node);
Creates a GdaValue from a XML representation of it. That XML node corresponds to the following string representation: <value type="gdatype">value</value>
node : |
a XML node representing the value. |
Returns : | the newly created GdaValue. |
void gda_value_free (GdaValue *value);
Deallocates all memory associated to a GdaValue.
value : |
the resource to free. |
GdaValueType gda_value_get_type (GdaValue *value);
Retrieves the type of the given value.
value : |
value to get the type from. |
Returns : | the GType of the value. |
#define gda_value_isa(value,type) (gda_value_get_type (value) == type)
value : |
|
type : |
gboolean gda_value_is_null (GdaValue *value);
Tests if a given value
is of type GDA_VALUE_TYPE_NULL.
value : |
value to test. |
Returns : | a boolean that says whether or not value is of type
GDA_VALUE_TYPE_NULL.
|
gboolean gda_value_is_number (GdaValue *value);
Gets whether the value stored in the given GdaValue is of numeric type or not.
value : |
a GdaValue. |
Returns : | TRUE if a number, FALSE otherwise.
|
GdaValue* gda_value_copy (GdaValue *value);
Creates a new GdaValue from an existing one.
value : |
value to get a copy from. |
Returns : | a newly allocated GdaValue with a copy of the data in value .
|
gint64 gda_value_get_bigint (GdaValue *value);
Gets the value stored in value
.
value : |
a GdaValue whose value we want to get. |
Returns : | the value contained in value .
|
void gda_value_set_bigint (GdaValue *value, gint64 val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
guint64 gda_value_get_biguint (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_biguint (GdaValue *value, guint64 val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
const gpointer gda_value_get_binary (GdaValue *value, glong *size);
value : |
a GdaValue whose value we want to get. |
size : |
holder for length of data. |
Returns : | the value stored in value .
|
void gda_value_set_binary (GdaValue *value, gconstpointer val, glong size);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
size : |
the size of the memory pool pointed to by val .
|
const GdaBlob* gda_value_get_blob (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_blob (GdaValue *value, const GdaBlob *val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
gboolean gda_value_get_boolean (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_boolean (GdaValue *value, gboolean val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
const GdaDate* gda_value_get_date (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_date (GdaValue *value, const GdaDate *val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
gdouble gda_value_get_double (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_double (GdaValue *value, gdouble val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
const GdaGeometricPoint* gda_value_get_geometric_point (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_geometric_point (GdaValue *value, const GdaGeometricPoint *val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
const GObject* gda_value_get_gobject (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_gobject (GdaValue *value, const GObject *val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
gint gda_value_get_integer (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_integer (GdaValue *value, gint val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
const GdaValueList* gda_value_get_list (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_list (GdaValue *value, const GdaValueList *val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
void gda_value_set_null (GdaValue *value);
Sets the type of value
to GDA_VALUE_TYPE_NULL.
value : |
a GdaValue that will store a value of type GDA_VALUE_TYPE_NULL. |
const GdaMoney* gda_value_get_money (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_money (GdaValue *value, const GdaMoney *val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
const GdaNumeric* gda_value_get_numeric (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_numeric (GdaValue *value, const GdaNumeric *val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
gfloat gda_value_get_single (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_single (GdaValue *value, gfloat val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
gshort gda_value_get_smallint (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_smallint (GdaValue *value, gshort val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
gushort gda_value_get_smalluint (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_smalluint (GdaValue *value, gushort val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
const gchar* gda_value_get_string (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_string (GdaValue *value, const gchar *val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
const GdaTime* gda_value_get_time (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_time (GdaValue *value, const GdaTime *val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
const GdaTimestamp* gda_value_get_timestamp (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_timestamp (GdaValue *value, const GdaTimestamp *val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
gchar gda_value_get_tinyint (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_tinyint (GdaValue *value, gchar val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
guchar gda_value_get_tinyuint (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_tinyuint (GdaValue *value, guchar val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
guint gda_value_get_uinteger (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_uinteger (GdaValue *value, guint val);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
val : |
value to be stored in value .
|
gboolean gda_value_set_from_string (GdaValue *value, const gchar *as_string, GdaValueType type);
value : |
|
as_string : |
|
type : |
|
Returns : |
gboolean gda_value_set_from_value (GdaValue *value, const GdaValue *from);
Sets the value of a GdaValue from another GdaValue. This
is different from gda_value_copy, which creates a new GdaValue.
gda_value_set_from_value, on the other hand, copies the contents
of copy
into value
, which must already be allocated.
value : |
a GdaValue. |
from : |
the value to copy from. |
Returns : | TRUE if successful, FALSE otherwise.
|
gint gda_value_compare (GdaValue *value1, GdaValue *value2);
Compares two values of the same type.
gchar* gda_value_stringify (GdaValue *value);
Converts a GdaValue to its string representation as indicated by this table:
<< Configuration | GdaClient >> |