SQL executed by the Supervisor product when creating a user:
//Check if the user doesn't already exist
select M_ACTOR_N_ID from OBJ_M_ACTOR where
M_ACTOR_N_TYPE = 16
and M_ACTOR_C_NAME = 'u3' and M_ACTOR_N_LAT <> 1
//Look for deleted lines to reuse them
select M_ACTOR_N_ID from OBJ_M_ACTOR where
M_ACTOR_N_LAT = 1
order by M_ACTOR_N_LAD asc
//Get the last magic id for user definition
(ACTORDEF)
select M_MAGIC_N_ID from OBJ_M_MAGICID
where M_MAGIC_C_NAME = 'ACTORDEF'
//Add 1 to the magic id
update OBJ_M_MAGICID set M_MAGIC_N_ID = 13
where M_MAGIC_C_NAME = 'ACTORDEF' and M_MAGIC_N_ID = 12
//Insert user definition
insert into OBJ_M_ACTOR
(M_ACTOR_N_ID,M_ACTOR_N_TYPE,M_ACTOR_N_LEVEL,M_ACTOR_C_NAME,M_ACTOR_C_
PASSWORD,M_ACTOR_N_AUTID,M_ACTOR_N_LAD,M_ACTOR_N_LAT,M_ACTOR_N_STATUS,
M_ACTOR_N_ENDING,M_ACTOR_N_CNTDOWN) values (13 , 16 , 0 ,'u3','', 1 , 2087474088 , 2 , 1 , 0 , 0)
//Get the last magic id for the user instance
priority (4.1 only)
select M_MAGIC_N_ID from OBJ_M_MAGICID where
M_MAGIC_C_NAME = 'USER'
//Add 1 to the magic id
update OBJ_M_MAGICID set M_MAGIC_N_ID = 15 where
M_MAGIC_C_NAME = 'USER' and M_MAGIC_N_ID = 14
//Check that the user doesn't already belong
to that group
select M_ACTL_N_ID from OBJ_M_ACTORLINK where
M_ACTL_N_ACTORID = 13
and M_ACTL_N_FATLINKID = 1 and M_ACTL_N_LAT <> 1
//Look for deleted lines to reuse them select
M_ACTL_N_ID from OBJ_M_ACTORLINK
where M_ACTL_N_LAT = 1 order by M_ACTL_N_LAD asc
//Get the last magic id for the user instance
select M_MAGIC_N_ID from OBJ_M_MAGICID
where M_MAGIC_C_NAME = 'ACTORLINK'
//Add 1 to the magic id
update OBJ_M_MAGICID set M_MAGIC_N_ID = 1003
where M_MAGIC_C_NAME = 'ACTORLINK' and M_MAGIC_N_ID = 1002
//Insert user instance
insert into OBJ_M_ACTORLINK (M_ACTL_N_ID,
M_ACTL_N_ACTORID, M_ACTL_N_ACTORTYPE, M_ACTL_N_STATUS, M_ACTL_N_FATLINKID, M_ACTL_N_INFO,
M_ACTL_N_LAD, M_ACTL_N_LAT) values (1003 , 13 , 16 , 0 , 1 , 15 , 2087474089 , 2)
The simplest SQL to run to insert a user into
the Repository:
//Set the user definition magic id to a high, unused
value
update OBJ_M_MAGICID set M_MAGIC_N_ID = 500
where M_MAGIC_C_NAME = 'ACTORDEF'
//Insert user definition
insert into OBJ_M_ACTOR
(M_ACTOR_N_ID,M_ACTOR_N_TYPE,M_ACTOR_N_LEVEL,M_ACTOR_C_NAME,M_ACTOR_C_
PASSWORD,M_ACTOR_N_AUTID,M_ACTOR_N_LAD,M_ACTOR_N_LAT,M_ACTOR_N_STATUS,
M_ACTOR_N_ENDING,M_ACTOR_N_CNTDOWN) values (500 , 16 , 0 ,'MyUser','', 1 , 800000000 , 2 ,
1 , 0 , 0)
//Set the user instance magic id to a high, unused
value
update OBJ_M_MAGICID set M_MAGIC_N_ID = 1500
where M_MAGIC_C_NAME = 'ACTORLINK'
//Insert user instance (attached to root group)
insert into OBJ_M_ACTORLINK (M_ACTL_N_ID,
M_ACTL_N_ACTORID, M_ACTL_N_ACTORTYPE, M_ACTL_N_STATUS, M_ACTL_N_FATLINKID, M_ACTL_N_INFO,
M_ACTL_N_LAD, M_ACTL_N_LAT) values (1500 , 500 , 16 , 0 , 1 , 0 , 800000000 , 2)