   };
   
   
-Only in pyodbc-2.1.12v/src: virtuoso.cpp
-Only in pyodbc-2.1.12v/src: virtuoso.h
-Only in pyodbc-2.1.12v: temp
-Only in pyodbc-2.1.12v/tests: dbapi20.pyc
-diff -c -r pyodbc-2.1.12/tests/mysqltests.py pyodbc-2.1.12v/tests/mysqltests.py
+diff -c -N -r pyodbc-2.1.12/src/virtuoso.cpp pyodbc-2.1.12v/src/virtuoso.cpp
+*** pyodbc-2.1.12/src/virtuoso.cpp	1969-12-31 19:00:00.000000000 -0500
+--- pyodbc-2.1.12v/src/virtuoso.cpp	2011-12-19 12:58:09.000000000 -0500
+***************
+*** 0 ****
+--- 1,34 ----
++ #include "pyodbc.h"
++ #include "virtuoso.h"
++ 
++ bool
++ isVirtuoso(HDBC hdbc)
++ {
++     char buf[0x1000];
++     SQLSMALLINT len;
++     SQLRETURN ret;
++ 
++     ret = SQLGetInfo(hdbc, (SQLUSMALLINT)SQL_DBMS_NAME, buf, sizeof(buf), &len);
++     if (!SQL_SUCCEEDED(ret))
++ 	return false;
++     if (!strncasecmp(buf, "OpenLink Virtuoso", sizeof(buf))) {
++ 	return true;
++     }
++ 
++     return false;
++ }
++ 
++ bool
++ isSPASQL(PyObject *pSql)
++ {
++     char *query = PyString_AS_STRING(pSql);
++ 
++     if (!query)
++ 	return false;
++     while (*query && isspace(*query))
++ 	query++;
++ 
++     if (!strncasecmp(query, "SPARQL", 6))
++ 	return true;
++     return false;
++ }
+diff -c -N -r pyodbc-2.1.12/src/virtuoso.h pyodbc-2.1.12v/src/virtuoso.h
+*** pyodbc-2.1.12/src/virtuoso.h	1969-12-31 19:00:00.000000000 -0500
+--- pyodbc-2.1.12v/src/virtuoso.h	2012-05-16 10:20:04.000000000 -0400
+***************
+*** 0 ****
+--- 1,53 ----
++ #ifndef VIRTUOSO_H
++ #define VIRTUOSO_H
++ 
++ #ifdef HAVE_IODBC
++ #include <iodbcext.h>
++ #endif
++ 
++ /*
++  *  Include Virtuoso ODBC extensions for SPASQL result set
++  */
++ #if !defined (SQL_DESC_COL_DV_TYPE)
++ 
++ /*
++  *  ODBC extensions for SQLGetDescField
++  */
++ # define SQL_DESC_COL_DV_TYPE               1057L
++ # define SQL_DESC_COL_DT_DT_TYPE            1058L
++ # define SQL_DESC_COL_LITERAL_ATTR          1059L
++ # define SQL_DESC_COL_BOX_FLAGS             1060L
++ # define SQL_DESC_COL_LITERAL_LANG          1061L
++ # define SQL_DESC_COL_LITERAL_TYPE          1062L
++ 
++ /*
++  *  Virtuoso - ODBC SQL_DESC_COL_DV_TYPE
++  */
++ 
++ # define VIRTUOSO_DV_ANY  242
++ # define VIRTUOSO_DV_DATE  129
++ # define VIRTUOSO_DV_DATETIME  211
++ # define VIRTUOSO_DV_DB_NULL  204
++ # define VIRTUOSO_DV_DOUBLE_FLOAT  191
++ # define VIRTUOSO_DV_IRI_ID  243
++ # define VIRTUOSO_DV_LONG_INT  189
++ # define VIRTUOSO_DV_NUMERIC  219
++ # define VIRTUOSO_DV_RDF  246
++ # define VIRTUOSO_DV_SINGLE_FLOAT  190
++ # define VIRTUOSO_DV_STRING  182
++ # define VIRTUOSO_DV_TIME  210
++ # define VIRTUOSO_DV_TIMESTAMP  128
++ 
++ /*
++  *  Virtuoso - ODBC SQL_DESC_COL_DT_DT_TYPE
++  */
++ # define VIRTUOSO_DT_TYPE_DATETIME          1
++ # define VIRTUOSO_DT_TYPE_DATE              2
++ # define VIRTUOSO_DT_TYPE_TIME              3
++ 
++ #endif /* SQL_DESC_COL_DV_TYPE */
++ 
++ bool isVirtuoso(HDBC);
++ bool isSPASQL(PyObject *);
++ 
++ #endif /* VIRTUOSO_H */
+diff -c -N -r pyodbc-2.1.12/tests/mysqltests.py pyodbc-2.1.12v/tests/mysqltests.py
 *** pyodbc-2.1.12/tests/mysqltests.py	2011-10-17 08:45:30.000000000 -0400
 --- pyodbc-2.1.12v/tests/mysqltests.py	2011-12-19 15:08:39.000000000 -0500
-***************
-*** 420,425 ****
---- 420,426 ----
-          self.cursor.execute("create table t1(d bigint)")
-          self.cursor.execute("insert into t1 values (?)", input)
-          result = self.cursor.execute("select d from t1").fetchone()[0]
-+         print input, result
-          self.assertEqual(result, input)
-  
-      def test_float(self):
 ***************
 *** 430,436 ****
           self.assertEquals(result, value)

      SQLRETURN ret;
      Py_BEGIN_ALLOW_THREADS
      ret = SQLSetStmtAttr(cursor->hstmt, SQL_ATTR_NOSCAN, (SQLPOINTER)noscan, 0);
diff -c -r pyodbc-2.1.12/src/cursor.h pyodbc-2.1.12v/src/cursor.h
*** pyodbc-2.1.12/src/cursor.h	2011-10-17 08:45:30.000000000 -0400
--- pyodbc-2.1.12v/src/cursor.h	2011-12-19 11:52:50.000000000 -0500
***************

  
      // Output conversions.  Maps from SQL type in conv_types to the converter function in conv_funcs.
      //
diff -c -N -r pyodbc-2.1.12/src/cursor.cpp pyodbc-2.1.12v/src/cursor.cpp
*** pyodbc-2.1.12/src/cursor.cpp	2011-10-17 08:45:30.000000000 -0400
--- pyodbc-2.1.12v/src/cursor.cpp	2011-12-19 13:40:30.000000000 -0500
***************
