|
Query |
|
| |||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
com.sas.iquery.metadata.business.ModelVersion
public class ModelVersion
Specifies an object that represents the version of a SAS Query Services model (information map or data selection). ModelVersion objects are comparable and immutable.
IQ has two main model types -- information maps and data selections. The version-management for these models is handled identically between the two types of models. The rules for SAS Query Services model version management are given below.
SAS Query Services' models are persisted in XML form. New modeling additions typically cause new XML elements or attributes to be written when the models are persisted. Because older release software would not recognize (either causing an error or ignoring) any new elements & attributes, older software doesn't see a proper picture a newer model as it was saved with the newer release software and is why it is prevented from reading in the model containing the newer version persistence.
Sometimes more benign additions to the model are added in a release that don't directly affect query results or other critically important factors. For example, suppose a new label gets added to a DataItem to be used for a "new special purpose" ... not returned in resultsets but only by a method call on the data item. When these types of additions are made or used in a model, they also cause the model's version to be updated. We prevent earlier models from reading the newer model because if we did allow this it would be possible for someone to read in the newer model with older software not recognizing the new modeling, modify the model in memory, and then write over the model with the older software losing the newer modeling not recognized by the older model.
We prevent this type of situation by always setting a model's version (when it is persisted) to the earliest version of software that can make full use (read, write, query, etc.) of the model.
In general, this means that any use of new modeling which causes persistence changes from previous releases will cause a model's version to be updated.
Field Summary | |
---|---|
static ModelVersion |
THIS_SOFTWARE_VERSION
This is the version of SAS Query Services software that is reading or writing a model. |
static ModelVersion |
VERSION_912
The ModelVersion object associated with SAS release 9.1.2. |
static ModelVersion |
VERSION_913
The ModelVersion object associated with SAS release 9.1.3 |
static ModelVersion |
VERSION_913_2
The ModelVersion object associated with SAS release 9.1.3 Service Pack 2 |
static ModelVersion |
VERSION_913_3
The ModelVersion object associated with SAS release 9.1.3 Service Pack 3 |
static ModelVersion |
VERSION_913_4
The ModelVersion object associated with SAS release 9.1.3 Service Pack 4 |
static ModelVersion |
VERSION_92
The version associated with 9.2 written models. |
static ModelVersion |
VERSION_92M3
The version associated with 9.2M3 written models where we applied a new BusinessQueryTupleFilter step to our API. |
static ModelVersion |
VERSION_93
The version associated with 9.3 written models. |
static ModelVersion |
VERSION_93a
The version associated with 9.3 (but read compatible with 92) where we started supporting post-filters. |
Constructor Summary | |
---|---|
ModelVersion(java.lang.String versionString)
Constructor for creating a ModelVersion object from a String of the form "V.R.M" where V is the version number of the release, R is the release number of the release, and M is the minor release number. |
Method Summary | |
---|---|
boolean |
earlierThan(ModelVersion version)
Returns true if this version is earlier than the given version, otherwise false. |
boolean |
earlierThanOrSame(ModelVersion version)
Returns true if this version is earlier than or the same as the given version, otherwise false. |
boolean |
laterThan(ModelVersion version)
Returns true if this version is later than the given version, otherwise false. |
boolean |
laterThanOrSame(ModelVersion version)
Returns true if this version is later than or the same as the given version, otherwise false. |
Field Detail |
---|
public static final ModelVersion VERSION_912
public static final ModelVersion VERSION_913
public static final ModelVersion VERSION_913_2
public static final ModelVersion VERSION_913_3
public static final ModelVersion VERSION_913_4
public static final ModelVersion VERSION_92
public static final ModelVersion VERSION_92M3
public static final ModelVersion VERSION_93a
public static final ModelVersion VERSION_93
public static final ModelVersion THIS_SOFTWARE_VERSION
This value should always be the latest version. It is updated every release that new modeling or persistence features are introduced!!
Constructor Detail |
---|
public ModelVersion(java.lang.String versionString)
versionString
- a string form of the version
java.lang.NumberFormatException
- if the given string is malformedMethod Detail |
---|
public boolean laterThan(ModelVersion version)
version
- the model version to test against
public boolean earlierThan(ModelVersion version)
version
- the model version to test against
public boolean laterThanOrSame(ModelVersion version)
version
- the model version to test against
public boolean earlierThanOrSame(ModelVersion version)
version
- the model version to test against
|
Query |
|
| |||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |