do_mysql 0.2.4 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +48 -25
- data/TODO +4 -0
- data/ext/do_mysql_ext.c +807 -0
- data/ext/extconf.rb +51 -50
- data/lib/do_mysql.rb +20 -252
- data/lib/do_mysql/transaction.rb +44 -0
- data/spec/integration/do_mysql_spec.rb +241 -0
- data/spec/integration/logging_spec.rb +51 -0
- data/spec/integration/quoting_spec.rb +37 -0
- data/spec/spec_helper.rb +131 -0
- data/spec/unit/transaction_spec.rb +35 -0
- metadata +60 -50
- data/README +0 -4
- data/ext/mysql_c.c +0 -16602
- data/ext/mysql_c.i +0 -67
data/ext/mysql_c.i
DELETED
@@ -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
|
-
};
|