do_mysql 0.2.4 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,67 +0,0 @@
1
- %module mysql_c
2
- %{
3
- #include <mysql.h>
4
- #include <errmsg.h>
5
- #include <mysqld_error.h>
6
-
7
- VALUE mysql_c_fetch_field_names(MYSQL_RES *reader, int count) {
8
- VALUE arr = rb_ary_new();
9
- int i;
10
- for(i = 0; i < count; i++) {
11
- rb_ary_push(arr, rb_str_new2(mysql_fetch_field_direct(reader, i)->name));
12
- }
13
- return arr;
14
- }
15
-
16
- VALUE mysql_c_fetch_field_types(MYSQL_RES *reader, int count) {
17
- VALUE arr = rb_ary_new();
18
- int i;
19
- for(i = 0; i < count; i++) {
20
- rb_ary_push(arr, INT2NUM(mysql_fetch_field_direct(reader, i)->type));
21
- }
22
- return arr;
23
- }
24
-
25
- VALUE mysql_c_fetch_row(MYSQL_RES *reader) {
26
- VALUE arr = rb_ary_new();
27
- MYSQL_ROW result = (MYSQL_ROW)mysql_fetch_row(reader);
28
- if(!result) return Qnil;
29
- int i;
30
-
31
- for(i = 0; i < reader->field_count; i++) {
32
- if(result[i] == NULL) rb_ary_push(arr, Qnil);
33
- else rb_ary_push(arr, rb_str_new2(result[i]));
34
- }
35
- return arr;
36
- }
37
-
38
- %}
39
-
40
- %ignore st_mysql_options;
41
- %include "/usr/local/mysql/include/mysql.h"
42
-
43
- VALUE mysql_c_fetch_field_names(MYSQL_RES *reader, int count);
44
- VALUE mysql_c_fetch_field_types(MYSQL_RES *reader, int count);
45
- VALUE mysql_c_fetch_row(MYSQL_RES *reader);
46
-
47
- enum enum_field_types { MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY,
48
- MYSQL_TYPE_SHORT, MYSQL_TYPE_LONG,
49
- MYSQL_TYPE_FLOAT, MYSQL_TYPE_DOUBLE,
50
- MYSQL_TYPE_NULL, MYSQL_TYPE_TIMESTAMP,
51
- MYSQL_TYPE_LONGLONG,MYSQL_TYPE_INT24,
52
- MYSQL_TYPE_DATE, MYSQL_TYPE_TIME,
53
- MYSQL_TYPE_DATETIME, MYSQL_TYPE_YEAR,
54
- MYSQL_TYPE_NEWDATE, MYSQL_TYPE_VARCHAR,
55
- MYSQL_TYPE_BIT,
56
- MYSQL_TYPE_NEWDECIMAL=246,
57
- MYSQL_TYPE_ENUM=247,
58
- MYSQL_TYPE_SET=248,
59
- MYSQL_TYPE_TINY_BLOB=249,
60
- MYSQL_TYPE_MEDIUM_BLOB=250,
61
- MYSQL_TYPE_LONG_BLOB=251,
62
- MYSQL_TYPE_BLOB=252,
63
- MYSQL_TYPE_VAR_STRING=253,
64
- MYSQL_TYPE_STRING=254,
65
- MYSQL_TYPE_GEOMETRY=255
66
-
67
- };