Claims
- 1. A method of executing relational database functions in a database engine processor having a control unit, a working memory and a plurality of independently controllable processing elements interconnected by an internal control bus and an internal data bus, each of said plurality of processing elements selectively performing predetermined functions, comprising the steps of:
- (a) fetching, with a single invocation of said database engine processor, a command block from a system memory in a host computer, said command block comprising a database command and a location in the system memory of a predicate to be used during the processing of the database command;
- (b) parsing the database command into a sequence of predetermined database processing operations to be performed;
- (c) selecting, based on selected ones of said predetermined functions performable by said plurality of independently controllable processing elements, ones of the processing elements to perform each of the database processing operations identified in step (b) responsive to said single invocation of said processor;
- (d) controlling, independently of the host computer, based on the database command, the selected ones of the processing elements to perform the sequence of predetermined database processing operations;
- (e) temporarily collecting results of the performing of step (d) from said selected ones of said processing elements in the working memory; and
- (f) assembling the results collected in step (e) into the system memory.
- 2. The method of claim 1 further comprising the steps of:
- (g) reading the predicate from the location in the system memory included in said block fetched from said system memory;
- (h) causing the control unit to generate predicate evaluation instructions based on said predicate read from said system memory;
- (i) loading the predicate evaluation instructions into a preselected one of the processing elements; and
- (j) causing the preselected one of the processing elements to process the predicate in accordance with the predicate evaluation instructions.
- 3. A method, as recited in claim 2, further comprising the steps of:
- (k) determining a data format from the database command fetched in (a);
- (l) commanding an extractor, based on data read from said system memory, to extract records and data fields from said system memory; and
- (m) storing said extracted records and data fields in local memory.
- 4. A method, as recited in claim 3, wherein said step of assembling is performed by said extractor and said results are assembled in said data format.
- 5. A method, as recited in claim 4, further comprising the step of:
- (n) signaling a host processor by outputting a signal thereto from said processor, wherein said signal indicates that data in said command block has been processed.
- 6. A method, as recited in claim 1, wherein said plurality of processing elements is arranged in a pipeline fashion, wherein a first one of said processing elements fetches a block of data from local memory, processes said data based on said predetermined function, and passes an output block of data into said local memory.
- 7. A method, as recited in claim 6, wherein said first one of said processing elements then signals a next one of said processing elements, wherein said signal indicates a location of said output block of data.
- 8. A method, as recited in claim 1, wherein said processing elements are processable as at least two stages, said at least two stages constructing complex database commands.
- 9. A method, as recited in claim 1, wherein, after said single invocation of said processor, said controlling of said processing elements requires no further intervention of said host computer.
Parent Case Info
This is a continuation of application Ser. No. 07/993,252 filed Dec. 18, 1992 now abanonded, which is a divisional of copending application Ser. No. 07/499,844 filed on Mar. 27, 1990 which is now U. S. Pat. No. 5,210,870.
US Referenced Citations (6)
Number |
Name |
Date |
Kind |
4514826 |
Iwata et al. |
Apr 1985 |
|
4598385 |
Kessels et al. |
Jul 1986 |
|
4787026 |
Barnes et al. |
Nov 1988 |
|
4894768 |
Iwasaki et al. |
Jan 1990 |
|
4967341 |
Yamamoto et al. |
Oct 1990 |
|
5239663 |
Faudemay et al. |
Aug 1993 |
|
Foreign Referenced Citations (4)
Number |
Date |
Country |
0066061 |
Dec 1982 |
EPX |
0070119 |
Jan 1983 |
EPX |
2235798 |
Mar 1991 |
GBX |
8912277 |
Dec 1989 |
WOX |
Non-Patent Literature Citations (2)
Entry |
Patent Abstracts of Japan, vol. 13, No. 448, p. 942, Oct. 9, 1989. |
Patent Abstracts of Japan, vol. 14, No. 179, p. 1034, Apr. 10, 1990. |
Divisions (1)
|
Number |
Date |
Country |
Parent |
499844 |
Mar 1990 |
|
Continuations (1)
|
Number |
Date |
Country |
Parent |
993252 |
Dec 1992 |
|