Merge /home/vsc/yap
This commit is contained in:
@@ -127,9 +127,7 @@
|
||||
%% SWI end
|
||||
:- use_module(library(dialect/hprolog)).
|
||||
:- use_module(pairlist).
|
||||
:- start_low_level_trace.
|
||||
:- include(chr_op).
|
||||
:- stop_low_level_trace.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%
|
||||
|
@@ -72,7 +72,7 @@ foreach (driver ${MYDDAS_DBMS})
|
||||
cpp_driver(MYDDAS_YAP ${driver} myddas_driver.ypp)
|
||||
endforeach ()
|
||||
|
||||
list (APPEND MYDDAS_YAP ${CMAKE_CURRENT_SOURCE_DIR}/../sqlite3/test.yap ${CMAKE_CURRENT_SOURCE_DIR}/../sqlite3/chinook.db)
|
||||
list (APPEND MYDDAS_YAP ${CMAKE_CURRENT_SOURCE_DIR}/../sqlite3/sqlitest.yap ${CMAKE_CURRENT_SOURCE_DIR}/../sqlite3/chinook.db)
|
||||
add_to_group(MYDDAS_YAP pl_library )
|
||||
|
||||
add_custom_target(plmyddas ALL DEPENDS ${MYDDAS_YAP} )
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* *
|
||||
*************************************************************************/
|
||||
|
||||
//:- load_foreign_files([myddas], [], init_myddas).
|
||||
%%:- load_foreign_files([myddas], [], init_myddas).
|
||||
|
||||
/* Initialize MYDDAS GLOBAL STRUCTURES */
|
||||
:- c_db_initialize_myddas.
|
||||
@@ -135,12 +135,12 @@
|
||||
|
||||
:- use_module(myddas_sqlite3,[
|
||||
% myddas_mysql.ypp
|
||||
c_sqlite3_connect/4,
|
||||
c_sqlite3_disconnect/1,
|
||||
c_sqlite3_query/5,
|
||||
%c_sqlite3_connect/4,
|
||||
%c_sqlite3_disconnect/1,
|
||||
%c_sqlite3_query/5,
|
||||
sqlite3_result_set/1,
|
||||
c_sqlite3_number_of_fields/3,
|
||||
c_sqlite3_get_attributes_types/3,
|
||||
%c_sqlite3_number_of_fields/3,
|
||||
%c_sqlite3_get_attributes_types/3,
|
||||
sqlite3_describe/3,
|
||||
sqlite3_show_tables/2,
|
||||
sqlite3_row/3
|
||||
@@ -188,7 +188,6 @@
|
||||
%
|
||||
|
||||
|
||||
|
||||
%% @pred db_open(+Interface,-Handle,+HostDb,+User,+Password)
|
||||
%% @pred db_open(+Interface,+HostDb,+User,+Password)
|
||||
%
|
||||
@@ -369,7 +368,7 @@ db_sql_(ConType, Con, SQL,LA):-
|
||||
c_postgres_query(SQL,ResultSet,Con,Mode,Arity)
|
||||
;ConType == sqlite3 ->
|
||||
sqlite3_result_set(Mode),
|
||||
c_sqlite3_query(SQL,ResultSet,Con,Mode,Arity)
|
||||
myddas_myddas_sqlite3:c_sqlite3_query(SQL,ResultSet,Con,Mode,Arity)
|
||||
;
|
||||
c_odbc_query(SQL,ResultSet,Arity,LA,Con),
|
||||
c_odbc_number_of_fields_in_query(SQL,Con,Arity)
|
||||
@@ -459,7 +458,7 @@ db_assert(Connection,PredName):-
|
||||
c_postgres_query(SQL,_,Con,Mode,_)
|
||||
;ConType == sqlite3 ->
|
||||
sqlite3_result_set(Mode),
|
||||
c_sqlite3_query(SQL,_,Con,Mode,_)
|
||||
myddas_myddas_sqlite3:c_sqlite3_query(SQL,_,Con,Mode,_)
|
||||
;
|
||||
c_odbc_query(SQL,_,_,_,Con)
|
||||
).
|
||||
@@ -488,7 +487,7 @@ db_create_table(Connection,TableName,FieldsInf):-
|
||||
c_postsgres_query(FinalSQL,_,Con,Mode,_)
|
||||
;ConType == sqlite3 ->
|
||||
sqlite3_result_set(Mode),
|
||||
c_sqlite3_query(FinalSQL,_,Con,Mode,_)
|
||||
myddas_myddas_sqlite3:c_sqlite3_query(FinalSQL,_,Con,Mode,_)
|
||||
;
|
||||
c_odbc_query(FinalSQL,_,_,_,Con)
|
||||
).
|
||||
@@ -565,7 +564,7 @@ db_update(Connection,WherePred-SetPred):-
|
||||
;
|
||||
ConType == sqlite3 ->
|
||||
sqlite3_result_set(Mode),
|
||||
c_sqlite3_query(SQL,_,Conn,Mode,_)
|
||||
myddas_sqlite3:c_sqlite3_query(SQL,_,Conn,Mode,_)
|
||||
;
|
||||
ConType == odbc ->
|
||||
odbc_result_set(Mode),
|
||||
|
@@ -19,27 +19,28 @@
|
||||
#define DBMS(x) sqlite3_##x
|
||||
#define c_DBMS(x) c_sqlite3_##x
|
||||
#define NAME() 'libYapsqlite3'
|
||||
#define MODULE() myddas_sqlite3
|
||||
#define MODULE() user
|
||||
#define INIT() init_sqlite3
|
||||
#elif defined( odbc )
|
||||
#undef odbc
|
||||
#define DBMS(x) odbc_##x
|
||||
#define c_DBMS(x) c_odbc_##x
|
||||
#define NAME() 'libYapodbc'
|
||||
#define MODULE() myddas_odbc
|
||||
#define MODULE() user
|
||||
#define INIT() init_odbc
|
||||
#elif defined( postgres )
|
||||
#undef postgres
|
||||
#define DBMS(x) postgres_##x
|
||||
#define c_DBMS(x) c_postgres_##x
|
||||
#define NAME() 'libYappostgres'
|
||||
#define MODULE() myddas_postgres
|
||||
#define MODULE() user
|
||||
#define INIT() init_odbc
|
||||
#endif
|
||||
|
||||
#if defined(DBMS)
|
||||
|
||||
:- module(MODULE(),[
|
||||
/*
|
||||
c_DBMS(change_database)/2,
|
||||
c_DBMS(connect)/4,
|
||||
c_DBMS(disconnect)/1,
|
||||
@@ -49,6 +50,7 @@
|
||||
c_DBMS(get_next_result_set)/3,
|
||||
c_DBMS(query)/5,
|
||||
c_DBMS(number_of_fields)/3,
|
||||
*/
|
||||
DBMS(describe)/3,
|
||||
DBMS(show_tables)/2,
|
||||
DBMS(row)/3
|
||||
@@ -69,7 +71,7 @@
|
||||
'$make_a_list'/2,
|
||||
'$write_or_not'/1
|
||||
]).
|
||||
:- load_foreign_files( [NAME()], [], INIT()).
|
||||
% :- load_foreign_files( [NAME()], [], INIT()).
|
||||
|
||||
%--------------------------------------------------------
|
||||
% Public Predicates
|
||||
|
@@ -2,7 +2,7 @@ message( " * Sqlite3 Data-Base (http://www.sqlite3ql.org), distributed with MY
|
||||
|
||||
set (SQLITE_EXTRA
|
||||
chinook.db
|
||||
test.yap)
|
||||
sqlitest.yap)
|
||||
|
||||
set( YAPSQLITE3_SOURCES
|
||||
myddas_sqlite3.c
|
||||
@@ -61,5 +61,3 @@ endif()
|
||||
install(FILES ${SQLITE_EXTRA}
|
||||
DESTINATION ${libpl}
|
||||
)
|
||||
|
||||
# file (INSTALL chinook.db test.yap DESTINATION ${libpl})
|
||||
|
@@ -672,14 +672,13 @@ static void Yap_InitBackMYDDAS_SQLITE3Preds(void) {
|
||||
}
|
||||
|
||||
X_API void init_sqlite3(void) {
|
||||
Term cm = CurrentModule;
|
||||
CurrentModule = MkAtomTerm(Yap_LookupAtom("myddas_sqlite3"));
|
||||
Term cm = CurrentModule;
|
||||
CurrentModule = MkAtomTerm(Yap_LookupAtom("myddas_sqlite3"));
|
||||
|
||||
Yap_InitMYDDAS_SQLITE3Preds();
|
||||
|
||||
Yap_InitBackMYDDAS_SQLITE3Preds();
|
||||
|
||||
CurrentModule = cm;
|
||||
CurrentModule = cm;
|
||||
}
|
||||
|
||||
|
||||
|
92
packages/myddas/sqlite3/sqlitest.yap
Normal file
92
packages/myddas/sqlite3/sqlitest.yap
Normal file
@@ -0,0 +1,92 @@
|
||||
:- stop_low_level_trace.
|
||||
:- use_module(library(maplist)).
|
||||
:- use_module(library(myddas)).
|
||||
|
||||
main :-
|
||||
init,
|
||||
main_,
|
||||
close.
|
||||
main_ :-
|
||||
go,
|
||||
fail.
|
||||
main_ .
|
||||
|
||||
init :-
|
||||
db_open(sqlite3, '/data/user/0/pt.up.yap.yapdroid/files/Yap/chinook.db', _, _),
|
||||
writeln('chinook has landed').
|
||||
|
||||
go :-
|
||||
writeln(('db_import')),
|
||||
db_import('artists', artists),
|
||||
writeln(('artist -> artists')),
|
||||
db_import('albums', albums),
|
||||
writeln(('albums -> albums')),
|
||||
db_import('tracks', tracks),
|
||||
writeln(('tracks -> tracks')).
|
||||
|
||||
go :-
|
||||
start_low_level_trace,
|
||||
writeln(db_get_attributes_types),
|
||||
db_get_attributes_types(albums,Als),
|
||||
format('~w -> ~w~n',[albums,Als]),
|
||||
db_get_attributes_types(tracks,Ts),
|
||||
format('~w -> ~w~n',[tracks,Ts]),
|
||||
db_get_attributes_types(artists,As),
|
||||
format('~w -> ~w~n',[artists,As]).
|
||||
go :-
|
||||
writeln(db_number_of_fields),
|
||||
db_number_of_fields(albums,Als),
|
||||
db_number_of_fields(tracks,Ts),
|
||||
db_number_of_fields(artists,As),
|
||||
writeln(As:Als:Ts).
|
||||
|
||||
go :-
|
||||
db_describe(albums, Desc), writeln(albums:Desc).
|
||||
go :-
|
||||
db_describe(tracks, Desc), writeln(tracks:Desc).
|
||||
go :-
|
||||
db_describe(artists, Desc), writeln(artists:Desc).
|
||||
go :-
|
||||
db_show_tables(Desc), writeln(tables:Desc).
|
||||
go :-
|
||||
db_show_tables(table(T)),
|
||||
db_describe(T,tableinfo(FieldID,Type,Null,Primary,Default,'')),
|
||||
writeln(T:tableinfo(FieldID,Type,Null,Primary,Default,'')).
|
||||
|
||||
go :-
|
||||
go_cut0.
|
||||
|
||||
|
||||
go :-
|
||||
%stop_low_level_trace,
|
||||
findall(X:Y,artists(X,Y),Ls),
|
||||
length(Ls,Total),
|
||||
sort(Ls, LLs),
|
||||
length(LLs, T),
|
||||
writeln(T:Total).
|
||||
|
||||
go :-
|
||||
go_cut1.
|
||||
|
||||
go :-
|
||||
X=1,
|
||||
artists(X,Y),
|
||||
writeln(X:Y).
|
||||
|
||||
go_cut0 :-
|
||||
% start_low_level_trace,
|
||||
artists(X,Y),
|
||||
writeln(X:Y),
|
||||
!.
|
||||
|
||||
|
||||
go_cut1 :-
|
||||
X=1,
|
||||
artists(X,Y),
|
||||
writeln(X:Y),
|
||||
!.
|
||||
|
||||
close :-
|
||||
db_close.
|
||||
|
||||
:- main.
|
@@ -1,85 +0,0 @@
|
||||
|
||||
:- compile(library(maplist)).
|
||||
:- use_module(library(myddas)).
|
||||
|
||||
main :-
|
||||
init,
|
||||
main_,
|
||||
close.
|
||||
main_ :-
|
||||
go,
|
||||
fail.
|
||||
main_ .
|
||||
|
||||
%init :-
|
||||
db_open(sqlite3, '/data/user/0/pt.up.yap.yapdroid/files/Yap/chinook.db', _, _),
|
||||
writeln('chinook has landed'),
|
||||
db_import('Artist', artist),
|
||||
writeln('Artist -> artist'),
|
||||
db_import('Album', album),
|
||||
writeln('Album -> album'),
|
||||
db_import('Track', track).
|
||||
writeln('Track -> track').
|
||||
|
||||
go :-
|
||||
db_get_attributes_types(album,Als),
|
||||
format('~w -> ~w~n'.[album,Als]),
|
||||
db_get_attributes_types(track,Ts),
|
||||
format('~w -> ~w~n'.[track,Ts]),
|
||||
db_get_attributes_types(artist,As),
|
||||
format('~w -> ~w~n'.[artist,As]).
|
||||
go :-
|
||||
db_number_of_fields(album,Als),
|
||||
db_number_of_fields(track,Ts),
|
||||
db_number_of_fields(artist,As),
|
||||
writeln(As:Als:Ts).
|
||||
|
||||
go :-
|
||||
db_describe(album, Desc), writeln(album:Desc) ;
|
||||
db_describe(track, Desc), writeln(track:Desc) ;
|
||||
db_describe(artist, Desc), writeln(artist:Desc).
|
||||
go :-
|
||||
db_show_tables(Desc), writeln(tables:Desc).
|
||||
go :-
|
||||
db_show_tables(table(T)),
|
||||
db_describe(T,tableinfo(FieldID,Type,Null,Primary,Default,'')),
|
||||
writeln(T:tableinfo(FieldID,Type,Null,Primary,Default,'')).
|
||||
|
||||
go :-
|
||||
go_cut0.
|
||||
|
||||
|
||||
go :-
|
||||
%stop_low_level_trace,
|
||||
findall(X:Y,artist(X,Y),Ls),
|
||||
length(Ls,Total),
|
||||
sort(Ls, LLs),
|
||||
length(LLs, T),
|
||||
writeln(T:Total).
|
||||
|
||||
go :-
|
||||
go_cut1.
|
||||
|
||||
go :-
|
||||
X=1,
|
||||
artist(X,Y),
|
||||
writeln(X:Y).
|
||||
|
||||
go_cut0 :-
|
||||
% start_low_level_trace,
|
||||
artist(X,Y),
|
||||
writeln(X:Y),
|
||||
!.
|
||||
|
||||
|
||||
go_cut1 :-
|
||||
X=1,
|
||||
artist(X,Y),
|
||||
writeln(X:Y),
|
||||
!.
|
||||
|
||||
close :-
|
||||
db_close.
|
||||
|
||||
:- main.
|
||||
|
@@ -59,10 +59,9 @@ and_close(int sno) {
|
||||
static int
|
||||
and_put(int sno, int ch) {
|
||||
buff0 += ch;
|
||||
if (ch=='\n' || buff0.length() == 128) { //buff0+= '\0';
|
||||
streamerInstance->display(buff0);
|
||||
buff0.clear();
|
||||
}
|
||||
buff0.clear();
|
||||
|
||||
return ch;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user