Commit 72a9555e authored by Yuanle Song's avatar Yuanle Song
Browse files

v0.2.1 bugfix: unused sql should use before g_free()

simplified the SQL query, remove the top level wrapper. it's unnecessary.
parent 516c0d49
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
# -*- mode: conf -*-
project('zero-pinyin-service', ['c', 'cpp'],
  version: '0.2.0',
  version: '0.2.1',
  license: 'GPL',
  default_options: [
    'warning_level=2',
+6 −5
Original line number Diff line number Diff line
@@ -85,9 +85,10 @@ build_sql_for_n_pinyin (GList* pylist,
			const guint n,
			const guint limit)
{
	/* always keep one space after current term */
	GString* sql = NULL;
	gchar* where_clause = NULL;
	sql = g_string_new ("SELECT user_freq, phrase, freq FROM (");
	sql = g_string_new (NULL);
	g_string_append_printf (
		sql, "SELECT 0 AS user_freq, phrase, freq FROM "
		"maindb.py_phrase_%u WHERE ", n - 1);
@@ -100,8 +101,8 @@ build_sql_for_n_pinyin (GList* pylist,
		sql, "SELECT user_freq, phrase, freq FROM "
		"userdb.py_phrase_%u WHERE ", n - 1);
	sql = g_string_append (sql, where_clause);
	sql = g_string_append (sql, ") GROUP BY phrase ORDER BY user_freq DESC, freq DESC ");
	g_string_append_printf (sql, "LIMIT %u", limit);
	sql = g_string_append (sql, "GROUP BY phrase ORDER BY user_freq DESC, freq DESC ");
	g_string_append_printf (sql, "LIMIT %u;", limit);
	char* result = sql->str;
	g_free (where_clause);
	g_string_free (sql, FALSE);
@@ -149,13 +150,13 @@ get_candidates_for_n_pinyin (sqlite3* db,
	const char* unused;
	Candidate* c = NULL;
	r = sqlite3_prepare_v2 (db, sql, -1, &stmt, &unused);
	g_free (sql);
	g_assert_nonnull (unused);
	g_assert_cmpstr (unused, ==, "");
	if (strlen (unused)) {
		g_warning ("part of sql is unused \"%s\" length=%zu",
			   unused, strlen (unused));
	}
	g_free (sql);
	while (TRUE) {
		r = sqlite3_step (stmt);
		if (r == SQLITE_DONE) {