From 4ecd5099276e90e2840ff0100bdbed9edcf6f4e2 Mon Sep 17 00:00:00 2001
From: detule <ogjoneski@gmail.com>
Date: Sun, 29 Dec 2024 10:58:40 -0500
Subject: [PATCH] Snowflake/driver class (#865)

* snowflake(): instantiates object inheriting from OdbcDriver

* roxygenize

---------

Co-authored-by: simonpcouch <simonpatrickcouch@gmail.com>
---
 NAMESPACE            | 1 +
 R/driver-snowflake.R | 8 ++++++--
 man/snowflake.Rd     | 6 ++++--
 3 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/NAMESPACE b/NAMESPACE
index 8bcfdaed..3b816d37 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -44,6 +44,7 @@ exportClasses(PostgreSQL)
 exportClasses(Redshift)
 exportClasses(SQLite)
 exportClasses(Snowflake)
+exportClasses(SnowflakeOdbcDriver)
 exportClasses(Teradata)
 exportMethods(dbAppendTable)
 exportMethods(dbBegin)
diff --git a/R/driver-snowflake.R b/R/driver-snowflake.R
index a74c8440..07a2108a 100644
--- a/R/driver-snowflake.R
+++ b/R/driver-snowflake.R
@@ -152,13 +152,17 @@ setMethod("odbcDataType", "Snowflake",
 #' }
 #' @export
 snowflake <- function() {
-  new("Snowflake")
+  new("SnowflakeOdbcDriver")
 }
 
+#' @rdname snowflake
+#' @export
+setClass("SnowflakeOdbcDriver", contains = "OdbcDriver")
+
 #' @rdname snowflake
 #' @export
 setMethod(
-  "dbConnect", "Snowflake",
+  "dbConnect", "SnowflakeOdbcDriver",
   function(drv,
            account = Sys.getenv("SNOWFLAKE_ACCOUNT"),
            driver = NULL,
diff --git a/man/snowflake.Rd b/man/snowflake.Rd
index 0549804f..571d2258 100644
--- a/man/snowflake.Rd
+++ b/man/snowflake.Rd
@@ -1,13 +1,15 @@
 % Generated by roxygen2: do not edit by hand
 % Please edit documentation in R/driver-snowflake.R
+\docType{class}
 \name{snowflake}
 \alias{snowflake}
-\alias{dbConnect,Snowflake-method}
+\alias{SnowflakeOdbcDriver-class}
+\alias{dbConnect,SnowflakeOdbcDriver-method}
 \title{Helper for connecting to Snowflake via ODBC}
 \usage{
 snowflake()
 
-\S4method{dbConnect}{Snowflake}(
+\S4method{dbConnect}{SnowflakeOdbcDriver}(
   drv,
   account = Sys.getenv("SNOWFLAKE_ACCOUNT"),
   driver = NULL,