aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--R/load_cf.R32
1 files changed, 18 insertions, 14 deletions
diff --git a/R/load_cf.R b/R/load_cf.R
index b4bba964..16a88b7e 100644
--- a/R/load_cf.R
+++ b/R/load_cf.R
@@ -330,12 +330,13 @@ save(cusipdata, cfdata, file=file.path(save.dir, "cashflows.RData"),
sqlstring <- paste0("UPDATE et_deal_model_numbers SET ",
"wapbasis = $1 WHERE dealname= $2 AND updatedate = $3")
for(dealname in names(cfdata)){
- tryCatch(dbGetQuery(etdb, sqlstring, params = list(cfdata[[dealname]]$wapbasis*100,
- dealname,
- tradedate)),
- error = function(w) {
- logerror(w$message)
- })
+ r <- tryCatch(dbSendQuery(etdb, sqlstring, params = list(cfdata[[dealname]]$wapbasis*100,
+ dealname,
+ tradedate)),
+ error = function(w) {
+ logerror(w$message)
+ })
+ dbClearResult(r)
}
## upload model data
@@ -347,7 +348,7 @@ for(cusip in names(cusipdata)){
error = function(w) logerror(w$message))
columns <- c("price", "wal", "duration", "delta", "mvoc", "mvcoverage")
values <- cusipdata[[cusip]][match(columns, names(cusipdata[[cusip]]))]
- if(nrow(sqldata) && (tradedate %in% as.Date(sqldata$updatedate))){
+ if(nrow(sqldata) && (tradedate %in% as.Date(sqldata$updatedate))) {
params <- c(values, cusip, as.character(tradedate))
sqlstring <- paste0("UPDATE et_cusip_model_numbers SET price=$1, wal=$2, duration=$3,",
"delta=$4, mvoc=$5, mvcoverage=$6 WHERE cusip=$7 and updatedate=$8")
@@ -358,26 +359,29 @@ for(cusip in names(cusipdata)){
paste(names(params), collapse=","),
paste(paste0("$", 1:length(params)), collapse=","))
}
- tryCatch(dbGetQuery(etdb, sqlstring, params=params),
- error = function(e) logerror(e$message))
+ names(params) <- NULL
+ r <- tryCatch(dbSendQuery(etdb, sqlstring, params=params),
+ error = function(e) logerror(e$message))
+ dbClearResult(r)
identifier <- tryCatch(dbGetQuery(dawndb, "SELECT identifier from securities WHERE cusip=$1",
params=list(cusip)),
error = function(e) logerror(e$message))
identifier <- if(nrow(identifier)>0) identifier$identifier else NULL
- if(!is.null(identifier)){
- if(nrow(sqldata) && (tradedate %in% as.Date(sqldata$updatedate))){
+ if(!is.null(identifier)) {
+ if(nrow(sqldata) && (tradedate %in% as.Date(sqldata$updatedate))) {
params <- c(values[1:4], identifier, as.character(tradedate))
sqlstring <- paste0("UPDATE risk_numbers SET model_price=$1, wal=$2, duration=$3,",
"index_delta='HY',delta=$4 WHERE identifier=$5 and date=$6")
- }else{
+ } else {
sqlstring <- paste0("INSERT INTO risk_numbers(identifier, date, index_delta,",
"model_price, wal, duration, delta) ",
"VALUES($1, $2, $3, $4, $5, $6, $7)")
params <- c(identifier, as.character(tradedate), 'HY', values[1:4])
}
- tryCatch(dbGetQuery(dawndb, sqlstring, params=params),
- error = function(w) logerror(w$message))
+ r <- tryCatch(dbSendQuery(dawndb, sqlstring, params=params),
+ error = function(w) logerror(w$message))
+ dbClearResult(r)
}
}
dbDisconnect(dawndb)