Advertisement
Guest User

Untitled

a guest
Mar 21st, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.84 KB | None | 0 0
  1. --- RJDBC0.2-6/R/class.R 2017-02-07 21:38:59.000000000 +0100
  2. +++ RJDBC0.2-6mod/R/class.R 2017-03-22 02:39:42.000000000 +0100
  3. @@ -37,18 +37,12 @@
  4. setMethod("dbUnloadDriver", "JDBCDriver", def=function(drv, ...) FALSE)
  5.  
  6. setMethod("dbConnect", "JDBCDriver", def=function(drv, url, user='', password='', ...) {
  7. - jc <- .jcall("java/sql/DriverManager","Ljava/sql/Connection;","getConnection", as.character(url)[1], as.character(user)[1], as.character(password)[1], check=FALSE)
  8. - if (is.jnull(jc) && !is.jnull(drv@jdrv)) {
  9. - # ok one reason for this to fail is its interaction with rJava's
  10. - # class loader. In that case we try to load the driver directly.
  11. - oex <- .jgetEx(TRUE)
  12. - p <- .jnew("java/util/Properties")
  13. - if (length(user)==1 && nchar(user)) .jcall(p,"Ljava/lang/Object;","setProperty","user",user)
  14. - if (length(password)==1 && nchar(password)) .jcall(p,"Ljava/lang/Object;","setProperty","password",password)
  15. - l <- list(...)
  16. - if (length(names(l))) for (n in names(l)) .jcall(p, "Ljava/lang/Object;", "setProperty", n, as.character(l[[n]]))
  17. - jc <- .jcall(drv@jdrv, "Ljava/sql/Connection;", "connect", as.character(url)[1], p)
  18. - }
  19. + p <- .jnew("java/util/Properties")
  20. + if (length(user)==1 && nchar(user)) .jcall(p,"Ljava/lang/Object;","setProperty","user",user)
  21. + if (length(password)==1 && nchar(password)) .jcall(p,"Ljava/lang/Object;","setProperty","password",password)
  22. + l <- list(...)
  23. + if (length(names(l))) for (n in names(l)) .jcall(p, "Ljava/lang/Object;", "setProperty", n, as.character(l[[n]]))
  24. + jc <- .jcall("java/sql/DriverManager","Ljava/sql/Connection;","getConnection", as.character(url)[1], p)
  25. .verify.JDBC.result(jc, "Unable to connect JDBC to ",url)
  26. new("JDBCConnection", jc=jc, identifier.quote=drv@identifier.quote)},
  27. valueClass="JDBCConnection")
  28. @@ -77,7 +71,7 @@
  29.  
  30. setMethod("dbSendQuery", signature(conn="JDBCConnection", statement="character"), def=function(conn, statement, ..., list=NULL) {
  31. statement <- as.character(statement)[1L]
  32. - ## if the statement starts with {call or {?= call then we use CallableStatement
  33. + ## if the statement starts with {call or {?= call then we use CallableStatement
  34. if (isTRUE(as.logical(grepl("^\\{(call|\\?= *call)", statement)))) {
  35. s <- .jcall(conn@jc, "Ljava/sql/CallableStatement;", "prepareCall", statement, check=FALSE)
  36. .verify.JDBC.result(s, "Unable to execute JDBC callable statement ",statement)
  37. @@ -97,7 +91,7 @@
  38. .verify.JDBC.result(s, "Unable to create simple JDBC statement ",statement)
  39. r <- .jcall(s, "Ljava/sql/ResultSet;", "executeQuery", as.character(statement)[1], check=FALSE)
  40. .verify.JDBC.result(r, "Unable to retrieve JDBC result set for ",statement)
  41. - }
  42. + }
  43. md <- .jcall(r, "Ljava/sql/ResultSetMetaData;", "getMetaData", check=FALSE)
  44. .verify.JDBC.result(md, "Unable to retrieve JDBC result set meta data for ",statement, " in dbSendQuery")
  45. new("JDBCResult", jr=r, md=md, stat=s, pull=.jnull())
  46. @@ -107,7 +101,7 @@
  47.  
  48. setMethod("dbSendUpdate", signature(conn="JDBCConnection", statement="character"), def=function(conn, statement, ..., list=NULL, max.batch=10000L) {
  49. statement <- as.character(statement)[1L]
  50. - ## if the statement starts with {call or {?= call then we use CallableStatement
  51. + ## if the statement starts with {call or {?= call then we use CallableStatement
  52. if (isTRUE(as.logical(grepl("^\\{(call|\\?= *call)", statement)))) {
  53. s <- .jcall(conn@jc, "Ljava/sql/CallableStatement;", "prepareCall", statement, check=FALSE)
  54. .verify.JDBC.result(s, "Unable to execute JDBC callable statement ",statement)
  55. @@ -362,7 +356,6 @@
  56. l$data.type[i] <- if (ct == -5 | ct ==-6 | (ct >= 2 & ct <= 8)) "numeric" else "character"
  57. l$field.name[i] <- .jcall(res@md, "S", "getColumnName", i)
  58. }
  59. - as.data.frame(l, row.names=1:cols)
  60. + as.data.frame(l, row.names=1:cols)
  61. },
  62. valueClass = "data.frame")
  63. -
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement