![]() |
![]() |
![]() |
GNOME Data Access manual | ![]() |
---|---|---|---|---|
GdaValueGdaValue — Single value stored in a GdaDataModel |
#define TIMEZONE_INVALID enum GdaValueType; GdaDate; GdaGeometricPoint; GdaMoney; GdaNumeric; GdaTime; GdaTimestamp; typedef GdaValueList; typedef GdaValue; #define GDA_TYPE_VALUE GType gda_value_convert_gdatype_to_gtype (GdaValueType type); GdaValueType gda_value_convert_gtype_to_gdatype (GType type); 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 (guchar *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_gdatype (GdaValueType 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 GdaBinary* gda_value_get_binary (GdaValue *value); void gda_value_set_binary (GdaValue *value, const GdaBinary *binary); 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); GdaValueType gda_value_get_gdatype (GValue *value); void gda_value_set_gdatype (GValue *value, GdaValueType 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;
GType gda_value_convert_gdatype_to_gtype (GdaValueType type);
Converts type
to its GType equivalent. This function does the opposite of the
gda_value_convert_gtype_to_gdatype()
function. See the gda_value_convert_gtype_to_gdatype()
function's documentation for more information.
type : |
a GdaValueType |
Returns : | the converted type. |
GdaValueType gda_value_convert_gtype_to_gdatype (GType type);
As a GdaValue is a GValue, all the GValue functions returning information on the type of value stored in the GdaValue will return a GType which can be converted into a GdaValueType.
Converts type
to the corresponding GdaValueType. This function does the opposite of the
gda_value_convert_gdatype_to_gtype()
function.
type : |
a GType type |
Returns : | the converted type. |
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 (guchar *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_gdatype (GdaValueType val);
Makes a new GdaValue of type GDA_VALUE_TYPE_TYPE 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 GdaBinary* gda_value_get_binary (GdaValue *value);
value : |
a GdaValue whose value we want to get. |
Returns : | the value stored in value .
|
void gda_value_set_binary (GdaValue *value, const GdaBinary *binary);
Stores val
into value
.
value : |
a GdaValue that will store val .
|
binary : |
a GdaBinary structure with the data and its size to be stored in value .
|
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 .
|
void gda_value_set_gdatype (GValue *value, GdaValueType val);
value : |
|
val : |
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: