@@ -7,7 +7,8 @@ showProgress=getOption("datatable.showProgress",interactive()), data.table=getOp
77nThread = getDTthreads(verbose ), logical01 = getOption(" datatable.logical01" ,FALSE ),
88logicalYN = getOption(" datatable.logicalYN" , FALSE ),
99keepLeadingZeros = getOption(" datatable.keepLeadingZeros" ,FALSE ),
10- yaml = FALSE , tmpdir = tempdir(), tz = " UTC" )
10+ yaml = FALSE , tmpdir = tempdir(), tz = " UTC" ,
11+ no.integer64.message = getOption(" datatable.integer64.message" , FALSE ))
1112{
1213 if (missing(input )+ is.null(file )+ is.null(text )+ is.null(cmd ) < 3L ) stopf(" Used more than one of the arguments input=, file=, text= and cmd=." )
1314 input_has_vars = length(all.vars(substitute(input )))> 0L # see news for v1.11.6
@@ -261,13 +262,26 @@ yaml=FALSE, tmpdir=tempdir(), tz="UTC")
261262 if (identical(tt ," " ) || is_utc(tt )) # empty TZ env variable ("") means UTC in C library, unlike R; _unset_ TZ means local
262263 tz = " UTC"
263264 }
265+
264266 ans = .Call(CfreadR ,input ,identical(input ,file ),sep ,dec ,quote ,header ,nrows ,skip ,na.strings ,strip.white ,blank.lines.skip ,comment.char ,
265267 fill ,showProgress ,nThread ,verbose ,warnings2errors ,logical01 ,logicalYN ,select ,drop ,colClasses ,integer64 ,encoding ,keepLeadingZeros ,tz == " UTC" )
266268 if (! length(ans )) return (null.data.table()) # test 1743.308 drops all columns
267269 nr = length(ans [[1L ]])
268270 require_bit64_if_needed(ans )
269271 setattr(ans ," row.names" ,.set_row_names(nr ))
270272
273+ # integer64 message on create - instead of warning
274+ if (! isTRUE(no.integer64.message ) &&
275+ identical(integer64 , " integer64" ) &&
276+ any(vapply(ans , function (x ) inherits(x , " integer64" ), logical (1L )))) {
277+ message(
278+ " fread: Creating one or more integer64 columns.
279+ See ?fread and ?bit64::integer64.
280+ To suppress this message, use no.integer64.message=TRUE.
281+ To avoid integer64 columns, use options(datatable.integer64='numeric')."
282+ )
283+ }
284+
271285 if (isTRUE(data.table )) {
272286 setattr(ans , " class" , c(" data.table" , " data.frame" ))
273287 setalloccol(ans )
0 commit comments