update 优化 将logininfor规范化为loginInfo

This commit is contained in:
疯狂的狮子Li
2026-03-13 14:28:54 +08:00
parent 771494d0a4
commit 40ea2e55bb
20 changed files with 213 additions and 213 deletions

View File

@@ -360,7 +360,7 @@ insert into sys_menu values('120', '任务调度中心', '2', '5', 'snailjo
-- 三级菜单
insert into sys_menu values('500', '操作日志', '108', '1', 'operlog', 'monitor/operlog/index', '', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'form', 103, 1, sysdate, null, null, '操作日志菜单');
insert into sys_menu values('501', '登录日志', '108', '2', 'logininfor', 'monitor/logininfor/index', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 103, 1, sysdate, null, null, '登录日志菜单');
insert into sys_menu values('501', '登录日志', '108', '2', 'loginInfo', 'monitor/logininfo/index', '', 1, 0, 'C', '0', '0', 'monitor:loginInfo:list', 'loginInfo', 103, 1, sysdate, null, null, '登录日志菜单');
-- 用户管理按钮
insert into sys_menu values('1001', '用户查询', '100', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 103, 1, sysdate, null, null, '');
insert into sys_menu values('1002', '用户新增', '100', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 103, 1, sysdate, null, null, '');
@@ -413,10 +413,10 @@ insert into sys_menu values('1040', '操作查询', '500', '1', '#', '', '', 1,
insert into sys_menu values('1041', '操作删除', '500', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:remove', '#', 103, 1, sysdate, null, null, '');
insert into sys_menu values('1042', '日志导出', '500', '4', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:export', '#', 103, 1, sysdate, null, null, '');
-- 登录日志按钮
insert into sys_menu values('1043', '登录查询', '501', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:query', '#', 103, 1, sysdate, null, null, '');
insert into sys_menu values('1044', '登录删除', '501', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:remove', '#', 103, 1, sysdate, null, null, '');
insert into sys_menu values('1045', '日志导出', '501', '3', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:export', '#', 103, 1, sysdate, null, null, '');
insert into sys_menu values('1050', '账户解锁', '501', '4', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:unlock', '#', 103, 1, sysdate, null, null, '');
insert into sys_menu values('1043', '登录查询', '501', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfo:query', '#', 103, 1, sysdate, null, null, '');
insert into sys_menu values('1044', '登录删除', '501', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfo:remove', '#', 103, 1, sysdate, null, null, '');
insert into sys_menu values('1045', '日志导出', '501', '3', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfo:export', '#', 103, 1, sysdate, null, null, '');
insert into sys_menu values('1050', '账户解锁', '501', '4', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfo:unlock', '#', 103, 1, sysdate, null, null, '');
-- 在线用户按钮
insert into sys_menu values('1046', '在线查询', '109', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query', '#', 103, 1, sysdate, null, null, '');
insert into sys_menu values('1047', '批量强退', '109', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 103, 1, sysdate, null, null, '');
@@ -853,7 +853,7 @@ insert into sys_config values(11, 'OSS预览列表资源开关', 'sys.o
-- ----------------------------
-- 14、系统访问记录
-- ----------------------------
create table sys_logininfor (
create table sys_login_info (
info_id number(20) not null,
user_name varchar2(50) default '',
client_key varchar2(32) default '',
@@ -867,22 +867,22 @@ create table sys_logininfor (
login_time date
);
alter table sys_logininfor add constraint pk_sys_logininfor primary key (info_id);
create index idx_sys_logininfor_s on sys_logininfor (status);
create index idx_sys_logininfor_lt on sys_logininfor (login_time);
alter table sys_login_info add constraint pk_sys_login_info primary key (info_id);
create index idx_sys_login_info_s on sys_login_info (status);
create index idx_sys_login_info_lt on sys_login_info (login_time);
comment on table sys_logininfor is '系统访问记录';
comment on column sys_logininfor.info_id is '访问ID';
comment on column sys_logininfor.user_name is '登录账号';
comment on column sys_logininfor.client_key is '客户端';
comment on column sys_logininfor.device_type is '设备类型';
comment on column sys_logininfor.ipaddr is '登录IP地址';
comment on column sys_logininfor.login_location is '登录地点';
comment on column sys_logininfor.browser is '浏览器类型';
comment on column sys_logininfor.os is '操作系统';
comment on column sys_logininfor.status is '登录状态0成功 1失败';
comment on column sys_logininfor.msg is '提示消息';
comment on column sys_logininfor.login_time is '访问时间';
comment on table sys_login_info is '系统访问记录';
comment on column sys_login_info.info_id is '访问ID';
comment on column sys_login_info.user_name is '登录账号';
comment on column sys_login_info.client_key is '客户端';
comment on column sys_login_info.device_type is '设备类型';
comment on column sys_login_info.ipaddr is '登录IP地址';
comment on column sys_login_info.login_location is '登录地点';
comment on column sys_login_info.browser is '浏览器类型';
comment on column sys_login_info.os is '操作系统';
comment on column sys_login_info.status is '登录状态0成功 1失败';
comment on column sys_login_info.msg is '提示消息';
comment on column sys_login_info.login_time is '访问时间';
-- ----------------------------

View File

@@ -357,7 +357,7 @@ insert into sys_menu values('120', '任务调度中心', '2', '6', 'snailjo
-- 三级菜单
insert into sys_menu values('500', '操作日志', '108', '1', 'operlog', 'monitor/operlog/index', '', '1', '0', 'C', '0', '0', 'monitor:operlog:list', 'form', 103, 1, now(), null, null, '操作日志菜单');
insert into sys_menu values('501', '登录日志', '108', '2', 'logininfor', 'monitor/logininfor/index', '', '1', '0', 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 103, 1, now(), null, null, '登录日志菜单');
insert into sys_menu values('501', '登录日志', '108', '2', 'loginInfo', 'monitor/loginInfo/index', '', '1', '0', 'C', '0', '0', 'monitor:loginInfo:list', 'loginInfo', 103, 1, now(), null, null, '登录日志菜单');
-- 用户管理按钮
insert into sys_menu values('1001', '用户查询', '100', '1', '', '', '', '1', '0', 'F', '0', '0', 'system:user:query', '#', 103, 1, now(), null, null, '');
insert into sys_menu values('1002', '用户新增', '100', '2', '', '', '', '1', '0', 'F', '0', '0', 'system:user:add', '#', 103, 1, now(), null, null, '');
@@ -410,10 +410,10 @@ insert into sys_menu values('1040', '操作查询', '500', '1', '#', '', '', '1'
insert into sys_menu values('1041', '操作删除', '500', '2', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:operlog:remove', '#', 103, 1, now(), null, null, '');
insert into sys_menu values('1042', '日志导出', '500', '4', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:operlog:export', '#', 103, 1, now(), null, null, '');
-- 登录日志按钮
insert into sys_menu values('1043', '登录查询', '501', '1', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:logininfor:query', '#', 103, 1, now(), null, null, '');
insert into sys_menu values('1044', '登录删除', '501', '2', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:logininfor:remove', '#', 103, 1, now(), null, null, '');
insert into sys_menu values('1045', '日志导出', '501', '3', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:logininfor:export', '#', 103, 1, now(), null, null, '');
insert into sys_menu values('1050', '账户解锁', '501', '4', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:logininfor:unlock', '#', 103, 1, now(), null, null, '');
insert into sys_menu values('1043', '登录查询', '501', '1', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:loginInfo:query', '#', 103, 1, now(), null, null, '');
insert into sys_menu values('1044', '登录删除', '501', '2', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:loginInfo:remove', '#', 103, 1, now(), null, null, '');
insert into sys_menu values('1045', '日志导出', '501', '3', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:loginInfo:export', '#', 103, 1, now(), null, null, '');
insert into sys_menu values('1050', '账户解锁', '501', '4', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:loginInfo:unlock', '#', 103, 1, now(), null, null, '');
-- 在线用户按钮
insert into sys_menu values('1046', '在线查询', '109', '1', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:online:query', '#', 103, 1, now(), null, null, '');
insert into sys_menu values('1047', '批量强退', '109', '2', '#', '', '', '1', '0', 'F', '0', '0', 'monitor:online:batchLogout', '#', 103, 1, now(), null, null, '');
@@ -851,7 +851,7 @@ insert into sys_config values(11, 'OSS预览列表资源开关', 'sys.o
-- ----------------------------
-- 14、系统访问记录
-- ----------------------------
create table if not exists sys_logininfor
create table if not exists sys_login_info
(
info_id int8,
user_name varchar(50) default ''::varchar,
@@ -864,24 +864,24 @@ create table if not exists sys_logininfor
status char default '0'::bpchar,
msg varchar(255) default ''::varchar,
login_time timestamp,
constraint sys_logininfor_pk primary key (info_id)
constraint sys_login_info_pk primary key (info_id)
);
create index idx_sys_logininfor_s ON sys_logininfor (status);
create index idx_sys_logininfor_lt ON sys_logininfor (login_time);
create index idx_sys_login_info_s ON sys_login_info (status);
create index idx_sys_login_info_lt ON sys_login_info (login_time);
comment on table sys_logininfor is '系统访问记录';
comment on column sys_logininfor.info_id is '访问ID';
comment on column sys_logininfor.user_name is '用户账号';
comment on column sys_logininfor.client_key is '客户端';
comment on column sys_logininfor.device_type is '设备类型';
comment on column sys_logininfor.ipaddr is '登录IP地址';
comment on column sys_logininfor.login_location is '登录地点';
comment on column sys_logininfor.browser is '浏览器类型';
comment on column sys_logininfor.os is '操作系统';
comment on column sys_logininfor.status is '登录状态0成功 1失败';
comment on column sys_logininfor.msg is '提示消息';
comment on column sys_logininfor.login_time is '访问时间';
comment on table sys_login_info is '系统访问记录';
comment on column sys_login_info.info_id is '访问ID';
comment on column sys_login_info.user_name is '用户账号';
comment on column sys_login_info.client_key is '客户端';
comment on column sys_login_info.device_type is '设备类型';
comment on column sys_login_info.ipaddr is '登录IP地址';
comment on column sys_login_info.login_location is '登录地点';
comment on column sys_login_info.browser is '浏览器类型';
comment on column sys_login_info.os is '操作系统';
comment on column sys_login_info.status is '登录状态0成功 1失败';
comment on column sys_login_info.msg is '提示消息';
comment on column sys_login_info.login_time is '访问时间';
-- ----------------------------
-- 17、通知公告表

View File

@@ -232,7 +232,7 @@ insert into sys_menu values('120', '任务调度中心', '2', '6', 'snailjo
-- 三级菜单
insert into sys_menu values('500', '操作日志', '108', '1', 'operlog', 'monitor/operlog/index', '', 1, 0, 'C', '0', '0', 'monitor:operlog:list', 'form', 103, 1, sysdate(), null, null, '操作日志菜单');
insert into sys_menu values('501', '登录日志', '108', '2', 'logininfor', 'monitor/logininfor/index', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor', 103, 1, sysdate(), null, null, '登录日志菜单');
insert into sys_menu values('501', '登录日志', '108', '2', 'loginInfo', 'monitor/loginInfo/index', '', 1, 0, 'C', '0', '0', 'monitor:loginInfo:list', 'loginInfo', 103, 1, sysdate(), null, null, '登录日志菜单');
-- 用户管理按钮
insert into sys_menu values('1001', '用户查询', '100', '1', '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1002', '用户新增', '100', '2', '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 103, 1, sysdate(), null, null, '');
@@ -285,10 +285,10 @@ insert into sys_menu values('1040', '操作查询', '500', '1', '#', '', '', 1,
insert into sys_menu values('1041', '操作删除', '500', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1042', '日志导出', '500', '4', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:export', '#', 103, 1, sysdate(), null, null, '');
-- 登录日志按钮
insert into sys_menu values('1043', '登录查询', '501', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1044', '登录删除', '501', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1045', '日志导出', '501', '3', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:export', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1050', '账户解锁', '501', '4', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:unlock', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1043', '登录查询', '501', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:loginInfo:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1044', '登录删除', '501', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:loginInfo:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1045', '日志导出', '501', '3', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:loginInfo:export', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1050', '账户解锁', '501', '4', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:loginInfo:unlock', '#', 103, 1, sysdate(), null, null, '');
-- 在线用户按钮
insert into sys_menu values('1046', '在线查询', '109', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu values('1047', '批量强退', '109', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 103, 1, sysdate(), null, null, '');
@@ -645,7 +645,7 @@ insert into sys_config values(11, 'OSS预览列表资源开关', 'sys.os
-- ----------------------------
-- 14、系统访问记录
-- ----------------------------
create table sys_logininfor (
create table sys_login_info (
info_id bigint(20) not null comment '访问ID',
user_name varchar(50) default '' comment '用户账号',
client_key varchar(32) default '' comment '客户端',
@@ -658,8 +658,8 @@ create table sys_logininfor (
msg varchar(255) default '' comment '提示消息',
login_time datetime comment '访问时间',
primary key (info_id),
key idx_sys_logininfor_s (status),
key idx_sys_logininfor_lt (login_time)
key idx_sys_login_info_s (status),
key idx_sys_login_info_lt (login_time)
) engine=innodb comment = '系统访问记录';

View File

@@ -1102,7 +1102,7 @@ GO
INSERT sys_dict_type VALUES (12, N'设备类型', N'sys_device_type', 103, 1, getdate(), NULL, NULL, N'客户端设备类型')
GO
CREATE TABLE sys_logininfor
CREATE TABLE sys_login_info
(
info_id bigint NOT NULL,
user_name nvarchar(50) DEFAULT '' NULL,
@@ -1122,81 +1122,81 @@ CREATE TABLE sys_logininfor
ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX idx_sys_logininfor_s ON sys_logininfor (status)
CREATE NONCLUSTERED INDEX idx_sys_login_info_s ON sys_login_info (status)
GO
CREATE NONCLUSTERED INDEX idx_sys_logininfor_lt ON sys_logininfor (login_time)
CREATE NONCLUSTERED INDEX idx_sys_login_info_lt ON sys_login_info (login_time)
GO
EXEC sys.sp_addextendedproperty
'MS_Description', N'访问ID' ,
'SCHEMA', N'dbo',
'TABLE', N'sys_logininfor',
'TABLE', N'sys_login_info',
'COLUMN', N'info_id'
GO
EXEC sys.sp_addextendedproperty
'MS_Description', N'用户账号' ,
'SCHEMA', N'dbo',
'TABLE', N'sys_logininfor',
'TABLE', N'sys_login_info',
'COLUMN', N'user_name'
GO
EXEC sys.sp_addextendedproperty
'MS_Description', N'客户端' ,
'SCHEMA', N'dbo',
'TABLE', N'sys_logininfor',
'TABLE', N'sys_login_info',
'COLUMN', N'client_key'
GO
EXEC sys.sp_addextendedproperty
'MS_Description', N'设备类型' ,
'SCHEMA', N'dbo',
'TABLE', N'sys_logininfor',
'TABLE', N'sys_login_info',
'COLUMN', N'device_type'
GO
EXEC sys.sp_addextendedproperty
'MS_Description', N'登录IP地址' ,
'SCHEMA', N'dbo',
'TABLE', N'sys_logininfor',
'TABLE', N'sys_login_info',
'COLUMN', N'ipaddr'
GO
EXEC sys.sp_addextendedproperty
'MS_Description', N'登录地点' ,
'SCHEMA', N'dbo',
'TABLE', N'sys_logininfor',
'TABLE', N'sys_login_info',
'COLUMN', N'login_location'
GO
EXEC sys.sp_addextendedproperty
'MS_Description', N'浏览器类型' ,
'SCHEMA', N'dbo',
'TABLE', N'sys_logininfor',
'TABLE', N'sys_login_info',
'COLUMN', N'browser'
GO
EXEC sys.sp_addextendedproperty
'MS_Description', N'操作系统' ,
'SCHEMA', N'dbo',
'TABLE', N'sys_logininfor',
'TABLE', N'sys_login_info',
'COLUMN', N'os'
GO
EXEC sys.sp_addextendedproperty
'MS_Description', N'登录状态0成功 1失败' ,
'SCHEMA', N'dbo',
'TABLE', N'sys_logininfor',
'TABLE', N'sys_login_info',
'COLUMN', N'status'
GO
EXEC sys.sp_addextendedproperty
'MS_Description', N'提示消息' ,
'SCHEMA', N'dbo',
'TABLE', N'sys_logininfor',
'TABLE', N'sys_login_info',
'COLUMN', N'msg'
GO
EXEC sys.sp_addextendedproperty
'MS_Description', N'访问时间' ,
'SCHEMA', N'dbo',
'TABLE', N'sys_logininfor',
'TABLE', N'sys_login_info',
'COLUMN', N'login_time'
GO
EXEC sys.sp_addextendedproperty
'MS_Description', N'系统访问记录' ,
'SCHEMA', N'dbo',
'TABLE', N'sys_logininfor'
'TABLE', N'sys_login_info'
GO
CREATE TABLE sys_menu
@@ -1409,7 +1409,7 @@ INSERT sys_menu VALUES (120, N'任务调度中心', 2, 5, N'snailjob', N'monitor
GO
INSERT sys_menu VALUES (500, N'操作日志', 108, 1, N'operlog', N'monitor/operlog/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:operlog:list', N'form', 103, 1, getdate(), NULL, NULL, N'操作日志菜单')
GO
INSERT sys_menu VALUES (501, N'登录日志', 108, 2, N'logininfor', N'monitor/logininfor/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:logininfor:list', N'logininfor', 103, 1, getdate(), NULL, NULL, N'登录日志菜单')
INSERT sys_menu VALUES (501, N'登录日志', 108, 2, N'loginInfo', N'monitor/loginInfo/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:loginInfo:list', N'loginInfo', 103, 1, getdate(), NULL, NULL, N'登录日志菜单')
GO
INSERT sys_menu VALUES (1001, N'用户查询', 100, 1, N'', N'', N'', 1, 0, N'F', N'0', N'0', N'system:user:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
GO
@@ -1495,13 +1495,13 @@ INSERT sys_menu VALUES (1041, N'操作删除', 500, 2, N'#', N'', N'', 1, 0, N'F
GO
INSERT sys_menu VALUES (1042, N'日志导出', 500, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:operlog:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
GO
INSERT sys_menu VALUES (1043, N'登录查询', 501, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:logininfor:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
INSERT sys_menu VALUES (1043, N'登录查询', 501, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:loginInfo:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
GO
INSERT sys_menu VALUES (1044, N'登录删除', 501, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:logininfor:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
INSERT sys_menu VALUES (1044, N'登录删除', 501, 2, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:loginInfo:remove', N'#', 103, 1, getdate(), NULL, NULL, N'')
GO
INSERT sys_menu VALUES (1045, N'日志导出', 501, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:logininfor:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
INSERT sys_menu VALUES (1045, N'日志导出', 501, 3, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:loginInfo:export', N'#', 103, 1, getdate(), NULL, NULL, N'')
GO
INSERT sys_menu VALUES (1050, N'账户解锁', 501, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:logininfor:unlock', N'#', 103, 1, getdate(), NULL, NULL, N'')
INSERT sys_menu VALUES (1050, N'账户解锁', 501, 4, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:loginInfo:unlock', N'#', 103, 1, getdate(), NULL, NULL, N'')
GO
INSERT sys_menu VALUES (1046, N'在线查询', 109, 1, N'#', N'', N'', 1, 0, N'F', N'0', N'0', N'monitor:online:query', N'#', 103, 1, getdate(), NULL, NULL, N'')
GO