]> git.saurik.com Git - wxWidgets.git/commitdiff
Applied patch [ 566816 ] adds xBase type for Sequiter's SQL/ODBC
authorJulian Smart <julian@anthemion.co.uk>
Fri, 16 Aug 2002 12:43:07 +0000 (12:43 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Fri, 16 Aug 2002 12:43:07 +0000 (12:43 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/db.h
src/common/db.cpp
src/common/dbtable.cpp

index 16d239a63b75f52a8192178a6083cc2a6232b3ae..cebf1e45798cacf3f419e5ed2c2a094e9bbb9a5f 100644 (file)
@@ -452,7 +452,8 @@ enum wxDBMS
     dbmsVIRTUOSO,
     dbmsDB2,
     dbmsINTERBASE,
-    dbmsPERVASIVE_SQL
+    dbmsPERVASIVE_SQL,
+    dbmsXBASE_SEQUITER
 };
 
 
index 15160d59514e31454a27b222fbc636ce1c8a69f4..085e6cad5c015efb0af0544aba20d766e685032b 100644 (file)
@@ -562,7 +562,8 @@ const wxChar *wxDb::convertUserID(const wxChar *userID, wxString &UserID)
         UserID.Empty();
 
     // dBase does not use user names, and some drivers fail if you try to pass one
-    if (Dbms() == dbmsDBASE)
+    if ( Dbms() == dbmsDBASE
+         || Dbms() == dbmsXBASE_SEQUITER )
         UserID.Empty();
 
     // Oracle user names may only be in uppercase, so force
@@ -3498,6 +3499,9 @@ wxDBMS wxDb::Dbms(void)
     if (!wxStricmp(baseName,wxT("DBASE")))
         return((wxDBMS)(dbmsType = dbmsDBASE));
 
+    if (!wxStricmp(baseName,wxT("xBase")))
+        return((wxDBMS)(dbmsType = dbmsXBASE_SEQUITER));
+    
     if (!wxStricmp(baseName,wxT("MySQL")))
         return((wxDBMS)(dbmsType = dbmsMY_SQL));
 
@@ -3565,6 +3569,7 @@ bool wxDb::ModifyColumn(const wxString &tableName, const wxString &columnName,
         case dbmsPOSTGRES :
         case dbmsACCESS :
         case dbmsDBASE :
+        case dbmsXBASE_SEQUITER :
         default :
             alterSlashModify = "MODIFY";
             break;
index 49e2c2348db14234dc13c3314ce11f534fe1c93b..03d947568a02750862c11b3ae5e54e3927571228 100644 (file)
@@ -1417,7 +1417,9 @@ bool wxDbTable::CreateTable(bool attemptDrop)
             break;
         }
     }
-    if (j && pDb->Dbms() != dbmsDBASE)  // Found a keyfield
+    if (j && (pDb->Dbms() != dbmsDBASE) 
+                 && (pDb->Dbms() != dbmsXBASE_SEQUITER)
+          )  // Found a keyfield
     {
         switch (pDb->Dbms())
         {
@@ -1711,7 +1713,8 @@ bool wxDbTable::DropIndex(const wxString &idxName)
                        pDb->SQLTableName(idxName.c_str()).c_str(),
                        pDb->SQLTableName(tableName.c_str()).c_str());
     else if ((pDb->Dbms() == dbmsMS_SQL_SERVER) ||
-             (pDb->Dbms() == dbmsSYBASE_ASE))
+             (pDb->Dbms() == dbmsSYBASE_ASE) ||
+                        (pDb->Dbms() == dbmsXBASE_SEQUITER))
         sqlStmt.Printf(wxT("DROP INDEX %s.%s"),
                        pDb->SQLTableName(tableName.c_str()).c_str(),
                        pDb->SQLTableName(idxName.c_str()).c_str());