| US 7,430,551 B2 | ||
| Method to enforce domain strong typing | ||
| John Hans Handy-Bosma, Cedar Park, Tex. (US); Dan Jeffrey Mandelstein, Austin, Tex. (US); Mei Yang Selvage, Austin, Tex. (US); and Charles Daniel Wolfson, Austin, Tex. (US) | ||
| Assigned to International Business Machines Corporation, Armonk, N.Y. (US) | ||
| Filed on Jan. 20, 2005, as Appl. No. 11/39,509. | ||
| Prior Publication US 2006/0173845 A1, Aug. 03, 2006 | ||
| Int. Cl. G06F 17/30 (2006.01) | ||
| U.S. Cl. 707—5 [705/37; 714/701; 714/746] | 8 Claims |

| 1. A method in a data processing system for managing domains in a database management system, comprising:
responsive to receiving a request for data from an application, identifying at least one domain pair in the request, wherein
a domain differentiates usage of data according to business rules for a column in the request, wherein each column in the
request is defined as being in a specific domain, wherein each domain pair comprises two specific domains of two columns in
the request, and wherein each domain pair is associated with an operator in the request that operates on the two columns;
determining if operators for each of the at least one domain pair identified in the request are authorized, wherein each of
the at least one domain pair is associated with permissible operators, and wherein the step of determining if operators for
each of the at least one domain pair identified in the request are authorized further comprises comparing the operators for
each of the at least one domain pair identified in the request with the permissible operators;
determining if functions in the request are authorized, wherein the functions in the request are associated with specific
domains of columns in the request; and
responsive to determinations that the operators and functions are authorized, rewriting the request to include a casting formula
for each domain pair operation to form a rewritten request;
wherein the step of determining if operators for each of the at least one domain pair identified in the request are authorized
is performed by checking a first table in order to locate an entry containing a permissible operator for each of the at least
one domain pair;
wherein the step of determining if functions in the request are authorized is performed by checking a second table to identify
if the specific domains of the columns in the request associated with the functions are allowed to inherit functions specified
in the request from a parent domain, and by checking a third table to identify exceptions to the inherited functions identified
using the second table.
|