MetaDataUpdate property editor

This is a feature of JBuilder Professional and Enterprise.

To display this property editor, choose the metaDataUpdate property from the Inspector when any StorageDataSet component (such as a QueryDataSet) is selected in the structure pane. The values specified in this dialog are defined in the MetaDataUpdate interface and are stored in the metaDataUpdate property of the StorageDataSet. Use the MetaDataUpdate property editor to set properties associated with metadata discovery when executing a query statement or stored procedure against a server database. Metadata is information about the data: its structure, data type, and so on. Typically, this information is extracted from the server database. In some cases, you can instruct JBuilder to extract only some or none of the metadata using constants defined for this property. Reducing the amount of metadata that JBuilder needs to obtain from your server database can improve performance, however, this is only possible in cases where the structure of your data on the server does not change.

For more information on:

Update These Column Properties

By default, all properties are selected. Click a property to include or exclude that property from metadata discovery. Metadata is obtained from the server database for all checked properties. When a property is checked, and the DataSet is opened, metadata obtained from the server overrides any developer-specified settings.

Property Description
TableName Sets the tableName and schemaName properties of the StorageDataSet from the metadata when opening the DataSet. Persistent column information is also set. The default resolver (QueryResolver), needs this information to make update queries. This constant has no effect for ProcedureDataSet components.
RowId Specifies that a query should be analyzed for updateability. If set, the query string may be (automatically) changed to include columns that can identify a row in a table. The rowID property is set or reset on all columns, overriding the settings in any persistent columns. The default resolver (QueryResolver) needs this information to make update queries. This constant has no effect for ProcedureDataSet components.
Precision Specifies that the precision property of the persistent column should be overridden by the value detected in the driver's metadata. The precision property stores the degree of accuracy to be used for the Column in data-aware controls. For a String column, precision represents the maximum length of a value.
Scale Specifies that the scale property of the persistent column should be overridden by the value detected in the driver's metadata. The scale property specifies the number of digits to the right of the decimal point for BIGDECIMAL values.
Searchable Specifies that the searchable property of the persistent column should be overridden by the value detected in the driver's metadata. Not all servers allow search operations on all data types, for example, binary data is commonly not searchable. Columns that are not searchable are not used in the comparisons of an update query, even when the updateMode property is set to ALL_COLUMNS.

All

Automatically selects all MetaDataUpdate properties. This means that when the DataSet is opened, metadata obtained from the server overrides the following settings:

None

Automatically deselects all MetaDataUpdate properties. None of the above-listed properties are overridden by metadata obtained from the database server. Therefore, you must specify values for these properties for any persistent Column components in the StorageDataSet.

Choose this option if you prefer to specify the metadata rather than have JBuilder obtain this information from the database server. For example, you might be able to provide a better RowId than what the database server indicates. Also, for some queries, the server cannot determine a unique RowId and therefore, the DataSet is treated as not updateable. If you know that a given column or set of columns makes each row of data unique, you can provide this information and possibly make the DataSet updateable.