Create remote model
This command creates a data model with the specified name in the specified remote repository. A model is a logical container for entity instances defined by one Express schema. This Express schema must exist as a dictionary model in the EDMdatabase when this command is executed.
The created model is owned by the EDMuser who created it, and the owner group of the model is set to the callers current EDMgroup account at the time of model creation.
A model is 'read/write/none' protected with respect to owner, group and others. The default protection of a model is taken from the owners default model protection. The command RemoteSystems>UserAdm>SetDefaultProtection can be used to change the users default model protection. The command RemoteSystems>SystemAdm>DefineAccessRights can be used to change the access rights to a remote model for the owner, the group, and others, respectively.
This command offers a set of options that may be used to disable various features of a data model. These options may have great effect on system performance.
Arguments:
Server context name: |
Specify name of server context. |
Remote repository: |
Specify the name of the open remote repository where a model shall be created. Repository names are case sensitive. |
Remote schema: |
Specify the name of an Express schema that will be the basis, i.e., the underlying schema of the new remote model. This Express schema must exist as a dictionary model in the EDMdatabase when the Remote Systems>Models>Create model command is activated. Express schema names are case insensitive. |
Remote model: |
Specify the name of the remote model to be created. The model must have a name that is unique within the repository that holds the model, i.e., model names must be unique within a repository. The model name must start with a letter and the rest of the model name can be any mix of alphanumeric characters and the underscore character. Model names are case sensitive.. |
Options:
accumulating command output: |
A global option that appends the command output to the EDMsupervisor output window. Otherwise the output window is refreshed and only the last command output is displayed. |
exact match: |
A global option that specifies that the model with a name that exactly matches the arguments <Remote repository>, <Remote model> and <Remote schema> argument are handled. |
match selected input: |
A global option that specifies that only items that partly or exactly matches the string in the related argument input field when activating a Select button, will be in the selection list. An empty (blank) string will match all items. |
use default options: |
If only this option is checked, the model is created by sdaiCreateModel function. Otherwise the model is created by edmiCreateModel. |
user controlled inverse: |
To safeguard consistency inverse attributes are maintained implicitly by EDM, and users are prohibited from modifying such attributes. When this option is enabled, control of inverse attributes is left to the user/application for this specific model. After the user (user application) has taken control of updating inverse attributes of a data model, this control can never be taken over by EDM again for this particular model. |
unpacked model: |
Setting this option enables the database to operate in fragmented form – i.e. de-allocated space is not recovered. This setting may enable improved performance to the cost of more disc space usage. If this option is not set, the de-allocated space of the database will be recovered. |
no instance references: |
No "instance references tables" will be created and maintained in the actual model. The built in function USEDIN will not work correctly for such models. This state can never change in the lifetime of the actual model. |
delete instances with refs: |
Setting this option will permit instances to be deleted even though the instances are referenced by other instances, i.e., one or more other instances have one or more relations to the actual instance to be deleted. Instances that are referred to by any other instances cannot be deleted before all the references are deleted except when this option is set. So-called dangling pointers in the actual model can be the result when deleting an instance that is referenced by another instance. |
delete instance refs on delete: |
The delete instance operation will be legal for instances with references. The references to the actual instances will automatically be deleted when the actual instance is deleted. |