@@ -73,7 +73,7 @@ bmerge = function(i, x, icols, xcols, roll, rollends, nomatch, mult, ops, verbos
7373 next
7474 } else {
7575 if (x_merge_type == " character" ) {
76- coerce_col(i , icol , " factor" , " character" , iname , xname , verbose = verbose )
76+ coerce_col(i , icol , " factor" , " character" , iname , xname , verbose = verbose )
7777 set(callersi , j = icol , value = i [[icol ]]) # factor in i joining to character in x will return character and not keep x's factor; e.g. for antaresRead #3581
7878 next
7979 } else if (i_merge_type == " character" ) {
@@ -94,11 +94,11 @@ bmerge = function(i, x, icols, xcols, roll, rollends, nomatch, mult, ops, verbos
9494 cfl = c(" character" , " logical" , " factor" )
9595 if (x_merge_type %chin % cfl || i_merge_type %chin % cfl ) {
9696 if (anyNA(i [[icol ]]) && allNA(i [[icol ]])) {
97- coerce_col(i , icol , i_merge_type , x_merge_type , iname , xname , gettext(" (all-NA)" ), verbose = verbose )
97+ coerce_col(i , icol , i_merge_type , x_merge_type , iname , xname , from_detail = gettext(" (all-NA)" ), verbose = verbose )
9898 next
9999 }
100100 if (anyNA(x [[xcol ]]) && allNA(x [[xcol ]])) {
101- coerce_col(x , xcol , x_merge_type , i_merge_type , xname , iname , gettext(" (all-NA)" ), verbose = verbose )
101+ coerce_col(x , xcol , x_merge_type , i_merge_type , xname , iname , to_detail = gettext(" (all-NA)" ), verbose = verbose )
102102 next
103103 }
104104 stopf(" Incompatible join types: %s (%s) and %s (%s)" , xname , x_merge_type , iname , i_merge_type )
@@ -107,8 +107,8 @@ bmerge = function(i, x, icols, xcols, roll, rollends, nomatch, mult, ops, verbos
107107 nm = c(iname , xname )
108108 if (x_merge_type == " integer64" ) { w = i ; wc = icol ; wclass = i_merge_type ; } else { w = x ; wc = xcol ; wclass = x_merge_type ; nm = rev(nm ) } # w is which to coerce
109109 if (wclass == " integer" || (wclass == " double" && fitsInInt64(w [[wc ]]))) {
110- from_det_msg = if (wclass == " double" ) gettext(" (which has integer64 representation, e.g. no fractions)" ) else " "
111- coerce_col(w , wc , wclass , " integer64" , nm [1L ], nm [2L ], from_det_msg , verbose = verbose )
110+ from_detail = if (wclass == " double" ) gettext(" (which has integer64 representation, e.g. no fractions)" ) else " "
111+ coerce_col(w , wc , wclass , " integer64" , nm [1L ], nm [2L ], from_detail , verbose = verbose )
112112 } else stopf(" Incompatible join types: %s is type integer64 but %s is type double and cannot be coerced to integer64 (e.g. has fractions)" , nm [2L ], nm [1L ])
113113 } else {
114114 # just integer and double left
@@ -129,13 +129,13 @@ bmerge = function(i, x, icols, xcols, roll, rollends, nomatch, mult, ops, verbos
129129 }
130130 }
131131 if (coerce_x ) {
132- from_det_msg = gettext(" (which contains no fractions)" )
133- coerce_col(i , icol , " double" , " integer" , iname , xname , from_det_msg , verbose = verbose )
132+ from_detail = gettext(" (which contains no fractions)" )
133+ coerce_col(i , icol , " double" , " integer" , iname , xname , from_detail , verbose = verbose )
134134 set(callersi , j = icol , value = i [[icol ]]) # change the shallow copy of i up in [.data.table to reflect in the result, too.
135135 if (length(ic_idx )> 1L ) {
136136 xc_idx = xcols [ic_idx ]
137137 for (xb in xc_idx [which(vapply_1c(.shallow(x , xc_idx ), mergeType ) == " double" )]) {
138- coerce_col(x , xb , " double" , " integer" , paste0(" x." , names(x )[xb ]), xname , from_det_msg , verbose = verbose )
138+ coerce_col(x , xb , " double" , " integer" , paste0(" x." , names(x )[xb ]), xname , from_detail , verbose = verbose )
139139 }
140140 }
141141 }
@@ -144,11 +144,11 @@ bmerge = function(i, x, icols, xcols, roll, rollends, nomatch, mult, ops, verbos
144144 coerce_col(x , xcol , " integer" , " double" , xname , iname , to_detail = gettext(" (which contains fractions)" ), verbose = verbose )
145145 }
146146 } else {
147- coerce_col(i , icol , " integer" , " double" , iname , xname , gettext(" (for join)" ), verbose = verbose )
147+ coerce_col(i , icol , " integer" , " double" , iname , xname , from_detail = gettext(" (for join)" ), verbose = verbose )
148148 if (length(ic_idx )> 1L ) {
149149 xc_idx = xcols [ic_idx ]
150150 for (xb in xc_idx [which(vapply_1c(.shallow(x , xc_idx ), mergeType ) == " integer" )]) {
151- coerce_col(x , xb , " integer" , " double" , paste0(" x." , names(x )[xb ]), xname , verbose = verbose )
151+ coerce_col(x , xb , " integer" , " double" , paste0(" x." , names(x )[xb ]), xname , verbose = verbose )
152152 }
153153 }
154154 }
0 commit comments