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  )