From: ttate@... Date: 1999-07-30T00:31:58+09:00 Subject: [ruby-list:15717] Re: about postgres-0.5.1 立石です。 Date: Thu, 29 Jul 1999 22:08:11 +0900 From: kawakami kawakami> ruby: can't resolve symbol 'obj_as_string' kawakami> ruby: can't resolve symbol 'ary_push' kawakami> ruby: can't resolve symbol 'ArgError' kawakami> psql.rb:19:in `require': Unable to resolve symbol - /usr/local/lib/ruby/1.3/i586 kawakami> -linux/postgres.so (LoadError) kawakami> from psql.rb:19 確かに、1.3へ移行しきれていない部分があったようです。 以下パッチです。 ;; 自分の環境ではなぜかエラーがでなかったのですが、、、、(@_@; Takaaki Tateishi --- postgres.c.orig Fri Jul 30 00:10:28 1999 +++ postgres.c Fri Jul 30 00:20:54 1999 @@ -244,7 +244,7 @@ struct RArray *sub = (struct RArray*)values->ptr[i]; buffer[0] = 0; for (j=0; jlen; j++) { - VALUE s = obj_as_string(sub->ptr[j]); + VALUE s = rb_obj_as_string(sub->ptr[j]); if (j > 0) strncat(buffer, "\t", MAX_BUFFER_SIZE-strlen(buffer)); strncat(buffer, RSTRING(s)->ptr, MAX_BUFFER_SIZE-strlen(buffer)); } @@ -521,7 +521,7 @@ n = PQnfields(result); ary = rb_ary_new2(n); for (i=0;i= PQnfields(result)) { - ArgError("invalid field number %d", i); + rb_raise(rb_eArgError,"invalid field number %d", i); } name = PQfname(result, i); return rb_str_new2(name); @@ -572,7 +572,7 @@ n = PQfnumber(get_pgresult(obj), (const char *)RSTRING(name)->ptr); if (n == -1) { - ArgError("Unknown field: %s", (const char *)RSTRING(name)->ptr); + rb_raise(rb_eArgError,"Unknown field: %s", (const char *)RSTRING(name)->ptr); } return INT2NUM(n); } @@ -587,7 +587,7 @@ result = get_pgresult(obj); if (i < 0 || i >= PQnfields(result)) { - ArgError("invalid field number %d", i); + rb_raise(rb_eArgError,"invalid field number %d", i); } type = PQftype(result, i); return INT2NUM(type); @@ -603,7 +603,7 @@ result = get_pgresult(obj); if (i < 0 || i >= PQnfields(result)) { - ArgError("invalid field number %d", i); + rb_raise(rb_eArgError,"invalid field number %d", i); } size = PQfsize(result, i); return INT2NUM(size); @@ -619,10 +619,10 @@ result = get_pgresult(obj); if (i < 0 || i >= PQntuples(result)) { - ArgError("invalid tuple number %d", i); + rb_raise(rb_eArgError,"invalid tuple number %d", i); } if (j < 0 || j >= PQnfields(result)) { - ArgError("invalid field number %d", j); + rb_raise(rb_eArgError,"invalid field number %d", j); } return rb_str_new2(PQgetvalue(result, i, j)); } @@ -637,10 +637,10 @@ result = get_pgresult(obj); if (i < 0 || i >= PQntuples(result)) { - ArgError("invalid tuple number %d", i); + rb_raise(rb_eArgError,"invalid tuple number %d", i); } if (j < 0 || j >= PQnfields(result)) { - ArgError("invalid field number %d", j); + rb_raise(rb_eArgError,"invalid field number %d", j); } return INT2FIX(PQgetlength(result, i, j)); }