Create  Edit  FrontPage  Index  Search  Changes  History  RSS  Login

GdaValueHacking

Gda::Value Hacking

This document describes the plan on how to convert Gda::Value's to Ruby types.

Conversions

Gda::Value#TYPE_BIGINT
LL2NUM()
Gda::Value#TYPE_BUGUINT
ULL2NUM()
Gda::Value#TYPE_BINARY
packed String
Gda::Value#TYPE_BLOB
Convert to Gda::Blob? (via RBGDA_BLOB)
Gda::Value#TYPE_BOOLEAN
CBOOL2RVAL()
Gda::Value#TYPE_DATE
rb_time_new()
Gda::Value#TYPE_DOUBLE
rb_float_new()
Gda::Value#TYPE_GEOMETRIC_POINT
rb_ary_new() or rb_struct_new()
Gda::Value#TYPE_GOBJECT
GObject (some hacking may be necessary)
Gda::Value#TYPE_INTEGER
INT2NUM()
Gda::Value#TYPE_LIST
rb_ary_new()+rb_ary_push()
Gda::Value#TYPE_MONEY
rb_hash_new() or rb_struct_new()
Gda::Value#TYPE_NUMERIC
INT2NUM/UINT2NUM/LL2NUM/ULL2NUM/rb_float_new
Gda::Value#TYPE_NULL
Qnil
Gda::Value#TYPE_SINGLE
rb_float_new()
Gda::Value#TYPE_SMALLINT
INT2FIX()
Gda::Value#TYPE_SMALLUINT
UINT2NUM()
Gda::Value#TYPE_STRING
CSTR2RVAL()
Gda::Value#TYPE_TIME
rb_ary_new() or rb_hash_new() or rb_struct_new()
Gda::Value#TYPE_TIMESTAMP
rb_time_new()
Gda::Value#TYPE_TINYINT
INT2FIX()
Gda::Value#TYPE_TINYUINT
UINT2NUM()
Gda::Value#TYPE_TYPE
Gda::ValueType? constant?
Gda::Value#TYPE_UINTEGER
UINT2NUM()
Gda::Value#TYPE_UNKNOWN
rb_raise(type-error-of-some-kind) ?

-- lone-star

Last modified:2004/01/16 01:30:34
Keyword(s):
References: