File: [cvs.NetBSD.org] / pkgsrc / databases / sqlrelay / patches / Attic / patch-src_api_ruby_sqlrelay.cpp (download)
Revision 1.1, Mon Jun 12 17:06:18 2017 UTC (6 years, 10 months ago) by taca
Branch: MAIN
CVS Tags: pkgsrc-2022Q3-base, pkgsrc-2022Q3, pkgsrc-2022Q2-base, pkgsrc-2022Q2, pkgsrc-2022Q1-base, pkgsrc-2022Q1, pkgsrc-2021Q4-base, pkgsrc-2021Q4, pkgsrc-2021Q3-base, pkgsrc-2021Q3, pkgsrc-2021Q2-base, pkgsrc-2021Q2, pkgsrc-2021Q1-base, pkgsrc-2021Q1, pkgsrc-2020Q4-base, pkgsrc-2020Q4, pkgsrc-2020Q3-base, pkgsrc-2020Q3, pkgsrc-2020Q2-base, pkgsrc-2020Q2, pkgsrc-2020Q1-base, pkgsrc-2020Q1, pkgsrc-2019Q4-base, pkgsrc-2019Q4, pkgsrc-2019Q3-base, pkgsrc-2019Q3, pkgsrc-2019Q2-base, pkgsrc-2019Q2, pkgsrc-2019Q1-base, pkgsrc-2019Q1, pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3, pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1, pkgsrc-2017Q4-base, pkgsrc-2017Q4, pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2
Add fix for Ruby 2.4 and later.
|
$NetBSD: patch-src_api_ruby_sqlrelay.cpp,v 1.1 2017/06/12 17:06:18 taca Exp $
Fix for Ruby 2.4 and later.
--- src/api/ruby/sqlrelay.cpp.orig 2016-12-20 08:40:41.000000000 +0000
+++ src/api/ruby/sqlrelay.cpp
@@ -922,9 +922,11 @@ static VALUE sqlrcur_substitution(int ar
Data_Get_Struct(self,sqlrcursor,sqlrcur);
if (rb_obj_is_instance_of(value,rb_cString)==Qtrue) {
sqlrcur->substitution(STR2CSTR(variable),STR2CSTR(value));
- } else if (rb_obj_is_instance_of(value,rb_cBignum)==Qtrue ||
+ } else if (rb_obj_is_instance_of(value,rb_cInteger)==Qtrue ||
+#ifndef RUBY_INTEGER_UNIFICATION
+ rb_obj_is_instance_of(value,rb_cBignum)==Qtrue ||
rb_obj_is_instance_of(value,rb_cFixnum)==Qtrue ||
- rb_obj_is_instance_of(value,rb_cInteger)==Qtrue ||
+#endif
rb_obj_is_instance_of(value,rb_cNumeric)==Qtrue) {
sqlrcur->substitution(STR2CSTR(variable),NUM2INT(value));
} else if (rb_obj_is_instance_of(value,rb_cFloat)==Qtrue) {
@@ -958,9 +960,12 @@ static VALUE sqlrcur_inputBind(int argc,
rb_scan_args(argc,argv,"22",&variable,&value,&precision,&scale);
Data_Get_Struct(self,sqlrcursor,sqlrcur);
if (rb_obj_is_instance_of(value,rb_cString)==Qtrue) {
- if ((rb_obj_is_instance_of(precision,rb_cBignum)==Qtrue ||
+ if ((rb_obj_is_instance_of(precision,rb_cInteger)==Qtrue ||
+
+#ifndef RUBY_INTEGER_UNIFICATION
+ rb_obj_is_instance_of(precision,rb_cBignum)==Qtrue ||
rb_obj_is_instance_of(precision,rb_cFixnum)==Qtrue ||
- rb_obj_is_instance_of(precision,rb_cInteger)==Qtrue ||
+#endif
rb_obj_is_instance_of(precision,rb_cNumeric)==Qtrue) &&
NUM2INT(precision)>0) {
// in this case, the precision parameter is actually
@@ -970,9 +975,11 @@ static VALUE sqlrcur_inputBind(int argc,
} else {
sqlrcur->inputBind(STR2CSTR(variable),STR2CSTR(value));
}
- } else if (rb_obj_is_instance_of(value,rb_cBignum)==Qtrue ||
+ } else if (rb_obj_is_instance_of(value,rb_cInteger)==Qtrue ||
+#ifndef RUBY_INTEGER_UNIFICATION
+ rb_obj_is_instance_of(value,rb_cBignum)==Qtrue ||
rb_obj_is_instance_of(value,rb_cFixnum)==Qtrue ||
- rb_obj_is_instance_of(value,rb_cInteger)==Qtrue ||
+#endif
rb_obj_is_instance_of(value,rb_cNumeric)==Qtrue) {
sqlrcur->inputBind(STR2CSTR(variable),NUM2INT(value));
} else if (rb_obj_is_instance_of(value,rb_cFloat)==Qtrue) {
@@ -1140,9 +1147,11 @@ static VALUE sqlrcur_substitutions(int a
if (rb_obj_is_instance_of(value,rb_cString)==Qtrue) {
sqlrcur->substitution(STR2CSTR(variable),
STR2CSTR(value));
- } else if (rb_obj_is_instance_of(value,rb_cBignum)==Qtrue ||
+ } else if (rb_obj_is_instance_of(value,rb_cInteger)==Qtrue ||
+#ifndef RUBY_INTEGER_UNIFICATION
+ rb_obj_is_instance_of(value,rb_cBignum)==Qtrue ||
rb_obj_is_instance_of(value,rb_cFixnum)==Qtrue ||
- rb_obj_is_instance_of(value,rb_cInteger)==Qtrue ||
+#endif
rb_obj_is_instance_of(value,rb_cNumeric)==Qtrue) {
sqlrcur->substitution(STR2CSTR(variable),
NUM2INT(value));
@@ -1197,9 +1206,11 @@ static VALUE sqlrcur_inputBinds(int argc
}
if (rb_obj_is_instance_of(value,rb_cString)==Qtrue) {
sqlrcur->inputBind(STR2CSTR(variable),STR2CSTR(value));
- } else if (rb_obj_is_instance_of(value,rb_cBignum)==Qtrue ||
+ } else if (rb_obj_is_instance_of(value,rb_cInteger)==Qtrue ||
+#ifndef RUBY_INTEGER_UNIFICATION
+ rb_obj_is_instance_of(value,rb_cBignum)==Qtrue ||
rb_obj_is_instance_of(value,rb_cFixnum)==Qtrue ||
- rb_obj_is_instance_of(value,rb_cInteger)==Qtrue ||
+#endif
rb_obj_is_instance_of(value,rb_cNumeric)==Qtrue) {
sqlrcur->inputBind(STR2CSTR(variable),NUM2INT(value));
} else if (rb_obj_is_instance_of(value,rb_cFloat)==Qtrue) {