Class: GDA::SQL::Provider

Inherits:
Object
  • Object
show all
Defined in:
ext/gda/gda_provider.c

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.find(string) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'ext/gda/gda_provider.c', line 25

static VALUE find(VALUE klass, VALUE string)
{
    GdaServerProvider * pr;
    GError * error = NULL;

    pr = gda_config_get_provider(StringValuePtr(string), &error);

    if (pr)
	return TypedData_Wrap_Struct(klass, &provider_type, pr);
    else {
	/* FIXME: should actually raise an error here. */
	g_error_free(error);
	return Qnil;
    }
}

Instance Method Details

#nameObject



17
18
19
20
21
22
23
# File 'ext/gda/gda_provider.c', line 17

static VALUE name(VALUE self)
{
    GdaServerProvider * pr;
    TypedData_Get_Struct(self, GdaServerProvider, &provider_type, pr);

    return rb_str_new2(gda_server_provider_get_name(pr));
}

#parserObject



41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'ext/gda/gda_provider.c', line 41

static VALUE parser(VALUE self)
{
    GdaSqlParser * parser;
    GdaServerProvider * pr;

    TypedData_Get_Struct(self, GdaServerProvider, &provider_type, pr);

    parser = gda_server_provider_create_parser(pr, NULL);

    if (!parser)
	rb_raise(rb_eRuntimeError, "zomglol");

    return gda_parser_wrap(cParser, parser);
}

#quote(str) ⇒ Object



56
57
58
59
60
61
62
# File 'ext/gda/gda_provider.c', line 56

static VALUE quote_str(VALUE self, VALUE str)
{
    GdaServerProvider * pr;

    TypedData_Get_Struct(self, GdaServerProvider, &provider_type, pr);
    return rb_str_new2(gda_sql_identifier_quote(StringValuePtr(str), NULL, pr, TRUE, TRUE));
}