117 lines
3.7 KiB
SQL
Executable File
117 lines
3.7 KiB
SQL
Executable File
drop view if exists UsersDataView;
|
|
create view UsersDataView as
|
|
select * from UsersData where 'user' in (
|
|
select id from Users where date_out is null
|
|
) and id in (
|
|
select max(id) from UsersData where date_out is null group by 'user'
|
|
);
|
|
|
|
drop view if exists IpsDataView;
|
|
create view IpsDataView as
|
|
select * from IpsData where ip in (
|
|
select id from Ips where date_out is null
|
|
) and id in (
|
|
select max(id) from IpsData where date_out is null group by ip
|
|
);
|
|
|
|
drop view if exists SessionsView;
|
|
create view SessionsView as
|
|
select
|
|
sessions.id as id,
|
|
users.'user' as user_id,
|
|
users.name as 'user',
|
|
users.accessible as user_accesible,
|
|
users.deleted as user_deleted,
|
|
users.date_in as user_date_in,
|
|
ips.ip as ip_id,
|
|
ips.address as ip,
|
|
ips.accessible as ip_accessible,
|
|
ips.deleted as deleted,
|
|
ips.date_in as ip_date_in,
|
|
sessions.date_last as date_last,
|
|
sessions.date_in as date_in,
|
|
sessions.date_out as date_out
|
|
from Sessions sessions
|
|
join UsersDataView users on sessions.'user' = users.'user'
|
|
join IpsDataView ips on sessions.ip = ips.ip;
|
|
|
|
drop view if exists MethodsView;
|
|
create view MethodsView as
|
|
select
|
|
methods.id as id,
|
|
applications.id as application_id,
|
|
applications.name as application,
|
|
methods.name as 'method',
|
|
applications.date_in as application_date_in,
|
|
methods.date_in as date_in
|
|
from Methods methods
|
|
join Applications applications on
|
|
applications.date_out is null and
|
|
methods.application = applications.id and
|
|
methods.date_out is null;
|
|
|
|
drop view if exists LogsView;
|
|
create view LogsView as
|
|
select
|
|
logs.id as id,
|
|
sessions.id as session_id,
|
|
sessions.user_id as user_id,
|
|
sessions.'user' as 'user',
|
|
sessions.user_accesible as user_accesible,
|
|
sessions.user_deleted as user_deleted,
|
|
sessions.user_date_in as user_date_in,
|
|
sessions.ip_id as ip_id,
|
|
sessions.ip as ip,
|
|
sessions.ip_accessible as ip_accessible,
|
|
sessions.deleted as session_deleted,
|
|
sessions.ip_date_in as ip_date_in,
|
|
sessions.date_last as date_last,
|
|
sessions.date_in as session_date_in,
|
|
sessions.date_out as session_date_out,
|
|
methods.id as method_id,
|
|
methods.application_id as application_id,
|
|
methods.application as application,
|
|
methods.'method' as 'method',
|
|
methods.application_date_in as application_date_in,
|
|
methods.date_in as method_date_in,
|
|
logs.parameters as parameters,
|
|
logs.error as error,
|
|
logs.date_in as date_in,
|
|
logs.date_out as date_out
|
|
from Logs logs
|
|
join MethodsView methods on logs.'method' = methods.id
|
|
left join SessionsView sessions on logs.'session' = sessions.id;
|
|
|
|
drop view if exists TracesView;
|
|
create view TracesView as
|
|
select
|
|
traces.id as id,
|
|
sessions.id as session_id,
|
|
sessions.user_id as user_id,
|
|
sessions.'user' as 'user',
|
|
sessions.user_accesible as user_accesible,
|
|
sessions.user_deleted as user_deleted,
|
|
sessions.user_date_in as user_date_in,
|
|
sessions.ip_id as ip_id,
|
|
sessions.ip as ip,
|
|
sessions.ip_accessible as ip_accessible,
|
|
sessions.deleted as session_deleted,
|
|
sessions.ip_date_in as ip_date_in,
|
|
sessions.date_last as date_last,
|
|
sessions.date_in as session_date_in,
|
|
sessions.date_out as session_date_out,
|
|
methods.id as method_id,
|
|
methods.application_id as application_id,
|
|
methods.application as application,
|
|
methods.'method' as 'method',
|
|
methods.application_date_in as application_date_in,
|
|
methods.date_in as method_date_in,
|
|
traces.parameters as parameters,
|
|
traces.error as error,
|
|
traces.trace as trace,
|
|
traces.message as message,
|
|
traces.date_in as date_in,
|
|
traces.date_out as date_out
|
|
from Traces traces
|
|
join MethodsView methods on traces.'method' = methods.id
|
|
left join SessionsView sessions on traces.'session' = sessions.id; |