in R/R/storedProcedureScripting.R [113:174]
handleTailParams <- function(inputParams, outputParams)
{
inDataString <- c()
outDataString <- c()
paramString <- c()
overallParams <- c()
makeString <- function(name, d, output = "")
{
rType <- d[[name]]
if (tolower(rType) == "dataframe")
{
if (output=="")
{
c(paste0("@input_data_1 = @", name, "_outer"),
paste0("@input_data_1_name = N'", name, "'"))
}
else
{
c(paste0("@output_data_1_name = N'", name, "'"))
}
}
else
{
sqlType <- getSqlType(rType)
overallParams <<- c(overallParams, paste0("@", name, " ", sqlType, output))
paste0("@", name, " = ", "@", name, "_outer", output)
}
}
for(name in names(inputParams))
{
rType <- inputParams[[name]]
if (tolower(rType) == "dataframe")
{
inDataString <- c(makeString(name, inputParams))
}
else
{
paramString <- c(paramString, makeString(name, inputParams))
}
}
for(name in names(outputParams))
{
rType <- outputParams[[name]]
if (tolower(rType) == "dataframe")
{
outDataString <- c(makeString(name, outputParams, " output"))
}
else
{
paramString <- c(paramString, makeString(name, outputParams, " output"))
}
}
if (length(overallParams) > 0)
{
overallParams <- paste0(overallParams, collapse = ", ")
overallParams <- paste0("@params = N'" , overallParams,"'")
}
return(paste0(c(inDataString, outDataString, overallParams, paramString), collapse = ",\n"))
}