# exportPattern("^[^\\.]")
useDynLib(PivotalR)
import(methods, Matrix)

export("db.connect", "db.disconnect", "db.list")

export ("conn.pkg", "host", "dbname", "user", "dbms",
        "schema.madlib", "madlib.version", "madlib", "lookat")

export ("db.data.frame", "as.db.data.frame")

exportClasses ("db.obj", "db.Rquery", "db.data.frame",
               "db.table", "db.view", "db.Rcrossprod",
               "db.Rview")

export("as.db.Rview")

exportMethods ("dim", "names", "names<-")

export ("content", "conn.id", "conn.id<-", "conn")

exportMethods ("print", "show")

export ("is.db.data.frame", "arraydb.to.arrayr")

export ("madlib.lm", "summary.lm.madlib",
        "print.lm.madlib", "show.lm.madlib", "summary.lm.madlib.grps",
        "print.lm.madlib.grps", "show.lm.madlib.grps")

export ("madlib.glm", "summary.logregr.madlib",
        "print.logregr.madlib", "show.logregr.madlib",
        "summary.logregr.madlib.grps",
        "print.logregr.madlib.grps", "show.logregr.madlib.grps")

export("predict.lm.madlib", "predict.logregr.madlib",
       "predict.lm.madlib.grps", "predict.logregr.madlib.grps")

# export sample in the future
# export ("sample")

exportMethods("$", "[[", "[", "subset")

exportMethods("$<-", "[[<-")
export("[<-.db.obj")

exportMethods("as.factor")

export("delete", "key", "key<-")

exportMethods("is.factor")

exportMethods("sort", "merge", "by", "summary")

exportMethods("==", "!=", "+", "-", "*", "/", "^", "%%", "%/%",
              ">", "<", ">=", "<=", "&", "|", "!")

export("conn.eql")

export("eql")

export("madlib.summary", "print.summary.madlib", "show.summary.madlib")

export("db.objects", "db.existsObject")

export("count")
exportMethods("mean", "sum", "max", "min")
export("sd", "var")

exportMethods("sample")

export("generic.cv", "generic.bagging", "predict.bagging.model")
exportMethods("colMeans", "colSums")
export("colAgg", "db.array")
export("crossprod", "unique")
export("exp", "log", "log10", "abs", "factorial", "sign", "sqrt")
export ("PivotalR", "pivotalr", "print.none.obj")

exportMethods("scale")
export("groups", "groups.lm.madlib", "groups.logregr.madlib",
      "groups.lm.madlib.grps", "groups.logregr.madlib.grps")

exportMethods("cbind2")

export("cbind")

export("madlib.arima")

export("summary.arima.css.madlib", "print.arima.css.madlib",
       "predict.arima.css.madlib", "show.arima.css.madlib")

export("clean.madlib.temp")

export("db.default.schemas", "db.search.path")

export("residuals.lm.madlib", "residuals.lm.madlib.grps",
       "residuals.logregr.madlib", "residuals.logregr.madlib.grps")

S3method(logLik, logregr.madlib)
S3method(logLik, logregr.madlib.grps)
S3method(logLik, lm.madlib)
S3method(logLik, lm.madlib.grps)

S3method(extractAIC, logregr.madlib)
S3method(extractAIC, logregr.madlib.grps)
S3method(extractAIC, lm.madlib)
S3method(extractAIC, lm.madlib.grps)

S3method(AIC, lm.madlib.grps)
S3method(AIC, logregr.madlib.grps)

S3method(as.data.frame, db.table)
S3method(as.data.frame, db.view)
S3method(as.data.frame, db.Rquery)

S3method(as.environment, db.obj)
S3method(with, db.obj)

S3method(coef, logregr.madlib)
S3method(coef, logregr.madlib.grps)
S3method(coef, lm.madlib)
S3method(coef, lm.madlib.grps)

exportMethods("as.integer", "as.character",
              "as.logical", "as.numeric", "as.Date")

export("as.double", "as.time", "as.timestamp", "as.interval", "db.date.style")

export("lk", "col.types")

export("madlib.elnet", "summary.elnet.madlib",
       "print.elnet.madlib", "predict.elnet.madlib")

exportMethods("sin", "cos", "tan", "asin", "acos", "atan",
              "atan2")

export("grepl")

exportMethods("as.list")

export("array.len")

exportMethods("na.omit")

export("db.q", "db", ".db")

export("vcov.lm.madlib", "vcov.lm.madlib.grps",
       "vcov.logregr.madlib.grps", "vcov.logregr.madlib")

exportMethods("ifelse", "rowSums", "rowMeans")

exportMethods("relevel")
export("margins", "margins.lm.madlib", "margins.lm.madlib.grps",
       "margins.logregr.madlib", "margins.logregr.madlib.grps",
       "print.margins")

export("Vars", "Terms")
