github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/parser/sql_example_syspkg/system.vsql (about) 1 -- Copyright (c) 2020-present unTill Pro, Ltd. 2 3 -- note: this schema is for tests only. Voedger sys package uses copy of this schema 4 5 ABSTRACT TABLE CRecord(); 6 ABSTRACT TABLE WRecord(); 7 ABSTRACT TABLE ORecord(); 8 9 ABSTRACT TABLE CDoc INHERITS CRecord(); 10 ABSTRACT TABLE ODoc INHERITS ORecord(); 11 ABSTRACT TABLE WDoc INHERITS WRecord(); 12 13 ABSTRACT TABLE CSingleton INHERITS CDoc(); 14 ABSTRACT TABLE WSingleton INHERITS WDoc(); 15 16 ABSTRACT WORKSPACE Workspace ( 17 TYPE CreateLoginParams( 18 Login varchar, 19 AppName varchar, 20 SubjectKind int32, 21 WSKindInitializationData varchar(1024), 22 ProfileCluster int32 23 ); 24 TYPE CreateLoginUnloggedParams( 25 Password varchar 26 ); 27 EXTENSION ENGINE BUILTIN ( 28 COMMAND CreateLogin(CreateLoginParams, UNLOGGED CreateLoginUnloggedParams) RETURNS void; 29 COMMAND UpdateSubscription(any) RETURNS any; 30 QUERY UPTerminalWebhook(any) RETURNS any; 31 ) 32 ); 33 34 ALTERABLE WORKSPACE AppWorkspaceWS(); 35 36 ALTERABLE WORKSPACE Profile( 37 38 ); 39 40 /* 41 Specify sys.Raw as a command/function parameter to pass raw data to the command/function. 42 The data isn't valudated by the core. 43 An extension accesses the data by reading the "Body" field from the argument. 44 */ 45 TYPE Raw( 46 Body varchar(65535) 47 ); 48 49 EXTENSION ENGINE BUILTIN ( 50 51 STORAGE Record( 52 GET SCOPE(COMMANDS, QUERIES, PROJECTORS), 53 GETBATCH SCOPE(COMMANDS, QUERIES, PROJECTORS), 54 INSERT SCOPE(COMMANDS), 55 UPDATE SCOPE(COMMANDS) 56 ) ENTITY RECORD; -- used to validate projector state/intents declaration 57 58 59 STORAGE View( 60 GET SCOPE(COMMANDS, QUERIES, PROJECTORS), 61 GETBATCH SCOPE(COMMANDS, QUERIES, PROJECTORS), 62 READ SCOPE(QUERIES, PROJECTORS), 63 INSERT SCOPE(PROJECTORS), 64 UPDATE SCOPE(PROJECTORS) 65 ) ENTITY VIEW; 66 67 STORAGE WLog( 68 GET SCOPE(COMMANDS, QUERIES, PROJECTORS), 69 READ SCOPE(QUERIES, PROJECTORS) 70 ); 71 72 STORAGE PLog( 73 GET SCOPE(COMMANDS, QUERIES, PROJECTORS), 74 READ SCOPE(QUERIES, PROJECTORS) 75 ); 76 77 STORAGE AppSecret( 78 GET SCOPE(COMMANDS, QUERIES, PROJECTORS) 79 ); 80 81 STORAGE Subject( 82 GET SCOPE(COMMANDS, QUERIES) 83 ); 84 85 STORAGE Http ( 86 READ SCOPE(QUERIES, PROJECTORS) 87 ); 88 89 STORAGE SendMail( 90 INSERT SCOPE(PROJECTORS) 91 ); 92 93 STORAGE CmdResult( 94 INSERT SCOPE(COMMANDS) 95 ); 96 97 )