CREATE SCHEMA PUBLIC AUTHORIZATION DBA
CREATE CACHED TABLE "TABLEINFO"("ID" INTEGER NOT NULL PRIMARY KEY,"NAME" VARCHAR(50) NOT NULL,"DISPLAYNAME" VARCHAR(60) NOT NULL,"DESCRIPTION" VARCHAR(266),"DISPLAYORDER" INTEGER NOT NULL,"DEFAULTCANREAD" INTEGER,"DEFAULTCANWRITE" INTEGER,"DEFAULTCANDELETE" INTEGER,"CANCREATE" INTEGER,"CACHELIMIT" INTEGER,"SEQCACHED" BOOLEAN NOT NULL,"CATEGORY" INTEGER NOT NULL)
CREATE UNIQUE INDEX "TABLEINFO_ID_INDEX" ON "TABLEINFO"("ID")
CREATE UNIQUE INDEX "TABLEINFO_NAME_INDEX" ON "TABLEINFO"("NAME")
CREATE CACHED TABLE "COLUMNINFO"("DISPLAYNAME" VARCHAR(60) NOT NULL,"DESCRIPTION" VARCHAR(266),"USEREDITABLE" BOOLEAN NOT NULL,"TYPEFACTORY" INTEGER NOT NULL,"NULLABLE" BOOLEAN NOT NULL,"SIZE" INTEGER NOT NULL,"WIDTH" INTEGER NOT NULL,"HEIGHT" INTEGER NOT NULL,"PRECISION" INTEGER NOT NULL,"SCALE" INTEGER NOT NULL,"RENDERINFO" VARCHAR(266),"RANGELOW_STRING" VARCHAR(266),"RANGELIMIT_STRING" VARCHAR(266),"ID" INTEGER NOT NULL PRIMARY KEY,"TABLEINFO" INTEGER NOT NULL,"NAME" VARCHAR(50) NOT NULL,"DISPLAYORDER" INTEGER NOT NULL,"USERCREATEABLE" BOOLEAN NOT NULL,"DISPLAYLEVEL" INTEGER NOT NULL,"SEARCHABILITY" INTEGER NOT NULL,"DISPLAYORDERPRIORITY" INTEGER,"SORTDESCENDING" BOOLEAN,"INDEXED" BOOLEAN NOT NULL,"MELATI_UNIQUE" BOOLEAN NOT NULL,"INTEGRITYFIX" INTEGER,CONSTRAINT SYS_FK_93 FOREIGN KEY("TABLEINFO") REFERENCES "TABLEINFO"("ID"))
CREATE UNIQUE INDEX "COLUMNINFO_ID_INDEX" ON "COLUMNINFO"("ID")
CREATE INDEX "COLUMNINFO_NAME_INDEX" ON "COLUMNINFO"("NAME")
CREATE CACHED TABLE "TABLECATEGORY"("ID" INTEGER NOT NULL PRIMARY KEY,"NAME" VARCHAR(60) NOT NULL)
CREATE UNIQUE INDEX "TABLECATEGORY_ID_INDEX" ON "TABLECATEGORY"("ID")
CREATE UNIQUE INDEX "TABLECATEGORY_NAME_INDEX" ON "TABLECATEGORY"("NAME")
CREATE CACHED TABLE "USER"("ID" INTEGER NOT NULL PRIMARY KEY,"NAME" VARCHAR(60) NOT NULL,"LOGIN" VARCHAR(255) NOT NULL,"PASSWORD" VARCHAR(20) NOT NULL)
CREATE UNIQUE INDEX "USER_ID_INDEX" ON "USER"("ID")
CREATE INDEX "USER_NAME_INDEX" ON "USER"("NAME")
CREATE UNIQUE INDEX "USER_LOGIN_INDEX" ON "USER"("LOGIN")
CREATE CACHED TABLE "GROUP"("ID" INTEGER NOT NULL PRIMARY KEY,"NAME" VARCHAR(60) NOT NULL)
CREATE UNIQUE INDEX "GROUP_ID_INDEX" ON "GROUP"("ID")
CREATE UNIQUE INDEX "GROUP_NAME_INDEX" ON "GROUP"("NAME")
CREATE CACHED TABLE "CAPABILITY"("ID" INTEGER NOT NULL PRIMARY KEY,"NAME" VARCHAR(60) NOT NULL)
CREATE UNIQUE INDEX "CAPABILITY_ID_INDEX" ON "CAPABILITY"("ID")
CREATE UNIQUE INDEX "CAPABILITY_NAME_INDEX" ON "CAPABILITY"("NAME")
CREATE CACHED TABLE "GROUPMEMBERSHIP"("ID" INTEGER NOT NULL PRIMARY KEY,"USER" INTEGER NOT NULL,"GROUP" INTEGER NOT NULL,CONSTRAINT SYS_FK_59 FOREIGN KEY("USER") REFERENCES "USER"("ID") ON DELETE CASCADE,CONSTRAINT SYS_FK_62 FOREIGN KEY("GROUP") REFERENCES "GROUP"("ID"))
CREATE UNIQUE INDEX "GROUPMEMBERSHIP_ID_INDEX" ON "GROUPMEMBERSHIP"("ID")
CREATE INDEX "GROUPMEMBERSHIP_USER_INDEX" ON "GROUPMEMBERSHIP"("USER")
CREATE CACHED TABLE "GROUPCAPABILITY"("ID" INTEGER NOT NULL PRIMARY KEY,"GROUP" INTEGER NOT NULL,"CAPABILITY" INTEGER NOT NULL,CONSTRAINT SYS_FK_66 FOREIGN KEY("GROUP") REFERENCES "GROUP"("ID"),CONSTRAINT SYS_FK_69 FOREIGN KEY("CAPABILITY") REFERENCES "CAPABILITY"("ID"))
CREATE UNIQUE INDEX "GROUPCAPABILITY_ID_INDEX" ON "GROUPCAPABILITY"("ID")
CREATE CACHED TABLE "SETTING"("DISPLAYNAME" VARCHAR(60) NOT NULL,"DESCRIPTION" VARCHAR(266),"USEREDITABLE" BOOLEAN NOT NULL,"TYPEFACTORY" INTEGER NOT NULL,"NULLABLE" BOOLEAN NOT NULL,"SIZE" INTEGER NOT NULL,"WIDTH" INTEGER NOT NULL,"HEIGHT" INTEGER NOT NULL,"PRECISION" INTEGER NOT NULL,"SCALE" INTEGER NOT NULL,"RENDERINFO" VARCHAR(266),"RANGELOW_STRING" VARCHAR(266),"RANGELIMIT_STRING" VARCHAR(266),"ID" INTEGER NOT NULL PRIMARY KEY,"NAME" VARCHAR(200) NOT NULL,"VALUE" VARCHAR(266))
CREATE UNIQUE INDEX "SETTING_ID_INDEX" ON "SETTING"("ID")
CREATE UNIQUE INDEX "SETTING_NAME_INDEX" ON "SETTING"("NAME")
ALTER TABLE "TABLEINFO" ADD CONSTRAINT SYS_FK_77 FOREIGN KEY("DEFAULTCANREAD") REFERENCES "CAPABILITY"("ID")
ALTER TABLE "TABLEINFO" ADD CONSTRAINT SYS_FK_80 FOREIGN KEY("DEFAULTCANWRITE") REFERENCES "CAPABILITY"("ID")
ALTER TABLE "TABLEINFO" ADD CONSTRAINT SYS_FK_83 FOREIGN KEY("DEFAULTCANDELETE") REFERENCES "CAPABILITY"("ID")
ALTER TABLE "TABLEINFO" ADD CONSTRAINT SYS_FK_86 FOREIGN KEY("CANCREATE") REFERENCES "CAPABILITY"("ID")
ALTER TABLE "TABLEINFO" ADD CONSTRAINT SYS_FK_89 FOREIGN KEY("CATEGORY") REFERENCES "TABLECATEGORY"("ID")
CREATE USER SA PASSWORD ""
GRANT DBA TO SA
SET WRITE_DELAY 20
SET SCHEMA PUBLIC
INSERT INTO "TABLEINFO" VALUES(0,'user','User','A registered user of the database',2010,NULL,0,0,0,100,TRUE,0)
INSERT INTO "TABLEINFO" VALUES(1,'group','Group','A group to which registered users of the database can belong',2020,NULL,0,0,0,100,TRUE,0)
INSERT INTO "TABLEINFO" VALUES(2,'capability','Capability','A capability which users can be required to possess before accessing data',2030,NULL,0,0,0,100,TRUE,0)
INSERT INTO "TABLEINFO" VALUES(3,'groupmembership','Group membership','A record that a given user is a member of a given group',2040,NULL,0,0,0,100,FALSE,0)
INSERT INTO "TABLEINFO" VALUES(4,'groupcapability','Group capability','A record that users belonging to a given group possess a given capability',2050,NULL,0,0,0,100,FALSE,0)
INSERT INTO "TABLEINFO" VALUES(5,'tablecategory','Table type','A category under which a table can be classified',3030,NULL,0,0,0,999999999,TRUE,1)
INSERT INTO "TABLEINFO" VALUES(6,'tableinfo','Table','Configuration information about a table in the database',3010,NULL,0,0,0,999999999,TRUE,1)
INSERT INTO "TABLEINFO" VALUES(7,'columninfo','Column','Configuration information about a column in the database',3020,NULL,0,0,0,999999999,TRUE,1)
INSERT INTO "TABLEINFO" VALUES(8,'setting','Setting','A configurable setting for the application',3040,NULL,0,0,0,999999999,TRUE,1)
INSERT INTO "COLUMNINFO" VALUES('Id','The Table Row Object ID',FALSE,-1,FALSE,0,20,1,22,2,NULL,NULL,NULL,0,0,'id',10,FALSE,3,1,NULL,FALSE,TRUE,TRUE,2)
INSERT INTO "COLUMNINFO" VALUES('Full name','The user''s real name',TRUE,-7,FALSE,60,20,1,22,2,NULL,NULL,NULL,1,0,'name',20,TRUE,0,0,0,FALSE,TRUE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Login','The user''s login name',TRUE,-7,FALSE,255,20,1,22,2,NULL,NULL,NULL,2,0,'login',30,TRUE,1,1,NULL,FALSE,FALSE,TRUE,2)
INSERT INTO "COLUMNINFO" VALUES('Password','The user''s password',TRUE,-9,FALSE,20,10,1,22,2,NULL,NULL,NULL,3,0,'password',40,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Id','The Table Row Object ID',FALSE,-1,FALSE,0,20,1,22,2,NULL,NULL,NULL,4,1,'id',0,FALSE,3,1,NULL,FALSE,TRUE,TRUE,2)
INSERT INTO "COLUMNINFO" VALUES('Name','A human-readable name for the group',TRUE,-7,FALSE,60,20,1,22,2,NULL,NULL,NULL,5,1,'name',1,TRUE,0,0,0,FALSE,FALSE,TRUE,2)
INSERT INTO "COLUMNINFO" VALUES('Id','The Table Row Object ID',FALSE,-1,FALSE,0,20,1,22,2,NULL,NULL,NULL,6,2,'id',0,FALSE,3,1,NULL,FALSE,TRUE,TRUE,2)
INSERT INTO "COLUMNINFO" VALUES('Name','A human-readable name for the capability',TRUE,-7,FALSE,60,20,1,22,2,NULL,NULL,NULL,7,2,'name',1,TRUE,0,0,0,FALSE,FALSE,TRUE,2)
INSERT INTO "COLUMNINFO" VALUES('Id','The Table Row Object ID',FALSE,-1,FALSE,0,20,1,22,2,NULL,NULL,NULL,8,3,'id',0,FALSE,3,1,NULL,FALSE,TRUE,TRUE,2)
INSERT INTO "COLUMNINFO" VALUES('User','The user who belongs to the group',TRUE,0,FALSE,0,20,1,22,2,'SelectionWindow',NULL,NULL,9,3,'user',1,TRUE,1,1,0,FALSE,TRUE,FALSE,0)
INSERT INTO "COLUMNINFO" VALUES('Group','The group to which the user belongs',TRUE,1,FALSE,0,20,1,22,2,NULL,NULL,NULL,10,3,'group',2,TRUE,1,0,1,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Id','The Table Row Object ID',FALSE,-1,FALSE,0,20,1,22,2,NULL,NULL,NULL,11,4,'id',0,FALSE,3,1,NULL,FALSE,TRUE,TRUE,2)
INSERT INTO "COLUMNINFO" VALUES('Group','The user-group which has the capability',TRUE,1,FALSE,0,20,1,22,2,NULL,NULL,NULL,12,4,'group',1,TRUE,1,0,0,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Capability','The capability',TRUE,2,FALSE,0,20,1,22,2,NULL,NULL,NULL,13,4,'capability',2,TRUE,1,1,1,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Id','The Table Row Object ID',FALSE,-1,FALSE,0,20,1,22,2,NULL,NULL,NULL,14,5,'id',0,FALSE,1,1,NULL,FALSE,TRUE,TRUE,2)
INSERT INTO "COLUMNINFO" VALUES('Name','A human-readable name for the category',TRUE,-7,FALSE,60,20,1,22,2,NULL,NULL,NULL,15,5,'name',1,TRUE,0,0,0,FALSE,FALSE,TRUE,2)
INSERT INTO "COLUMNINFO" VALUES('Id','The Table Row Object ID',FALSE,-1,FALSE,0,20,1,22,2,NULL,NULL,NULL,16,6,'id',0,FALSE,3,1,NULL,FALSE,TRUE,TRUE,2)
INSERT INTO "COLUMNINFO" VALUES('Name','A code-name for the table',FALSE,-7,FALSE,50,20,1,22,2,NULL,NULL,NULL,17,6,'name',1,TRUE,2,2,NULL,FALSE,FALSE,TRUE,2)
INSERT INTO "COLUMNINFO" VALUES('Display name','A user-friendly name for the table',TRUE,-7,FALSE,60,20,1,22,2,NULL,NULL,NULL,18,6,'displayname',2,TRUE,0,1,1,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Description','A brief description of the table''s function',TRUE,-7,TRUE,-1,20,1,22,2,NULL,NULL,NULL,19,6,'description',3,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Display order','A rank determining where the table appears in the list of all tables',TRUE,-5,FALSE,0,20,1,22,2,NULL,NULL,NULL,20,6,'displayorder',4,TRUE,1,1,0,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Default `read'' capability','The capability required, by default, for reading the table''s records',TRUE,2,TRUE,0,20,1,22,2,NULL,NULL,NULL,21,6,'defaultcanread',5,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Default `write'' capability','The capability required, by default, for updating the table''s records',TRUE,2,TRUE,0,20,1,22,2,NULL,NULL,NULL,22,6,'defaultcanwrite',6,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Default `delete'' capability','The capability required, by default, for deleting the table''s records',TRUE,2,TRUE,0,20,1,22,2,NULL,NULL,NULL,23,6,'defaultcandelete',7,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Default `create'' capability','The capability required, by default, for creating records in the table',TRUE,2,TRUE,0,20,1,22,2,NULL,NULL,NULL,24,6,'cancreate',8,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Cache size limit','The maximum number of records from the table to keep in the cache',TRUE,-5,TRUE,0,20,1,22,2,NULL,NULL,NULL,25,6,'cachelimit',9,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Record sequence cached','Whether the display sequence for the table''s records is cached',TRUE,-4,FALSE,0,20,1,22,2,NULL,NULL,NULL,26,6,'seqcached',10,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Category','Which category the table falls into',TRUE,5,FALSE,0,20,1,22,2,NULL,NULL,NULL,27,6,'category',11,TRUE,2,0,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Display name','A user-friendly name for the field',TRUE,-7,FALSE,60,20,1,22,2,NULL,NULL,NULL,28,7,'displayname',100,TRUE,0,1,2,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Description','A brief description of the field''s function',TRUE,-7,TRUE,-1,20,1,22,2,NULL,NULL,NULL,29,7,'description',101,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('User-editable','Whether it makes sense for the user to update the field''s value',TRUE,-4,FALSE,0,20,1,22,2,NULL,NULL,NULL,30,7,'usereditable',200,TRUE,3,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Type','The field''s Melati type',FALSE,-3,FALSE,0,20,1,22,2,NULL,NULL,NULL,31,7,'typefactory',201,TRUE,3,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Nullable','Whether the field can be empty',FALSE,-4,FALSE,0,20,1,22,2,NULL,NULL,NULL,32,7,'nullable',202,TRUE,3,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Size','For character fields, the maximum number of characters that can be stored, (-1 for unlimited)',FALSE,-5,FALSE,0,20,1,22,2,NULL,NULL,NULL,33,7,'size',203,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Input-box width','A sensible width for text boxes used for entering the field, where appropriate',TRUE,-5,FALSE,0,20,1,22,2,NULL,NULL,NULL,34,7,'width',204,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Input-box height','A sensible height for text boxes used for entering the field, where appropriate',TRUE,-5,FALSE,0,20,1,22,2,NULL,NULL,NULL,35,7,'height',205,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Precision','Precision (total number of digits) for fixed-point numbers',FALSE,-5,FALSE,0,20,1,22,2,NULL,NULL,NULL,36,7,'precision',206,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Scale','Scale (number of digits after the decimal) for fixed-point numbers',FALSE,-5,FALSE,0,20,1,22,2,NULL,NULL,NULL,37,7,'scale',207,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Rendering information','The name of the Melati templet (if not the default) to use for input controls for the field',TRUE,-7,TRUE,-1,20,1,22,2,NULL,NULL,NULL,38,7,'renderinfo',208,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Range: low','The low end of the range of permissible values for the field',TRUE,-7,TRUE,-1,20,1,22,2,NULL,NULL,NULL,39,7,'rangelow_string',209,TRUE,3,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Range: limit','The (exclusive) limit of the range of permissible values for the field',TRUE,-7,TRUE,-1,20,1,22,2,NULL,NULL,NULL,40,7,'rangelimit_string',210,TRUE,3,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Id',NULL,FALSE,-1,FALSE,0,20,1,22,2,NULL,NULL,NULL,41,7,'id',0,FALSE,1,1,NULL,FALSE,TRUE,TRUE,2)
INSERT INTO "COLUMNINFO" VALUES('Owning table','The table to which the field belongs',FALSE,6,FALSE,0,20,1,22,2,NULL,NULL,NULL,42,7,'tableinfo',1,TRUE,1,0,0,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Name','A code-name for the field',FALSE,-7,FALSE,50,20,1,22,2,NULL,NULL,NULL,43,7,'name',300,TRUE,2,2,NULL,FALSE,TRUE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Display order','A rank determining where the field appears in lists',TRUE,-5,FALSE,0,20,1,22,2,NULL,NULL,NULL,44,7,'displayorder',301,TRUE,2,2,1,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('User-createable','Whether it makes sense for the user to initialise the field''s value',TRUE,-4,FALSE,0,20,1,22,2,NULL,NULL,NULL,45,7,'usercreateable',302,TRUE,3,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Display level','A category determining what granularity of report the field appears in',TRUE,-11,FALSE,0,20,1,22,2,NULL,NULL,NULL,46,7,'displaylevel',303,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Searchability','A category determining what level of searching this field supports',TRUE,-12,FALSE,0,20,1,22,2,NULL,NULL,NULL,47,7,'searchability',304,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Display order priority','If present, the level at which lists of records are sorted by the field',TRUE,-5,TRUE,0,20,1,22,2,NULL,NULL,NULL,48,7,'displayorderpriority',305,TRUE,1,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Sort Descending','Whether when sorting by this column, the sort order should be reversed',TRUE,-4,TRUE,0,20,1,22,2,NULL,NULL,NULL,49,7,'sortdescending',306,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Indexed','Whether the field is indexed (ignored if the field is marked `unique'')',FALSE,-4,FALSE,0,20,1,22,2,NULL,NULL,NULL,50,7,'indexed',307,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Unique','Whether the field is unique (implies that it''s `indexed'')',FALSE,-4,FALSE,0,20,1,22,2,NULL,NULL,NULL,51,7,'unique',308,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Integrity fix','How referential integrity is maintained, what to do when the object referred to is deleted',TRUE,-15,TRUE,0,20,1,22,2,NULL,NULL,NULL,52,7,'integrityfix',309,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Display name','A user-friendly name for the field',TRUE,-7,FALSE,60,20,1,22,2,NULL,NULL,NULL,53,8,'displayname',100,TRUE,0,1,2,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Description','A brief description of the field''s function',TRUE,-7,TRUE,-1,20,1,22,2,NULL,NULL,NULL,54,8,'description',101,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('User-editable','Whether it makes sense for the user to update the field''s value',TRUE,-4,FALSE,0,20,1,22,2,NULL,NULL,NULL,55,8,'usereditable',200,TRUE,3,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Type','The field''s Melati type',FALSE,-3,FALSE,0,20,1,22,2,NULL,NULL,NULL,56,8,'typefactory',201,TRUE,3,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Nullable','Whether the field can be empty',FALSE,-4,FALSE,0,20,1,22,2,NULL,NULL,NULL,57,8,'nullable',202,TRUE,3,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Size','For character fields, the maximum number of characters that can be stored, (-1 for unlimited)',FALSE,-5,FALSE,0,20,1,22,2,NULL,NULL,NULL,58,8,'size',203,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Input-box width','A sensible width for text boxes used for entering the field, where appropriate',TRUE,-5,FALSE,0,20,1,22,2,NULL,NULL,NULL,59,8,'width',204,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Input-box height','A sensible height for text boxes used for entering the field, where appropriate',TRUE,-5,FALSE,0,20,1,22,2,NULL,NULL,NULL,60,8,'height',205,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Precision','Precision (total number of digits) for fixed-point numbers',FALSE,-5,FALSE,0,20,1,22,2,NULL,NULL,NULL,61,8,'precision',206,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Scale','Scale (number of digits after the decimal) for fixed-point numbers',FALSE,-5,FALSE,0,20,1,22,2,NULL,NULL,NULL,62,8,'scale',207,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Rendering information','The name of the Melati templet (if not the default) to use for input controls for the field',TRUE,-7,TRUE,-1,20,1,22,2,NULL,NULL,NULL,63,8,'renderinfo',208,TRUE,2,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Range: low','The low end of the range of permissible values for the field',TRUE,-7,TRUE,-1,20,1,22,2,NULL,NULL,NULL,64,8,'rangelow_string',209,TRUE,3,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Range: limit','The (exclusive) limit of the range of permissible values for the field',TRUE,-7,TRUE,-1,20,1,22,2,NULL,NULL,NULL,65,8,'rangelimit_string',210,TRUE,3,2,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "COLUMNINFO" VALUES('Id','The Table Row Object ID',FALSE,-1,FALSE,0,20,1,22,2,NULL,NULL,NULL,66,8,'id',0,FALSE,1,1,NULL,FALSE,TRUE,TRUE,2)
INSERT INTO "COLUMNINFO" VALUES('Name','A code name for this setting',TRUE,-7,FALSE,200,20,1,22,2,NULL,NULL,NULL,67,8,'name',1,TRUE,1,0,NULL,FALSE,FALSE,TRUE,2)
INSERT INTO "COLUMNINFO" VALUES('Value','The value of this setting',TRUE,-7,TRUE,-1,20,1,22,2,NULL,NULL,NULL,68,8,'value',150,TRUE,1,1,NULL,FALSE,FALSE,FALSE,2)
INSERT INTO "TABLECATEGORY" VALUES(0,'User')
INSERT INTO "TABLECATEGORY" VALUES(1,'System')
INSERT INTO "TABLECATEGORY" VALUES(2,'Normal')
INSERT INTO "USER" VALUES(0,'Melati guest user','_guest_','guest')
INSERT INTO "USER" VALUES(1,'Melati database administrator','_administrator_','FIXME')
INSERT INTO "GROUP" VALUES(0,'Melati database administrators')
INSERT INTO "CAPABILITY" VALUES(0,'_administer_')
INSERT INTO "CAPABILITY" VALUES(1,'canRead')
INSERT INTO "CAPABILITY" VALUES(2,'canWrite')
INSERT INTO "CAPABILITY" VALUES(3,'canDelete')
INSERT INTO "CAPABILITY" VALUES(4,'canSelect')
INSERT INTO "GROUPMEMBERSHIP" VALUES(0,1,0)
INSERT INTO "GROUPCAPABILITY" VALUES(0,0,0)
