Frequently Asked Questions
What is The Main Table?
The main table is the table that is associated with an owner object. This table is represented by a data source. The owner object is the class that owns the relation which was dragged to create the main table (or representation). At runtime, the table will be filled with rows that are created each time an instance of the row owner object is created. The table receives attributes that are owned by the row owner object.
What is the Properties Table?
The Properties table is the table of properties for the representation. This table is represented by a data source. The Properties table contains attributes used to represent the owner object. This table will contain one, and only one, row.
What is Autocommit Mode?
In the Server/Views integration, a table is said to be in autocommit mode when the updates performed on a gadget are automatically committed by the server. The exact autocommit mechanism can be broken down as follows:
-
Any update in a gadget is automatically sent to the server.
-
The server validates the updates.
-
The server either notifies the components if the update is accepted or rolls back if the update is refused.
By default, autocommit mode is active in Server Studio. This is not the case in Views, where by default, the updates must be explicitly validated before the underlying table is modified. Views provides a navigator gadget (IliDbNavigator) that can be used to validate updates in a panel. If you want to use the Views navigator, you can set the data source so that it is not in autocommit mode. In this way, the updates will be sent to the server once they are validated via the navigator. This mechanism also applies if you want to validate using the Views API or the Views global callback @Validate.
Auto-Commit is an attribute of the Server data source. It can be disabled for one particular instance of a data source via the Edit Table Representation Properties dialog box.
Edit Table Representation Properties Dialog Box
Note that Autocommit option applies only to the Main table. The Properties table is always in autocommit mode.
Runtime Error Message: “Row attached to an IlsSwTable with no memory table…”
Problem
More than one table representation (that is, instances of the class IlsSwTable) are trying to use the same set of Views data sources. A representation condition is probably missing for theIlsSwTable in the view specification file.
Only the last created table representation is attached to the Views data sources. The message above is displayed when notification is propagated to a row in an unattached table.
Solution
See Creating Multiple-Row-Type Table Representations to learn how to work around this problem.