extern char *whoami, *strsave();
+extern int ingres_errno;
/* Specialized Access Routines */
## repeat retrieve (flag = any(filesys.#name where filesys.#name = @login))
if (flag)
return(SMS_IN_USE);
+ if (ingres_errno != 0) return(ingres_errno);
com_err(whoami, 0, "new login name OK");
/* choose place for pobox, put in mid */
## where sh.service = "POP" and m.mach_id = sh.mach_id and
## sh.value2 - sh.value1 = max(sh.value2-sh.value1 where sh.service="POP")
## inquire_equel(rowcount = "rowcount");
+ if (ingres_errno != 0) return(ingres_errno);
if (rowcount == 0)
return(SMS_NO_POBOX);
## pmodwith=@entity)
## where u.#users_id = @users_id
## inquire_equel(rowcount = "rowcount");
+ if (ingres_errno != 0) return(ingres_errno);
if (rowcount != 1)
return(SMS_INTERNAL);
set_pop_usage(mid, 1);
return(SMS_NO_ID);
## repeat retrieve (list_id = values.value) where values.name = "list_id"
## inquire_equel(rowcount = "rowcount");
+ if (ingres_errno != 0) return(ingres_errno);
if (rowcount != 1)
return(SMS_INTERNAL);
## repeat append list (name = @login, #list_id = @list_id, active = 1,
## modby = @who, modwith = @entity)
## where values.name = "gid"
## inquire_equel(rowcount = "rowcount");
+ if (ingres_errno != 0) return(ingres_errno);
if (rowcount != 1)
return(SMS_INTERNAL);
## repeat append members (#list_id = @list_id, member_type = "USER",
## member_id = @users_id)
## inquire_equel(rowcount = "rowcount");
+ if (ingres_errno != 0) return(ingres_errno);
if (rowcount != 1)
return(SMS_INTERNAL);
com_err(whoami, 0, "group list created");
m_id = mid;
}
## }
+ if (ingres_errno != 0) return(ingres_errno);
if (maxsize == 0)
return(SMS_NO_FILESYS);
## modby = @who, modwith = @entity)
## where values.name = "filsys_id"
## inquire_equel(rowcount = "rowcount");
+ if (ingres_errno != 0) return(ingres_errno);
if (rowcount != 1)
return(SMS_INTERNAL);
com_err(whoami, 0, "filesys created on mach %d in %s/%s", m_id,
/* set quota */
## repeat retrieve (quota = values.value) where values.name = "def_quota"
## inquire_equel(rowcount = "rowcount");
+ if (ingres_errno != 0) return(ingres_errno);
if (rowcount != 1)
return(SMS_NO_QUOTA);
## repeat append nfsquota (#users_id = @users_id, filsys_id = values.value,
## modby = @who, modwith = @entity)
## where values.name = "filsys_id"
## inquire_equel(rowcount = "rowcount");
+ if (ingres_errno != 0) return(ingres_errno);
if (rowcount != 1)
return(SMS_INTERNAL);
## repeat replace nfsphys (allocated = nfsphys.allocated + @quota)
## where nfsphys.nfsphys_id = filesys.#phys_id and
## filesys.filsys_id = values.value and values.name = "filsys_id"
## inquire_equel(rowcount = "rowcount");
+ if (ingres_errno != 0) return(ingres_errno);
if (rowcount != 1)
return(SMS_INTERNAL);
com_err(whoami, 0, "quota of %d assigned", quota);
## repeat replace tblstats (updates = tblstats.updates + 1, modtime = "now")
## where tblstats.table = "users"
+ if (ingres_errno != 0) return(ingres_errno);
## repeat replace tblstats (appends = tblstats.appends + 1, modtime = "now")
## where tblstats.table = "list" or tblstats.table = "filesys" or
## tblstats.table = "nfsquota"
+ if (ingres_errno != 0) return(ingres_errno);
return(SMS_SUCCESS);
##}