+ # if the log is more than 1kB, only keep the last 1kB.
+ # this is to work around a problem that seems to have appeared in R 2.10 causing calloc errors.
+ # if the log is not pruned then we get the following error:
+ #
+ # Error in gsub("(['\"])", "\\1\\1", text) :
+ # Calloc could not allocate (-197080581 of 1) memory
+ # Error in dbGetQuery(con, paste("INSERT OR REPLACE INTO builds", "(package,system,r_version,deb_epoch,deb_revision,db_version,success,date_stamp,time_stamp,scm_revision,log)", :
+ # error in evaluating the argument 'statement' in selecting a method for function 'dbGetQuery'
+
+ log = paste(log,collapse='\n')
+ end = nchar(log)
+ max_log_len = 1024
+ if (end > max_log_len) {
+ log = db_quote(substr(log,end-max_log_len,end))
+ }