|
[anjuta/cxxparser] symbol-db: added a query test and fixed a bug introduced: msg#08226svn-commits-list
commit 796e8c9503e211eb4050afd4711a429ec942e065 Author: Massimo Corà <mcora@xxxxxxxxxxxxx> Date: Thu Jul 30 17:45:29 2009 +0200 symbol-db: added a query test and fixed a bug introduced with previous patch libanjuta/interfaces/libanjuta.idl | 3 +- plugins/symbol-db/symbol-db-engine-queries.c | 43 ++++++++++++++------------ plugins/symbol-db/test-queries/main.c | 40 ++++++++++++++++++++++-- 3 files changed, 62 insertions(+), 24 deletions(-) --- diff --git a/libanjuta/interfaces/libanjuta.idl b/libanjuta/interfaces/libanjuta.idl index 6f9e75a..bb9380e 100644 --- a/libanjuta/interfaces/libanjuta.idl +++ b/libanjuta/interfaces/libanjuta.idl @@ -4888,7 +4888,8 @@ interface IAnjutaSymbol /** * IAnjutaSymbolType: * - * @IANJUTA_SYMBOL_TYPE_UNDEF: Unknown type + * @IANJUTA_SYMBOL_TYPE_UNDEF: Unknown type. If you have to search for all the known + * types use this flag because it's quicker than #IANJUTA_SYMBOL_TYPE_MAX. * @IANJUTA_SYMBOL_TYPE_CLASS: Class declaration * @IANJUTA_SYMBOL_TYPE_ENUM: Enum declaration * @IANJUTA_SYMBOL_TYPE_ENUMERATOR: Enumerator value diff --git a/plugins/symbol-db/symbol-db-engine-queries.c b/plugins/symbol-db/symbol-db-engine-queries.c index b7c79f2..9d77816 100644 --- a/plugins/symbol-db/symbol-db-engine-queries.c +++ b/plugins/symbol-db/symbol-db-engine-queries.c @@ -786,6 +786,12 @@ symbol_db_engine_get_global_members_filtered (SymbolDBEngine *dbe, /*DEBUG_PRINT ("symbol_db_engine_get_global_members_filtered () query_str is %s", dyn_node->query_str);*/ + + /* execute the query with parametes just set */ + data = gda_connection_statement_execute_select (priv->db_connection, + (GdaStatement*)dyn_node->stmt, + (GdaSet*)dyn_node->plist, NULL); + /* free the filter kinds, if it's not null */ if (filter_kinds_array) { @@ -793,11 +799,6 @@ symbol_db_engine_get_global_members_filtered (SymbolDBEngine *dbe, g_ptr_array_free (filter_kinds_array, TRUE); } - /* execute the query with parametes just set */ - data = gda_connection_statement_execute_select (priv->db_connection, - (GdaStatement*)dyn_node->stmt, - (GdaSet*)dyn_node->plist, NULL); - if (!GDA_IS_DATA_MODEL (data) || gda_data_model_get_n_rows (GDA_DATA_MODEL (data)) <= 0) { @@ -1046,6 +1047,12 @@ symbol_db_engine_get_scope_members_by_symbol_id_filtered (SymbolDBEngine *dbe, MP_SET_HOLDER_BATCH_INT(priv, param, scope_parent_symbol_id, ret_bool, ret_value); + + /* execute the query with parametes just set */ + data = gda_connection_statement_execute_select (priv->db_connection, + (GdaStatement*)dyn_node->stmt, + (GdaSet*)dyn_node->plist, NULL); + /* free the filter kinds, if it's not null */ if (filter_kinds_array) { @@ -1053,11 +1060,6 @@ symbol_db_engine_get_scope_members_by_symbol_id_filtered (SymbolDBEngine *dbe, g_ptr_array_free (filter_kinds_array, TRUE); } - /* execute the query with parametes just set */ - data = gda_connection_statement_execute_select (priv->db_connection, - (GdaStatement*)dyn_node->stmt, - (GdaSet*)dyn_node->plist, NULL); - if (!GDA_IS_DATA_MODEL (data) || gda_data_model_get_n_rows (GDA_DATA_MODEL (data)) <= 0) { @@ -2465,6 +2467,11 @@ symbol_db_engine_find_symbol_by_name_pattern_on_file (SymbolDBEngine *dbe, /*DEBUG_PRINT ("query: %s", dyn_node->query_str);*/ + /* execute the query with parametes just set */ + data = gda_connection_statement_execute_select (priv->db_connection, + (GdaStatement*)dyn_node->stmt, + (GdaSet*)dyn_node->plist, NULL); + /* free the filter kinds, if it's not null */ if (filter_kinds_array) { @@ -2472,11 +2479,6 @@ symbol_db_engine_find_symbol_by_name_pattern_on_file (SymbolDBEngine *dbe, g_ptr_array_free (filter_kinds_array, TRUE); } - /* execute the query with parametes just set */ - data = gda_connection_statement_execute_select (priv->db_connection, - (GdaStatement*)dyn_node->stmt, - (GdaSet*)dyn_node->plist, NULL); - if (!GDA_IS_DATA_MODEL (data) || gda_data_model_get_n_rows (GDA_DATA_MODEL (data)) <= 0) { @@ -2854,6 +2856,7 @@ symbol_db_engine_find_symbol_by_name_pattern_filtered (SymbolDBEngine *dbe, { gchar *curr_str = g_strdup_printf ("filter%d", i); param = gda_set_get_holder ((GdaSet*)dyn_node->plist, curr_str); + DEBUG_PRINT ("adding type %s", g_ptr_array_index (filter_kinds_array, i)); MP_SET_HOLDER_BATCH_STR(priv, param, g_ptr_array_index (filter_kinds_array, i), ret_bool, ret_value); g_free (curr_str); @@ -2889,6 +2892,11 @@ symbol_db_engine_find_symbol_by_name_pattern_filtered (SymbolDBEngine *dbe, /*DEBUG_PRINT ("symbol_db_engine_find_symbol_by_name_pattern_filtered query: %s", dyn_node->query_str);*/ + /* execute the query with parametes just set */ + data = gda_connection_statement_execute_select (priv->db_connection, + (GdaStatement*)dyn_node->stmt, + (GdaSet*)dyn_node->plist, NULL); + /* free the filter kinds, if it's not null */ if (filter_kinds_array) { @@ -2896,11 +2904,6 @@ symbol_db_engine_find_symbol_by_name_pattern_filtered (SymbolDBEngine *dbe, g_ptr_array_free (filter_kinds_array, TRUE); } - /* execute the query with parametes just set */ - data = gda_connection_statement_execute_select (priv->db_connection, - (GdaStatement*)dyn_node->stmt, - (GdaSet*)dyn_node->plist, NULL); - if (!GDA_IS_DATA_MODEL (data) || gda_data_model_get_n_rows (GDA_DATA_MODEL (data)) <= 0) { diff --git a/plugins/symbol-db/test-queries/main.c b/plugins/symbol-db/test-queries/main.c index 5b5fc3e..200f64e 100644 --- a/plugins/symbol-db/test-queries/main.c +++ b/plugins/symbol-db/test-queries/main.c @@ -10,6 +10,40 @@ static void on_single_file_scan_end (SymbolDBEngine* engine, GPtrArray* files) } static void +find_symbol_by_name_pattern_filtered (SymbolDBEngine *dbe) +{ + SymbolDBEngineIterator *iter; + DEBUG_PRINT (""); + + iter = symbol_db_engine_find_symbol_by_name_pattern_filtered (dbe, + "TwoC", + TRUE, + SYMTYPE_MAX, + TRUE, + SYMSEARCH_FILESCOPE_IGNORE, + NULL, + -1, + -1, + SYMINFO_SIMPLE); + + if (iter == NULL) + { + g_warning ("Iterator null"); + return; + } + + do { + SymbolDBEngineIteratorNode *node; + + node = SYMBOL_DB_ENGINE_ITERATOR_NODE (iter); + + DEBUG_PRINT ("node name %s", + symbol_db_engine_iterator_node_get_symbol_name (node)); + + } while (symbol_db_engine_iterator_move_next (iter) == TRUE); +} + +static void get_scope_members_by_path (SymbolDBEngine* dbe) { GPtrArray *array; @@ -45,13 +79,13 @@ get_scope_members_by_path (SymbolDBEngine* dbe) g_ptr_array_free (array, TRUE); } - static void do_test_queries (SymbolDBEngine* dbe) { + +// get_scope_members_by_path (dbe); - get_scope_members_by_path (dbe); - + find_symbol_by_name_pattern_filtered (dbe); } static void _______________________________________________ SVN-commits-list mailing list (read only) http://mail.gnome.org/mailman/listinfo/svn-commits-list Want to limit the commits to a few modules? Go to above URL, log in to edit your options and select the modules ('topics') you want.
|
|
||||||||||||||||||||||||||
| News | Mail Home | sitemap | FAQ | advertise |