Merge /home/vsc/yap

This commit is contained in:
Vitor Santos Costa
2018-06-27 23:27:08 +01:00
34 changed files with 426 additions and 395 deletions

View File

@@ -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})

View File

@@ -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;
}

View 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.

View File

@@ -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.