Note that QOF is also migrating to git for VCS for the next upstream
release:

https://alioth.debian.org/projects/qof/

git clone https://alioth.debian.org/anonscm/git/qof/qof.git

https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi?p=qof/qof.git;a=summary

I'm attaching the initial diff to at least get the backend/sqlite/ code
using libsqlite3-dev but it does not yet build.

The alternative is to drop the libqof2-backend-sqlite module for this
release as the remaining reverse dependencies for libqof2 do not
currently use this backend. That would be a small change to
configure.ac.

-- 


Neil Williams
=============
http://www.linux.codehelp.co.uk/

diff --git a/backend/sqlite/qof-sqlite.c b/backend/sqlite/qof-sqlite.c
index 5ada5a9..f4c708e 100644
--- a/backend/sqlite/qof-sqlite.c
+++ b/backend/sqlite/qof-sqlite.c
@@ -26,7 +26,7 @@
 #include <stdlib.h>
 #include <time.h>
 #include <glib/gstdio.h>
-#include <sqlite.h>
+#include <sqlite3.h>
 #include <glib.h>
 #include <libintl.h>
 #include "qof.h"
@@ -68,7 +68,7 @@ life of the process.
 typedef struct
 {
 	QofBackend be;
-	sqlite *sqliteh;
+	sqlite3 *sqliteh;
 	QsqlStatementType stm_type;
 	gint dbversion;
 	gint create_handler;
@@ -270,7 +270,7 @@ delete_event (QofEntity * ent, QofEventId event_type,
 			guid_to_string_buff (qof_entity_get_guid (ent), gstr);
 			sql_str = qof_sql_entity_delete (ent);
 			DEBUG (" sql_str=%s", sql_str);
-			if (sqlite_exec (qsql_be->sqliteh, sql_str,
+			if (sqlite3_exec (qsql_be->sqliteh, sql_str,
 					NULL, qsql_be, &qsql_be->err) != SQLITE_OK)
 			{
 				qof_error_set_be (be, qsql_be->err_delete);
@@ -320,7 +320,7 @@ create_event (QofEntity * ent, QofEventId event_type,
 			qb.sql_str = qof_sql_entity_insert (ent);
 			/** \bug create one func to create_param_list and create_each_param */
 			DEBUG (" sql_str=%s", qb.sql_str);
-			if (sqlite_exec (qsql_be->sqliteh, qb.sql_str,
+			if (sqlite3_exec (qsql_be->sqliteh, qb.sql_str,
 				NULL, &qb, &qsql_be->err) != SQLITE_OK)
 			{
 				qof_error_set_be (be, qsql_be->err_insert);
@@ -342,7 +342,7 @@ create_event (QofEntity * ent, QofEventId event_type,
 			{
 				/* id, guid, path, type, value */
 				qb.sql_str = qof_sql_entity_insert (ent);
-				if (sqlite_exec (qsql_be->sqliteh, qb.sql_str,
+				if (sqlite3_exec (qsql_be->sqliteh, qb.sql_str,
 					NULL, &qb, &qsql_be->err) != SQLITE_OK)
 				{
 					qof_error_set_be (be, qsql_be->err_insert);
@@ -394,7 +394,7 @@ qsql_modify (QofBackend * be, QofInstance * inst)
 		return;
 	}
 	DEBUG (" sql_str=%s", qb.sql_str);
-	if (sqlite_exec (qsql_be->sqliteh, qb.sql_str,
+	if (sqlite3_exec (qsql_be->sqliteh, qb.sql_str,
 			NULL, &qb, &qsql_be->err) != SQLITE_OK)
 	{
 		qof_error_set_be (be, qsql_be->err_update);
@@ -484,7 +484,7 @@ update_dirty (gpointer value, gpointer builder)
 		return;
 	}
 	DEBUG (" update=%s", qb->sql_str);
-	if (sqlite_exec (qsql_be->sqliteh, qb->sql_str,
+	if (sqlite3_exec (qsql_be->sqliteh, qb->sql_str,
 			NULL, qb, &qsql_be->err) != SQLITE_OK)
 	{
 		qof_error_set_be (be, qsql_be->err_update);
@@ -567,7 +567,7 @@ qsql_create (QofBackend * be, QofInstance * inst)
 	qb.ent = ent;
 	qb.dirty_list = NULL;
 	qb.exists = FALSE;
-	if (sqlite_exec (qsql_be->sqliteh, qb.sql_str,
+	if (sqlite3_exec (qsql_be->sqliteh, qb.sql_str,
 			mark_entity, &qb, &qsql_be->err) != SQLITE_OK)
 	{
 		qof_error_set_be (be, qsql_be->err_update);
@@ -579,7 +579,7 @@ qsql_create (QofBackend * be, QofInstance * inst)
 		/* create new entity */
 		qb.sql_str = qof_sql_entity_insert (ent);
 		DEBUG (" sql_str= %s", qb.sql_str);
-		if (sqlite_exec (qsql_be->sqliteh, qb.sql_str,
+		if (sqlite3_exec (qsql_be->sqliteh, qb.sql_str,
 				NULL, qsql_be, &qsql_be->err) != SQLITE_OK)
 		{
 			qof_error_set_be (be, qsql_be->err_insert);
@@ -624,7 +624,7 @@ check_state (QofEntity * ent, gpointer builder)
 	/* Make a GList of dirty instances
 	   Don't update during a SELECT,
 	   UPDATE will fail with DB_LOCKED */
-	if (sqlite_exec (qsql_be->sqliteh, qb->sql_str,
+	if (sqlite3_exec (qsql_be->sqliteh, qb->sql_str,
 			create_dirty_list, qb, &qsql_be->err) != SQLITE_OK)
 	{
 		qof_error_set_be (be, qsql_be->err_update);
@@ -636,7 +636,7 @@ check_state (QofEntity * ent, gpointer builder)
 		/* create new entity */
 		qb->sql_str = qof_sql_entity_insert (ent);
 		DEBUG (" sql_str= %s", qb->sql_str);
-		if (sqlite_exec (qsql_be->sqliteh, qb->sql_str,
+		if (sqlite3_exec (qsql_be->sqliteh, qb->sql_str,
 				NULL, qb, &qsql_be->err) != SQLITE_OK)
 		{
 			qof_error_set_be (be, qsql_be->err_insert);
@@ -722,7 +722,7 @@ qsql_load_kvp (QSQLiteBackend * qsql_be)
 	be = (QofBackend *) qsql_be;
 	qb.sql_str =
 		g_strdup_printf ("SELECT kvp_id from %s;", QSQL_KVP_TABLE);
-	sq_code = sqlite_exec (qsql_be->sqliteh, qb.sql_str, build_kvp_table,
+	sq_code = sqlite3_exec (qsql_be->sqliteh, qb.sql_str, build_kvp_table,
 			&qb, &qsql_be->err);
 	/* catch older files without a sqlite_kvp table */
 	if (sq_code == SQLITE_ERROR)
@@ -734,7 +734,7 @@ qsql_load_kvp (QSQLiteBackend * qsql_be)
 			"guid char(32)", "path mediumtext", "type mediumtext",
 			"value text", END_DB_VERSION);
 		PINFO (" creating kvp table. sql=%s", qb.sql_str);
-		if (sqlite_exec (qsql_be->sqliteh, qb.sql_str,
+		if (sqlite3_exec (qsql_be->sqliteh, qb.sql_str,
 			record_foreach, &qb, &qsql_be->err) != SQLITE_OK)
 		{
 			qsql_be->error = TRUE;
@@ -776,7 +776,7 @@ qsql_class_foreach (QofObject * obj, gpointer data)
 		{
 			/* KVP is handled separately */
 			qb.sql_str = qof_sql_object_create_table (obj);
-			if (sqlite_exec (qsql_be->sqliteh, qb.sql_str,
+			if (sqlite3_exec (qsql_be->sqliteh, qb.sql_str,
 					NULL, NULL, &qsql_be->err) != SQLITE_OK)
 			{
 				qof_error_set_be (be, qsql_be->err_create);
@@ -791,7 +791,7 @@ qsql_class_foreach (QofObject * obj, gpointer data)
 			qb.sql_str =
 				g_strdup_printf ("SELECT * FROM %s;", obj->e_type);
 			PINFO (" sql=%s", qb.sql_str);
-			if (sqlite_exec (qsql_be->sqliteh, qb.sql_str,
+			if (sqlite3_exec (qsql_be->sqliteh, qb.sql_str,
 					record_foreach, &qb, &qsql_be->err) != SQLITE_OK)
 			{
 				qsql_be->error = TRUE;
@@ -838,7 +838,7 @@ qsql_backend_createdb (QofBackend * be, QofSession * session)
 		return;
 	}
 	qsql_be->sqliteh =
-		sqlite_open (qsql_be->fullpath, 0644, &qsql_be->err);
+		sqlite3_open (qsql_be->fullpath, 0644, &qsql_be->err);
 	if (!qsql_be->sqliteh)
 	{
 		qof_error_set_be (be, qsql_be->err_create);
@@ -859,7 +859,7 @@ qsql_backend_opendb (QofBackend * be, QofSession * session)
 	ENTER (" ");
 	qsql_be = (QSQLiteBackend *) be;
 	qsql_be->sqliteh =
-		sqlite_open (qsql_be->fullpath, 0666, &qsql_be->err);
+		sqlite3_open (qsql_be->fullpath, 0666, &qsql_be->err);
 	if (!qsql_be->sqliteh)
 	{
 		qof_error_set_be (be, qof_error_register
diff --git a/configure.ac b/configure.ac
index c13d23d..69cc8b0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -192,7 +192,7 @@ AC_ARG_ENABLE(embedded,
 		esac])
 
 if test "$embedded" = "yes"; then
-	PKG_CHECK_MODULES(SQLITE, sqlite >= 2.8.0)
+	PKG_CHECK_MODULES(SQLITE, sqlite3 >= 3.8.0)
 	AC_SUBST(SQLITE_LIBS)
 	AC_SUBST(SQLITE_CFLAGS)
 	backend="sqlite"
@@ -209,7 +209,7 @@ AM_CONDITIONAL(EMBEDDED, [test "$embedded" = "yes"])
 
 sqlite="yes"
 AC_ARG_ENABLE(sqlite,
-  [  --disable-sqlite        Disable the SQLite backend module.],
+  [  --disable-sqlite        Disable the SQLite3 backend module.],
   [case "${enableval}" in
   		no) sqlite="no" ;;
 		yes) sqlite="yes" ;;
@@ -218,8 +218,8 @@ AC_ARG_ENABLE(sqlite,
 
 if test "$embedded" != "yes"; then
 	if test "$sqlite" = "yes"; then
-		SQLITE_REQUIRED=2.8.0
-		PKG_CHECK_MODULES(SQLITE, sqlite >= $SQLITE_REQUIRED)
+		SQLITE_REQUIRED=3.8.0
+		PKG_CHECK_MODULES(SQLITE, sqlite3 >= $SQLITE_REQUIRED)
 		AC_SUBST(SQLITE_LIBS)
 		AC_SUBST(SQLITE_CFLAGS)
 		backend2="sqlite"

Attachment: signature.asc
Description: PGP signature

Reply via email to