Rule based compatibility module
First Claim
1. A method for testing compatibility in a database system, comprising:
- obtaining an instance of a compatibility module, wherein the instance depends on an operational environment of the compatibility module, wherein the obtaining the instance step includes creating the instance for a first time, and the obtaining step comprises;
creating a first database context specific to the operational environment;
loading the rules from the database into the first database context;
associating the first database context with the instance of the compatibility module; and
registering the first database context in the compatibility module;
obtaining rules capable of testing compatibility of databases;
evaluating the rules, wherein the evaluation of the rules returns a value of “
true”
or “
false”
;
executing a conditional application code by a client program if the evaluation of the rules returns a value of “
true”
;
executing a different conditional application code by the client program if the evaluation of the rules returns a value of “
false”
; and
if the different conditional code does not exist, executing a next unconditional code.
3 Assignments
0 Petitions
Accused Products
Abstract
A rule based compatibility module provides a single unified mechanism for testing rules where testing results depend on various combinations of database queries, computable values, and/or run-string parameters. The testing results may be evaluated within a particular operational environment. The rule based compatibility module encapsulates all versions of compatibility issues, which are highly dependant on the operational context, into one simple mechanism, thereby reducing risks of unexpected behaviors caused by improper or incomplete handling of compatibility issues. In addition, the rule based compatibility module provides a simple mechanism for handling ad-hoc run-string switches used for debugging, or for optional enabling or disabling of features under development.
38 Citations
6 Claims
-
1. A method for testing compatibility in a database system, comprising:
-
obtaining an instance of a compatibility module, wherein the instance depends on an operational environment of the compatibility module, wherein the obtaining the instance step includes creating the instance for a first time, and the obtaining step comprises;
creating a first database context specific to the operational environment;
loading the rules from the database into the first database context;
associating the first database context with the instance of the compatibility module; and
registering the first database context in the compatibility module;
obtaining rules capable of testing compatibility of databases;
evaluating the rules, wherein the evaluation of the rules returns a value of “
true”
or “
false”
;
executing a conditional application code by a client program if the evaluation of the rules returns a value of “
true”
;
executing a different conditional application code by the client program if the evaluation of the rules returns a value of “
false”
; and
if the different conditional code does not exist, executing a next unconditional code.
-
-
2. A method for testing compatibility in a database system, comprising:
-
obtaining an instance of a compatibility module, wherein the instance depends on an operational environment of the compatibility module, wherein the obtaining the instance step includes subsequently creating the instance, and the obtaining step comprises;
creating a database context specific to the operational environment;
copying the rules from a previously created database context;
associating the previously created database context with the instance of the compatibility module; and
registering the database context in the compatibility module;
obtaining rules capable of testing compatibility of databases;
evaluating the rules, wherein the evaluation of the rules returns a value of “
true”
or “
false”
;
executing a conditional application code by a client program if the evaluation of the rules returns a value of “
true”
;
executing a different conditional application code by the client program if the evaluation of the rules returns a value of “
false”
; and
if the different conditional code does not exist, executing a next unconditional code.
-
-
3. A method for testing compatibility in a database system, comprising:
-
obtaining an instance of a compatibility module, wherein the instance depends on an operational environment of the compatibility module;
obtaining rules capable of testing compatibility of databases;
evaluating the rules, wherein the evaluation of the rules returns a value of “
true”
or “
false, ”
wherein the obtaining the rules and the evaluating the rules steps comprise;
evaluating the rules as simple or compound, wherein a compound rule contains multiple rules in a list;
for a simple rule, evaluating the rule by executing a query and interpreting non-true results as “
false”
;
for the compound rule, evaluating each rule in the list;
returning a value of “
true”
or “
false”
for each rule to the compatibility module; and
evaluating the value of “
true”
or “
false”
for each rule; and
returning an overall “
true”
or “
false”
to the compatibility module;
executing a conditional application code by a client program if the evaluation of the rules returns a value of “
true”
;
executing a different conditional application code by the client program if the evaluation of the rules returns a value of “
false”
; and
if the different conditional code does not exist, executing a next unconditional code.
-
-
4. A computer readable medium providing instructions for testing compatibility in a database system, the instructions comprising:
-
obtaining an instance of a compatibility module, wherein the instance depends on an operational environment of the compatibility module, wherein the instructions for obtaining the instance comprises instructions for;
searching for a previously created instance;
creating the instance if previously created instance does not exist;
caching the instance in the database; and
returning the instance to the compatibility module, wherein the instructions for creating the instance includes instructions for creating the instance for a first time, and the instructions for creating and caching the rules comprise instructions for;
creating a first database context specific to the operational environment;
loading the rules from the database into the first database context;
associating the first database context with the instance of the compatibility module; and
registering the first database context in the compatibility module;
obtaining rules capable of testing compatibility of databases;
evaluating the rules, wherein the evaluation of the rules returns a value of “
true”
or “
false”
;
executing a conditional application code by a client program if the evaluation of the rules returns a value of “
true”
; and
executing a different conditional application code by the client program if the evaluation of the rules returns a value of “
false”
.
-
-
5. A computer readable medium providing instructions for testing compatibility in a database system, the instructions comprising:
-
obtaining an instance of a compatibility module, wherein the instance depends on an operational environment of the compatibility module, wherein the instructions for obtaining the instance comprises instructions for;
searching for a previously created instance;
creating the instance if previously created instance does not exist;
caching the instance in the database; and
returning the instance to the compatibility module, wherein the instructions for creating the instance includes instructions for subsequently creating the instance, and the instructions for creating and caching the rules comprise instructions for;
creating a database context specific to the operational environment;
copying the rules from a previously created database context;
associating the previously created database context with the instance of the compatibility module; and
registering the database context in the compatibility module;
obtaining rules capable of testing compatibility of databases;
evaluating the rules, wherein the evaluation of the rules returns a value of “
true”
or “
false”
;
executing a conditional application code by a client program if the evaluation of the rules returns a value of “
true”
; and
executing a different conditional application code by the client program if the evaluation of the rules returns a value of “
false”
.
-
-
6. A computer readable medium providing instructions for testing compatibility in a database system, the instructions comprising:
-
obtaining an instance of a compatibility module, wherein the instance depends on an operational environment of the compatibility module;
obtaining rules capable of testing compatibility of databases;
evaluating the rules, wherein the evaluation of the rules returns a value of “
true”
or “
false,”
wherein the instructions for obtaining the rules and evaluating the rules comprise instructions for;
evaluating the rules as simple or compound, wherein a compound rule contains multiple rules in a list;
for a simple rule, evaluating the rule by interpreting non-true results as “
false”
;
for the compound rule, evaluating each rule in the list;
returning a value of “
true”
or “
false”
for each rule to the compatibility module; and
evaluating the value of “
true”
or “
false”
for each rule; and
returning an overall “
true”
or “
false”
to the compatibility module;
executing a conditional application code by a client program if the evaluation of the rules returns a value of “
true”
; and
executing a different conditional application code by the client program if the evaluation of the rules returns a value of “
false.”
-
Specification