Method of resolving overloaded routines, system for...

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C707S793000, C707S793000, C717S151000

Reexamination Certificate

active

06480833

ABSTRACT:

BACKGROUND OF THE INVENTION
The present invention relates in general to a database system for resolving an invocation for the overloaded routines, and more particularly to the technology which is effectively applied to a database system which has the function of the overloaded routines and which serves to analyze an invocation for a group of overloaded routines to determine the called routine.
For the demand of users who want to handle the data having various structures in a database, the study and the development for an object database have been carried out, while the attempt of adopting the object oriented concept into a relational database has been made, and the standardization therefor has been advanced in the form of the next term SQL (Structured Query Language).
In the next term SQL, in order to handle the data having various structures, the data type called the abstract data type which is defined by a user is introduced thereinto. In addition, the realization of manipulation for those data is made possible on the basis of a function and a procedure (hereinafter, referred to as “routines” for short, when applicable), and the function of the multiple definition for those routines is provided.
The SQL as the database query language will hereinafter be described as an example. But, this description will be applied similarly to even any one of other database query languages each having the function similar to the abstract data type and the multiple definition.
First of all, the multiple definition and the abstract data type of the next term SQL will hereinbelow be described as the prior art relating to the present invention. Firstly, the multiple definition will now be described. Defining a plurality of routines which have the same name and which are different in the number of arguments and the data type from one another is called the multiple definition (hereinafter, by the arguments are meant the arguments on the routine calling side and by the parameters are meant the arguments on the called routine side). The database system selects and applies, for the routine invocation, the routine which is optimal in both of the number of parameters and the data type from among the routines which are already overloaded.
In SQL/PSM which has been developed from the database structured query language SQL, a function and the feature of the multiple definition thereof are adopted into the SQL. SQL/PSM is, for example, described in an article of ISO/IEC DIS 9075-4: 1996, “Database languages SQL Part 4: Persistent Stored Modules (SQL/PSM)” or the like. This multiple definition of the function of SQL/PSM will now be described by giving an example.
FIG. 17
is a diagram showing a conventional example of an SQL statement based on which the overloaded functions are called. In this example
101
of the SQL statement, the function numeric_string is called in which the numeric number type is adopted as the argument and the values associated therewith are converted into the character string to be returned. Reference numeral
102
designates the definition of the functions. In the definition
102
of the functions, it is shown that a function
103
which is defined in the definition of the function
102
adopts as the argument an INTEGER type (integral number type) and a function
104
adopts as the argument a FLOAT type (round number type). In actual, those functions are defined on the basis of the statement which is used to define the functions such as a CREATE FUNCTION.
On the basis of an SQL statement
105
, a variable x is declared as being of the INTEGER type and also a variable y is declared as being of a DECIMAL type (decimal integral number). In an SQL statement
106
, the function numeric_string is called with the variable of the INTEGER type as the argument. For the function numeric_string, since the data type of the argument is the INTEGER type, a function
103
is applied in which the INTEGER type is adopted as the argument.
On the other hand, in an SQL statement
107
, the function numeric_string is called with the variable y of the DECIMAL type as the argument. In the definition
102
of the functions, the function numeric_string is not yet defined in which the FLOAT type is adopted as the argument. Therefore, a function
104
is applied in which the FLOAT type as the data type which is lower in the precedence than the DECIMAL type on a data type precedence list
108
of the numeric number type and which has the highest precedence on the data type precedence list
108
is adopted as the argument.
In this connection, the data type precedence list
108
is such that the data types which can be applied to the data type of the numeric number type which is specified to the argument of the routine invocation are arranged in the order of the precedence from the left-hand side to the right-hand side. For example, in the data type precedence list
108
, when the data type of the argument of the routine invocation is the DECIMAL type, the routines which have the DECIMAL type and the FLOAT type as the parameters, respectively, can be applied. In addition thereto, since the DECIMAL type is formerly described, the routine having the DECIMAL type as the parameter is applied. Even if the number of arguments and the name of the routine match those of the associated one, both of the routine which has as the parameter the data type which is absent on the data type precedence list
108
and the routine which has as the parameter the data type which is higher in the precedence than the data type specified to the argument are not applied.
As described above, from among the overloaded routines, there is applied the routine which has as the parameter the data type which is most suitable to the data type of the argument of the routine invocation. The determination of the application routine is called the resolution of the overloaded routines.
The precedure of the data types in the data type precedure list
108
corresponds to the criterion which the database uses to carry out the analysis of the query, and in this example, the precedence is determined in the order of the INTEGER type, the DECIMAL type and the FLOAT type. But, it should be noted that even if not following this precedence order, as long as the regular precedence is determined among the data types, that precedence can be made the precedence for the data type precedence list
108
.
Next, the description will hereinbelow be given with respect to the Abstract Data Type (hereinafter, referred to as “an ADT” for short, when applicable) of the next term SQL. The ADT corresponds to the class in the object orientation and is the data type which a user who has the concept of inheritance can define. For a certain ADT, the data type of the subtype which can be said as the subclass thereof can be defined. The host data type when viewed from the data type of the subtype is called the supertype. The data type of the subtype can inhetit the attribute of the data type of the supertype and also can substitute both of the data type in which the ADT variable is defined and the data type of the subtype thereof for variables which are defined with the ADT (hereinafter, referred to as “ADT variables” for short, when applicable). Unlike the normal substitution of the data type, in the substitution in this case, the data type from which the substitution is made is not type-converted into the data type to which the substitution is made, but the data type to which the substitution is made is applied to the data type from which the substitution is made.
On the other hand, the data type of the supertype can not be substituted for any of the ADT variables. Therefore, with respect to the variable which is defined with the ADT having the subtype, the data type thereof can not be specified when analyzing the SQL and the data type thereof can not be aware of until the SQL is executed. This is applied to the variables which are defined with the ADT as well as to the string which is defined with the ADT.
In this connection, both of the next term SQL and the ADT are, for exampl

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method of resolving overloaded routines, system for... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method of resolving overloaded routines, system for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method of resolving overloaded routines, system for... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2936749

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.