[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/kexi/kexidb/drivers
From: Adam Pigg <adam () piggz ! co ! uk>
Date: 2010-01-29 20:48:30
Message-ID: 1264798110.230997.13040.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1082151 by piggz:
Make the sqlite driver use the system install libsqlite3.
Added an initial version check for 3.6.20...feel free to change
Still some TODOs for some commented out sections.
CCMAIL: staniek@kde.org
M +8 -2 CMakeLists.txt
M +2 -2 sqlite/CMakeLists.txt
M +15 -8 sqlite/sqliteconnection.cpp
M +1 -1 sqlite/sqliteconnection_p.h
M +1 -1 sqlite/sqlitedriver.cpp
--- trunk/koffice/kexi/kexidb/drivers/CMakeLists.txt #1082150:1082151
@@ -2,8 +2,14 @@
# drivers will be moved out of this dir in Predicate, and then area will be \
redefined #remove_definitions(-DKDE_DEFAULT_DEBUG_AREA)
#add_definitions(-DKDE_DEFAULT_DEBUG_AREA=44001)
+INCLUDE (FindPkgConfig)
-add_subdirectory( sqlite )
+pkg_check_modules (SQLITE3 REQUIRED sqlite3>=3.6.20)
+
+IF (SQLITE3_FOUND)
+ add_subdirectory( sqlite )
+ENDIF (SQLITE3_FOUND)
+
#ancient add_subdirectory( sqlite2 )
INCLUDE (FindMySQL)
@@ -11,7 +17,7 @@
add_subdirectory( mySQL )
ENDIF (MYSQL_FOUND)
-INCLUDE (FindPkgConfig)
+
INCLUDE (FindPostgreSQL)
set (PQXX_MIN_VERSION "3.0.0")
--- trunk/koffice/kexi/kexidb/drivers/sqlite/CMakeLists.txt #1082150:1082151
@@ -1,6 +1,6 @@
-include_directories( ${CMAKE_SOURCE_DIR}/kexi/3rdparty/kexisql3/src \
${CMAKE_SOURCE_DIR}/kexi ${CMAKE_SOURCE_DIR}/kexi/kexidb ${KDE4_INCLUDES} ) \
+include_directories( ${CMAKE_SOURCE_DIR}/kexi ${CMAKE_SOURCE_DIR}/kexi/kexidb \
${KDE4_INCLUDES} )
ADD_DEFINITIONS( -D__KEXIDB__= )
@@ -22,7 +22,7 @@
-target_link_libraries(kexidb_sqlite3driver ${QT_QT3SUPPORT_LIBRARY} \
${KDE4_KPARTS_LIBS} kexisql3 kexidb kexiutils ) \
+target_link_libraries(kexidb_sqlite3driver ${QT_QT3SUPPORT_LIBRARY} \
${KDE4_KPARTS_LIBS} sqlite3 kexidb kexiutils )
install(TARGETS kexidb_sqlite3driver DESTINATION ${PLUGIN_INSTALL_DIR})
--- trunk/koffice/kexi/kexidb/drivers/sqlite/sqliteconnection.cpp #1082150:1082151
@@ -22,9 +22,9 @@
#include "sqlitecursor.h"
#include "sqlitepreparedstatement.h"
-#include "sqlite.h"
+#include "sqlite3.h"
-#include "kexisql.h" //for isReadOnly()
+//#include "kexisql.h" //for isReadOnly()
#include <kexidb/driver.h>
#include <kexidb/cursor.h>
@@ -166,17 +166,19 @@
// KexiDBDrvDbg << "drv_useDatabase(): " << data()->fileName();
//TODO: perhaps allow to use sqlite3_open16() as well for SQLite ~ 3.3 ?
//! @todo add option (command line or in kexirc?)
- int exclusiveFlag = Connection::isReadOnly() ? SQLITE_OPEN_READONLY : \
SQLITE_OPEN_WRITE_LOCKED; // <-- shared read + (if !r/o): exclusive write +//!TODO \
int exclusiveFlag = Connection::isReadOnly() ? SQLITE_OPEN_READONLY : \
SQLITE_OPEN_WRITE_LOCKED; // <-- shared read + (if !r/o): exclusive write +int \
exclusiveFlag = 1; //! @todo add option
int allowReadonly = 1;
const bool wasReadOnly = Connection::isReadOnly();
- d->res = sqlite3_open(
+ d->res = sqlite3_open_v2(
//QFile::encodeName( data()->fileName() ),
data()->fileName().toUtf8().constData(), /* unicode expected since \
SQLite 3.1 */ &d->data,
- exclusiveFlag,
- allowReadonly /* If 1 and locking fails, try opening in read-only \
mode */ + SQLITE_OPEN_READWRITE, /*exclusiveFlag,
+ allowReadonly *//* If 1 and locking fails, try opening in read-only \
mode */ + 0
);
d->storeResult();
@@ -199,7 +201,8 @@
return false;
}
}
-
+//!TODO
+/*
if (d->res == SQLITE_CANTOPEN_WITH_LOCKED_READWRITE) {
setError(ERR_ACCESS_RIGHTS,
i18n("The file is probably already open on this or another \
computer.") + "\n\n" @@ -211,6 +214,7 @@
+ i18n("Could not gain exclusive access for writing the file.") + " \
"
+ i18n("Check the file's permissions and whether it is already \
opened and locked by another application.")); }
+ */
return d->res == SQLITE_OK;
}
@@ -357,8 +361,11 @@
bool SQLiteConnection::isReadOnly() const
{
+ //!TODO
+ /*
return (d->data ? sqlite3_is_readonly(d->data) : false)
- || Connection::isReadOnly();
+ || Connection::isReadOnly();*/
+ return false;
}
#include "sqliteconnection.moc"
--- trunk/koffice/kexi/kexidb/drivers/sqlite/sqliteconnection_p.h #1082150:1082151
@@ -22,7 +22,7 @@
#include <kexidb/connection_p.h>
-#include "sqlite.h"
+#include "sqlite3.h"
//for compatibility
#ifdef _SQLITE3_H_
--- trunk/koffice/kexi/kexidb/drivers/sqlite/sqlitedriver.cpp #1082150:1082151
@@ -22,7 +22,7 @@
#include <kexidb/driver_p.h>
#include <kexidb/utils.h>
-#include "sqlite.h"
+#include "sqlite3.h"
#include "sqlitedriver.h"
#include "sqliteconnection.h"
#include "sqliteconnection_p.h"
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic