diff --git a/C/exec.c b/C/exec.c index 764f81a4a..35ebf52e6 100644 --- a/C/exec.c +++ b/C/exec.c @@ -23,8 +23,8 @@ static char SccsId[] = "@(#)cdmgr.c 1.1 05/02/98"; #ifdef CUT_C #include "cut_c.h" #endif -#if defined CUT_C && (defined MYDDAS_ODBC || defined MYDDAS_MYSQL) -#include "myddas_util.h" +#if defined MYDDAS_ODBC || defined MYDDAS_MYSQL +#include "myddas.h" #endif STATIC_PROTO(Int CallPredicate, (PredEntry *, choiceptr, yamop *)); diff --git a/library/MYDDAS/myddas.ypp b/library/MYDDAS/myddas.ypp index 37de57dd3..16277af87 100755 --- a/library/MYDDAS/myddas.ypp +++ b/library/MYDDAS/myddas.ypp @@ -142,6 +142,9 @@ '$get_table_name'/2, '$get_values_for_update'/4, '$extract_args'/4, +#ifdef MYDDAS_STATS + '$make_stats_list'/2, +#endif '$lenght'/2 ]). @@ -263,14 +266,16 @@ db_stats(List):- db_stats(Connection,List):- '$error_checks'(db_stats(Connection,List)), NumberOfStats = 10, - '$make_a_list'(NumberOfStats,List), + '$make_a_list'(NumberOfStats,ListX1), ( var(Connection) -> - c_db_stats(0,List) + c_db_stats(0,ListX1) ; get_value(Connection,Conn), - c_db_stats(Conn,List) - ). + c_db_stats(Conn,ListX1) + ), + '$make_stats_list'(ListX1,List). +#ifdef DEBUG %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % db_stats_time(+,-) % Reference is C pointer (memory reference) @@ -280,8 +285,9 @@ db_stats_time(Reference,Time):- c_db_stats_time(Reference,Time). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +#endif /* DEBUG */ -#endif +#endif /* MYDDAS_STATS */ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/library/MYDDAS/myddas_errors.ypp b/library/MYDDAS/myddas_errors.ypp index db21e7092..53e23869d 100755 --- a/library/MYDDAS/myddas_errors.ypp +++ b/library/MYDDAS/myddas_errors.ypp @@ -146,6 +146,9 @@ % must have only one relation '$error_checks'(db_datalog_describe(Relation,_)) :- !, nonvar(Relation). +'$error_checks'(db_describe(Connection,Relation,_)) :- !, + atom(Connection), + nonvar(Relation). '$error_checks'(db_my_show_tables(_)):- !. '$error_checks'(db_is_database_predicate(PredName,Arity,Module)):-!, nonvar(PredName), diff --git a/library/MYDDAS/myddas_mysql.ypp b/library/MYDDAS/myddas_mysql.ypp index 3365cb359..d7c046e84 100755 --- a/library/MYDDAS/myddas_mysql.ypp +++ b/library/MYDDAS/myddas_mysql.ypp @@ -100,7 +100,7 @@ db_datalog_describe(Connection,Relation) :- db_describe(Relation,TableInfo) :- db_describe(myddas,Relation,TableInfo). db_describe(Connection,Relation,tableinfo(A1,A2,A3,A4,A5,A6)) :- - '$error_checks'(db_my_describe(Relation,Connection)), + '$error_checks'(db_describe(Relation,Connection,_)), '$get_value'(Connection,Conn), '$make_atom'(['DESCRIBE ',Relation],SQL), db_my_result_set(Mode), diff --git a/library/MYDDAS/myddas_util_predicates.ypp b/library/MYDDAS/myddas_util_predicates.ypp index 69a814433..e481a5deb 100755 --- a/library/MYDDAS/myddas_util_predicates.ypp +++ b/library/MYDDAS/myddas_util_predicates.ypp @@ -39,6 +39,9 @@ '$build_query'/5, '$assert_facts'/2, '$lenght'/2, +#ifdef MYDDAS_STATS + '$make_stats_list'/2, +#endif '$check_list_on_list'/2 ]). @@ -431,3 +434,7 @@ '$member_strick'(Element, Rest). +'$make_stats_list'([],[]). +'$make_stats_list'([Ref|Tail],[Time|Final]):- + c_db_stats_time(Ref,Time), + '$make_stats_list'(Tail,Final).