Feldman Query Language
1 Common syntax
1.1 CREATE TYPE
CREATE TYPE type_name INHERITED FROM type_name1 create_plus
CREATE TYPE type_name INCLUDED INTO type_name1 create_plus
create_plus ::= [EXECUTE][AUTO WHEN action AS object_name UNDER object_id
1.2 Drop type
DROP TYPE type_name
1.3 Add to type
ADD TO TYPE type_name DATA ELEMENT element_name data_element
data_element ::= column_type | file_type | key_declare
column_type ::= REAL | INTEGER | TEXT | DATE | TIME | TIMESTAMP | BOOLEAN |
PASSWORD
file_type ::= EXTENTION doc | gif | jpg | …
key_declare ::= LINK TO type_name1
1.4 Drop from type
DROP FROM TYPE type_name DATA ELEMENT element_name
1.5 Create object
CREATE OBJECT object_name OF TYPE type_name UNDER OBJECT object_id
1.6 Move object
MOVE OBJECT object_id UNDER OBJECT object_id1
object_id ::= outer_id | inner_id | object_name UNDER object_id1
1.7 Create copy
CREATE COPY OF OBJECT object_id [NAMED object_name1]
1.8 Create shortcut
CREATE SHORTCUT TO OBJECT object_id [NAMED object_name1]
1.9 Create and move
CREATE AND MOVE COPY OF object_id UNDER object_id1
CREATE AND MOVE SHORTCUT TO object_id UNDER object_id1
1.10 Delete object
DELETE OBJECT object_id
1.11 Update object
UPDATE OBJECT object_name SET assign_statement
assign_statement ::= element_assign | file_assign | key_assign
element_assign ::= element_name=element_value
file_assign ::= element_name = local_path
key_assign ::= element_name = object_id
1.12 Flag
SET FLAG flag_name FOR USER user_id
STOP FLAG flag_name FOR USER user_id
flag_name ::= ISADMIN | …
1.13 Send object
SEND OBJECT object_id TO USER user_id
SEND OBJECT object_id TO GROUP group_id
SEND_OBJECT object_id BACK
2 Statements before the start
Create type OBJECT
Add to type OBJECT data element CODE text
Add to type OBJECT data element NAME text
Add to type OBJECT data element COMMENT text
Add to type OBJECT data element STATUS text
Create object OBJECT of type OBJECT
Create type XUSER inherited from OBJECT
Add to type XUSER data element PASSWORD password
Create object SYSADMIN of type XUSER under OBJECT
Set flag ISADMIN to user SYSADMIN
Create type LICENSE included in XUSER only for flag ISADMIN
Add to type LICENSE data element LICTYPE link to TYPE
Create type FOLDER included in any type
Create type POSTOFFICE auto when (send object X to group V) under V with name
X
Execute type POSTOFFICE as procedure
Create type QUERY included in XUSER only for flag ISADMIN execute
Create type DOCUMENT included in FOLDER
Create type WEBPAGE included in FOLDER execute