JPH10124358A - Cursor system sql statement processing method of rda server - Google Patents

Cursor system sql statement processing method of rda server

Info

Publication number
JPH10124358A
JPH10124358A JP8293387A JP29338796A JPH10124358A JP H10124358 A JPH10124358 A JP H10124358A JP 8293387 A JP8293387 A JP 8293387A JP 29338796 A JP29338796 A JP 29338796A JP H10124358 A JPH10124358 A JP H10124358A
Authority
JP
Japan
Prior art keywords
statement
rda
access
client
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP8293387A
Other languages
Japanese (ja)
Other versions
JP3058101B2 (en
Inventor
Tatsuo Okamoto
達雄 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP8293387A priority Critical patent/JP3058101B2/en
Publication of JPH10124358A publication Critical patent/JPH10124358A/en
Application granted granted Critical
Publication of JP3058101B2 publication Critical patent/JP3058101B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To shorten the response time of a cursor system SQL statement while maintaining a RDA(remote data base access) protocol. SOLUTION: The RDA server 20 consists of a data base access preparation part 40 and a data base access execution part 41, which operate on different processors of a multiprocessor type server computer system 2 in parallel. The execution part 41 inputs access modules in a queue 26 one after another to access the data base 3, and saves a FETCH statement as an access result in a data storage part 25 and reports others to the preparation part 40. The preparation part 40 generates respective access modules of a declaration statement, an OPEN statement, a FETCH statement, and a CLOSE statement at a time and registers them in the queue 26 when the SQL statement received from a RDA client 11 is a cursor declaration statement, and then acquires response results corresponding to the individual SQL statements received from the RDA client 11 from a data storage part 25 or execution part 41 and returns them to the RDA client 11.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は分散データベースシ
ステムの一種であるRDA(Remote Datab
ase Access)システムに関し、特にカーソル
系SQL文の処理速度を向上させる技術に関する。
The present invention relates to an RDA (Remote Datab) which is a kind of distributed database system.
More specifically, the present invention relates to a technique for improving the processing speed of a cursor SQL statement.

【0002】[0002]

【従来の技術】RDAは各所に分散配置されている計算
機システム上に存在するデータベースを遠隔地から操作
・処理する機能であり、OSIの第7層のアプリケーシ
ョン層に位置し、アソシエーション管理,資源ハン
ドリング,トランザクション管理,データ操作とい
った汎用サービス機能を提供する。本発明は、これらの
うちの主にのデータ操作の部分に関し、更に、データ
操作の方法としてISOで認められているSQLを対象
とする。
2. Description of the Related Art RDA is a function for remotely operating and processing databases existing on computer systems distributed in various places. The RDA is located in the application layer of the seventh layer of OSI, and is used for association management and resource handling. Provides general-purpose service functions such as transaction management and data manipulation. The present invention mainly relates to the data operation portion among these, and further targets SQL which is recognized by ISO as a data operation method.

【0003】図12は従来のRDAシステムのブロック
図である。同図に示すように従来のRDAシステムは、
クライアント計算機システム1と、このクライアント計
算機システム1にネットワーク(図示せず)を介して接
続されたサーバ計算機システム2’とから構成され、ク
ライアント計算機システム1には利用者プログラム10
とRDAクライアント11とが存在し、サーバ計算機シ
ステム2’にはRDAサーバ20’とデータベース3と
が存在する。また、RDAサーバ20’は、プロトコル
解析・生成手段21と、アクセスモジュール生成手段2
2’と、データベースアクセス手段23’とを有する。
FIG. 12 is a block diagram of a conventional RDA system. As shown in FIG.
The client computer system 1 comprises a client computer system 1 and a server computer system 2 'connected to the client computer system 1 via a network (not shown).
And an RDA client 11, and an RDA server 20 'and a database 3 exist in the server computer system 2'. Further, the RDA server 20 ′ includes a protocol analysis / generation unit 21 and an access module generation unit 2.
2 'and a database access means 23'.

【0004】このような従来のRDAシステムにおい
て、カーソル系SQL文によるデータ操作は以下のよう
に遂行されていた。
In such a conventional RDA system, data manipulation using a cursor SQL statement has been performed as follows.

【0005】図12において、利用者プログラム10が
RDAクライアント11に対してSQL文によるカーソ
ル宣言文を発行すると、RDAクライアント11はRD
Aプロトコルに従ってカーソル宣言文のプロトコルをR
DAサーバ20’に送信する。なお、本明細書ではRD
AクライアントとRDAサーバとの間でRDAプロトコ
ルに従ってやりとりされる一連のデータを「プロトコ
ル」あるいは「RDAプロトコル」と呼んでいる。この
プロトコルはRDAサーバ20’のプロトコル解析・生
成手段21で解析され、SQL文によるカーソル宣言文
を含む解析結果をアクセスモジュール生成手段22’に
伝達する。アクセスモジュール生成手段22’は、この
解析結果中のSQL文によるカーソル宣言文に対して構
文解析,意味解析を行って要求されたカーソル宣言文の
構文と意味とを解析し、また要求に見合った処理手順を
決める最適化処理を実施し、更にオブジェクト生成等を
行って実行可能な形式のSQL文およびホスト変数の情
報から構成されるカーソル宣言文アクセスモジュールを
生成し、このカーソル宣言文アクセスモジュールをデー
タベースアクセス手段23’に伝達する。そして、カー
ソル宣言文が実際にデータベース3に対して実行される
のはカーソルを使用可能にするOPEN文を実行すると
きであるため、RDAサーバ20’でのカーソル宣言文
処理が成功したことをプロトコル解析・生成手段21に
伝達する。プロトコル解析・生成手段21はRDAプロ
トコルに従ってカーソル宣言文の実行結果のプロトコル
を生成し、要求元のRDAクライアント11に送信す
る。RDAクライアント11はこれを受信すると、カー
ソル宣言文の実行結果を利用者プログラム10に通知す
る。
[0005] In FIG. 12, when the user program 10 issues a cursor declaration statement in the form of an SQL statement to the RDA client 11, the RDA client 11
Change protocol of cursor declaration statement to R according to A protocol
Transmit to DA server 20 '. In this specification, RD
A series of data exchanged between the A client and the RDA server according to the RDA protocol is called "protocol" or "RDA protocol". This protocol is analyzed by the protocol analyzing / generating means 21 of the RDA server 20 ', and the analysis result including the cursor declaration sentence in the SQL sentence is transmitted to the access module generating means 22'. The access module generation means 22 'analyzes the syntax and semantic analysis of the cursor declaration statement based on the SQL statement in the analysis result, analyzes the syntax and meaning of the requested cursor declaration statement, and meets the request. An optimization process for deciding a processing procedure is performed, an object is generated, and the like, a cursor declaration statement access module composed of an executable SQL statement and host variable information is generated. It is transmitted to the database access means 23 '. Since the cursor declaration statement is actually executed on the database 3 when the OPEN statement for enabling the cursor is executed, it is determined by the protocol that the cursor declaration statement processing in the RDA server 20 'is successful. The information is transmitted to the analysis / generation means 21. The protocol analysis / generation unit 21 generates a protocol of the execution result of the cursor declaration statement according to the RDA protocol, and transmits the protocol to the RDA client 11 that has issued the request. Upon receiving this, the RDA client 11 notifies the user program 10 of the execution result of the cursor declaration statement.

【0006】次に利用者プログラム10がSQL文によ
るOPEN文をRDAクライアント11に対して発行す
ると、RDAクライアント11はRDAプロトコルに従
ってOPEN文のプロトコルをRDAサーバ20’に送
信し、これを受信したRDAサーバ20’のプロトコル
解析・生成手段21およびアクセスモジュール生成手段
22’ではカーソル宣言文のプロトコルの場合と同様の
手順でOPEN文アクセスモジュールを生成してデータ
ベースアクセス手段23’に伝達する。データベースア
クセス手段23’はこの時点で先のカーソル宣言文アク
セスモジュールとOPEN文アクセスモジュールとを実
行し、その実行結果をアクセスモジュール生成手段2
2’を通じてプロトコル解析・生成手段21’に伝達
し、プロトコル解析・生成手段21はその実行結果を含
むプロトコルをRDAクライアント11に送信する。R
DAクライアント11はこの実行結果を利用者プログラ
ム10に通知する。
Next, when the user program 10 issues an OPEN statement in the form of an SQL statement to the RDA client 11, the RDA client 11 transmits the protocol of the OPEN statement to the RDA server 20 'in accordance with the RDA protocol and receives the RDA server 20'. The protocol analysis / generation means 21 and the access module generation means 22 'of the server 20' generate an OPEN statement access module in the same procedure as in the protocol of the cursor declaration statement and transmit it to the database access means 23 '. At this point, the database access means 23 'executes the cursor declaration statement access module and the OPEN statement access module, and outputs the execution results to the access module generation means 2
The protocol analysis / generation means 21 'is transmitted to the RDA client 11 via 2', and the protocol analysis / generation means 21 transmits the protocol including the execution result to the RDA client 11. R
The DA client 11 notifies the user program 10 of the execution result.

【0007】以下、SQL文によるFETCH文を利用
者プログラム10が発行した場合も同様の処理が行わ
れ、そして最後にSQL文によるCLOSE文を利用者
プログラム10が発行した場合も同様の処理が行われ
る。つまり、RDAサーバ20’では、プロトコル解析
・生成手段21がRDAプロトコルを解析し、アクセス
モジュール生成手段22’がその解析結果に基づいてS
QL文の構文解析や意味解析,最適化,アクセスモジュ
ール生成等を行い、データベースアクセス手段23’が
その生成されたアクセスモジュールに基づきデータベー
ス3をアクセスするという順序で、要求が処理され、ア
クセス結果はデータベースアクセス手段23’からアク
セスモジュール生成手段22’,プロトコルモジュール
解析・生成手段21を経由してRDAプロトコル形式で
RDAクライアント11に返却され、利用者プログラム
10に伝達される。
Hereinafter, the same processing is performed when the user program 10 issues a FETCH statement based on an SQL statement, and the same processing is performed when the user program 10 finally issues a CLOSE statement based on an SQL statement. Will be That is, in the RDA server 20 ', the protocol analysis / generation unit 21 analyzes the RDA protocol, and the access module generation unit 22' executes the SDA based on the analysis result.
Requests are processed in the order of performing syntax analysis, semantic analysis, optimization, access module generation, and the like of the QL statement, and the database access means 23 ′ accesses the database 3 based on the generated access module. The data is returned to the RDA client 11 in the RDA protocol format from the database access means 23 'via the access module generation means 22' and the protocol module analysis / generation means 21, and transmitted to the user program 10.

【0008】[0008]

【発明が解決しようとする課題】上述したように従来に
おいては、RDAサーバ20’は、カーソル系SQL文
であっても非カーソル系SQL文と同様に、RDAクラ
イアント11からSQL文を受信して初めてデータベー
ス3にアクセスする形態を採っていた。
As described above, conventionally, the RDA server 20 'receives a SQL sentence from the RDA client 11 in the same manner as a non-cursored SQL sentence even if the sentence is a cursor-based SQL sentence. The first access to the database 3 was adopted.

【0009】しかし、カーソル系SQL文は、対象とな
るデータをカーソル宣言文で指定し、そのカーソルをO
PEN文で開き、FETCH文で1行ずつ各行を取り出
し、最後にCLOSE文でカーソルを閉じるという一連
の操作のためのものであり、カーソル宣言があった後の
後続するSQL文は事前に予想される。従って、従来の
RDAサーバ20’のように、他のSQL文同様にRD
Aクライアント11から次のSQL文を受信するまでデ
ータベース3にアクセスできない構成では、利用者プロ
グラム10がRDAクライアント11を介してRDAサ
ーバ20’へRDAプロトコルを送信し、RDAサーバ
20’はそれに従ってデータベース3をアクセスして実
行結果をRDAクライアント11を介して利用者プログ
ラム10へ返却するという処理が、SQL文毎に毎回行
われるため、リモートデータベースアクセスを利用する
場合の性能劣化、つまり応答時間の悪化の一因となって
いた。
However, in a cursor SQL statement, the target data is specified by a cursor declaration statement,
This is for a series of operations of opening with the PEN statement, fetching each line one by one with the FETCH statement, and closing the cursor with the CLOSE statement at the end. The subsequent SQL statement after the cursor declaration is expected in advance You. Therefore, like the conventional RDA server 20 ', the RD
In a configuration in which the database 3 cannot be accessed until the next SQL statement is received from the A client 11, the user program 10 transmits the RDA protocol to the RDA server 20 'via the RDA client 11, and the RDA server 20' Since the process of accessing the database 3 and returning the execution result to the user program 10 via the RDA client 11 is performed every time an SQL statement is performed, performance degradation when remote database access is used, that is, response time degradation Was one of the causes.

【0010】そこで本発明の第1の目的は、カーソル系
SQL文の応答時間を短縮することにある。
Accordingly, a first object of the present invention is to reduce the response time of a cursor SQL statement.

【0011】なお、特開平5−61747号公報には、
クライアント計算機システムからカーソル宣言文を受信
したとき、サーバ計算機システムの1つのサーバプロセ
スにおいて、カーソル宣言文を解析してOPEN文,F
ETCH文,CLOSE文をまとめて作成すると共にそ
れらでデータベースをアクセスした結果を一括してクラ
イアント計算機システムに返送し、クライアント計算機
システムでは、このアクセス結果を保存しておいて利用
者プログラムからOPEN命令以下の命令を受けたとき
に前記保存しておいた実行結果を返却することで、クラ
イアント計算機システムとサーバ計算機システムとの間
の要求,応答の転送回数を削減した分散データベースア
クセス方式が提案されている。
Japanese Patent Application Laid-Open No. Hei 5-61747 discloses that
When a cursor declaration statement is received from the client computer system, one server process of the server computer system analyzes the cursor declaration statement and executes an OPEN statement, F
The ETCH statement and the CLOSE statement are collectively created, and the result of accessing the database with them is collectively returned to the client computer system. The client computer system saves the access result and transmits the OPEN instruction from the user program to the OPEN instruction. A distributed database access method has been proposed in which the number of requests and responses transferred between a client computer system and a server computer system is reduced by returning the stored execution result when receiving the instruction. .

【0012】しかしながら、この公報に記載された方式
では、OPEN文,FETCH文,CLOSE文に関し
てはクライアント計算機とサーバ計算機との間で通信が
行われないため、RDAプロトコルに則ってはいない。
その理由は、RDAプロトコルでは、OPEN文,FE
TCH文,CLOSE文の各々に対しても、RDAクラ
イアントからRDAサーバに対して要求を出し、この要
求に対してRDAサーバからRDAクライアントに対し
て応答を返すという手順を守る必要があるためである。
However, in the method described in this publication, the OPEN statement, the FETCH statement, and the CLOSE statement are not communicated between the client computer and the server computer, and thus do not conform to the RDA protocol.
The reason is that in the RDA protocol, the OPEN statement, FE
This is because, for each of the TCH statement and the CLOSE statement, it is necessary to follow the procedure of issuing a request from the RDA client to the RDA server and returning a response from the RDA server to the RDA client in response to the request. .

【0013】そこで、上記公報に記載された方式を改良
し、OPEN文,FETCH文およびCLOSE文によ
るアクセス結果を一括してクライアント計算機に返送す
るのではなく、サーバ計算機のサーバプロセスに保存し
ておき、クライアント計算機からOPEN文,FETC
H文,CLOSE文が送信されてきたら、上記保存して
あった結果を返却することが考えられる。このようにす
れば、OPEN文,FETCH文,CLOSE文の各々
に対しても、RDAクライアントからRDAサーバに対
して要求を出し、この要求に対してRDAサーバからR
DAクライアントに対して応答を返すという手順を守る
ことができる。しかし、従来技術では1つのサーバプロ
セス自体がOPEN文,FETCH文およびCLOSE
文についてのデータベースへのアクセスと、クライアン
ト計算機からの次の要求の受け付けとを行っているた
め、OPEN文,FETCH文およびCLOSE文の処
理が終了するまでクライアント計算機からの次の要求を
受け付けないか、OPEN文,FETCH文およびCL
OSE文の処理を中断してクライアント計算機からの次
の要求を受け付けるかの二者択一となり、前者の場合に
は応答が遅れ、後者の場合にはOPEN文,FETCH
文およびCLOSE文の処理が遅れ、結果として応答時
間が遅れることになる。
In view of the above, the method described in the above publication is improved, and the access results based on the OPEN statement, FETCH statement and CLOSE statement are not returned to the client computer all at once, but are stored in the server process of the server computer. OPEN statement, FETC from client computer
When the H sentence and the CLOSE sentence are transmitted, it is possible to return the stored result. By doing so, the RDA client issues a request to the RDA server for each of the OPEN, FETCH, and CLOSE statements, and the RDA server responds to the request with the RDA server.
The procedure of returning a response to the DA client can be followed. However, in the prior art, one server process itself is composed of an OPEN statement, a FETCH statement and a CLOSE statement.
Since the access to the database for the statement and the reception of the next request from the client computer are performed, whether the next request from the client computer is received until the processing of the OPEN statement, the FETCH statement, and the CLOSE statement is completed. , OPEN statement, FETCH statement and CL
It is an option to interrupt the processing of the OSE statement and accept the next request from the client computer. In the former case, the response is delayed, and in the latter case, the OPEN statement and FETCH
Statement and the CLOSE statement are delayed, resulting in a delayed response time.

【0014】そこで本発明の第2の目的は、OPEN
文,FETCH文およびCLOSE文の各々に対しても
RDAクライアントからRDAサーバに対して要求を出
し、この要求に対してRDAサーバからRDAクライア
ントに対して応答を返すという手順を守りつつ、応答時
間をできるだけ短縮し得るようにすることにある。
Therefore, a second object of the present invention is to provide an OPEN
Statement, FETCH statement and CLOSE statement, the RDA client issues a request to the RDA server, and the RDA server returns a response to the RDA client in response to this request. The goal is to be as short as possible.

【0015】また、上記公報では、カーソル宣言文を受
信した時点でサーバ計算機においてカーソル宣言文,O
PEN文,FETCH文およびCLOSE文を作成し且
つ実行している。このような構成はカーソル宣言文中に
入力ホスト変数がない場合には問題がない。しかし、カ
ーソル宣言文中に入力ホスト変数がある場合、RDA実
装規約ではカーソル宣言文中の入力ホスト変数の値はO
PEN文のRDAプロトコルで指定されるよう指定して
あるため、カーソル宣言文を受信した時点で作成したカ
ーソル宣言文では不十分であり、対処できないことにな
る。
Further, in the above publication, when a cursor declaration statement is received, a cursor declaration statement, an O
PEN, FETCH and CLOSE statements are created and executed. Such a configuration has no problem if there is no input host variable in the cursor declaration statement. However, if there is an input host variable in the cursor declaration statement, the value of the input host variable in the cursor declaration statement is
Since it is specified to be specified in the RDA protocol of the PEN statement, the cursor declaration statement created at the time of receiving the cursor declaration statement is insufficient and cannot be dealt with.

【0016】そこで本発明の第3の目的は、カーソル宣
言文中に入力ホスト変数が存在する場合にも支障なく処
理を実行することができるようにすることにある。
Therefore, a third object of the present invention is to enable a process to be executed without any problem even when an input host variable exists in a cursor declaration statement.

【0017】[0017]

【課題を解決するための手段】本発明は上記第1および
第2の目的を達成するために、ネットワークを介して接
続されたクライアント計算機システム上で動作するRD
Aクライアントからの要求に従って、サーバ計算機シス
テムのデータベースをアクセスするRDAサーバにおけ
るカーソル系SQL文処理方法において、RDAサーバ
をデータベースアクセス準備部とデータベースアクセス
実行部とで構成して、これらをマルチプロセッサ型構成
のサーバ計算機におけるそれぞれ異なるプロセッサに割
り当てて並行して動作させ、前記データベースアクセス
実行部に、待ち行列キューに登録されているアクセスモ
ジュールを逐次に入力してデータベースをアクセスする
処理と、そのアクセス結果を、FETCH文の場合には
データベースアクセス準備部とデータベースアクセス実
行部との間で排他的に使用されるデータ記憶部に保存
し、それ以外の場合にはデータベースアクセス準備部に
通知する処理とを行わせ、前記データベースアクセス準
備部に、RDAクライアントから受信したSQL文がカ
ーソル宣言文の場合に、カーソル宣言文アクセスモジュ
ール,OPEN文アクセスモジュール,FETCH文ア
クセスモジュールおよびCLOSE文アクセスモジュー
ルを一括して作成して前記待ち行列キューに登録する処
理と、RDAクライアントから受信した個々のSQL文
に対する応答結果を、FETCH文については前記デー
タ記憶部から、OPEN文およびCLOSE文について
は前記データベースアクセス実行部から、それぞれ取得
してRDAクライアントに返却する処理とを行わせるよ
うにしている。
According to the present invention, there is provided an RD operating on a client computer system connected via a network in order to achieve the first and second objects.
In a cursor-based SQL statement processing method in an RDA server that accesses a database of a server computer system in response to a request from a client A, the RDA server is composed of a database access preparation unit and a database access execution unit, and these are configured in a multiprocessor configuration A process of allocating to the different processors in the server computer and operating them in parallel, sequentially inputting the access modules registered in the queue queue to the database access execution unit to access the database, and In the case of an FETCH statement, the data is stored in a data storage unit exclusively used between the database access preparation unit and the database access execution unit, and otherwise, a process of notifying the database access preparation unit is performed. When the SQL statement received from the RDA client is a cursor declaration statement, the database access preparation unit creates a cursor declaration statement access module, an OPEN statement access module, a FETCH statement access module, and a CLOSE statement access module collectively. The processing of registering in the queue queue and the response result for each SQL statement received from the RDA client are performed from the data storage unit for the FETCH statement, and from the database access execution unit for the OPEN and CLOSE statements. The process of acquiring and returning to the RDA client is performed.

【0018】このような構成のRDAサーバにおけるカ
ーソル系SQL文処理方法にあっては、クライアント計
算機システムのRDAクライアントからSQL文による
カーソル宣言文がRDAプロトコルに従ってサーバ計算
機システムに送られてきた場合、データベースアクセス
準備部がカーソル宣言文アクセスモジュール,OPEN
文アクセスモジュール,FETCH文アクセスモジュー
ルおよびCLOSE文アクセスモジュールを一括して生
成して待ち行列キューに登録する。この後、データベー
スアクセス実行部が待ち行列キューに登録されているア
クセスモジュールを逐次に入力してデータベースをアク
セスして、そのアクセス結果を、FETCH文の場合に
はデータ記憶部に保存し、それ以外の場合にはデータベ
ースアクセス準備部に通知する処理を行い、これと並行
してデータベースアクセス準備部が、RDAクライアン
トから受信した個々のSQL文に対する応答結果をデー
タ記憶部あるいはデータベースアクセス実行部から取得
してRDAクライアントに返却する処理を行う。
In the cursor-based SQL statement processing method in the RDA server having such a configuration, when a cursor declaration sentence in an SQL statement is sent from the RDA client of the client computer system to the server computer system according to the RDA protocol, the database Access preparation unit is cursor declaration statement access module, OPEN
The statement access module, the FETCH statement access module, and the CLOSE statement access module are collectively generated and registered in the queue. Thereafter, the database access execution unit sequentially inputs the access modules registered in the queue and accesses the database, and stores the access result in the data storage unit in the case of the FETCH statement. In the case of, a process of notifying the database access preparation unit is performed, and in parallel with this, the database access preparation unit acquires a response result for each SQL statement received from the RDA client from the data storage unit or the database access execution unit. To return to the RDA client.

【0019】また本発明は上記第1ないし第3の目的を
達成するために、ネットワークを介して接続されたクラ
イアント計算機システム上で動作するRDAクライアン
トからの要求に従って、サーバ計算機システムのデータ
ベースをアクセスするRDAサーバにおけるカーソル系
SQL文処理方法において、RDAサーバをデータベー
スアクセス準備部とデータベースアクセス実行部とで構
成して、これらをマルチプロセッサ型構成のサーバ計算
機におけるそれぞれ異なるプロセッサに割り当てて並行
して動作させ、前記データベースアクセス実行部に、待
ち行列キューに登録されているアクセスモジュールを逐
次に入力してデータベースをアクセスする処理と、その
アクセス結果を、FETCH文の場合にはデータベース
アクセス準備部とデータベースアクセス実行部との間で
排他的に使用されるデータ記憶部に保存し、それ以外の
場合にはデータベースアクセス準備部に通知する処理と
を行わせ、前記データベースアクセス準備部に、RDA
クライアントから受信したSQL文が入力ホスト変数を
含まないカーソル宣言文の場合に、カーソル宣言文アク
セスモジュール,OPEN文アクセスモジュール,FE
TCH文アクセスモジュールおよびCLOSE文アクセ
スモジュールを一括して作成して前記待ち行列キューに
登録する処理と、RDAクライアントから受信したSQ
L文が入力ホスト変数を含むカーソル宣言文の場合には
OPEN文のRDAプロトコルの中で入力ホスト変数値
が指定されるのを待ってカーソル宣言文アクセスモジュ
ール,OPEN文アクセスモジュール,FETCH文ア
クセスモジュールおよびCLOSE文アクセスモジュー
ルの合計4つのアクセスモジュールを完成させて前記待
ち行列キューに登録する処理と、RDAクライアントか
ら受信した個々のSQL文に対する応答結果を、FET
CH文については前記データ記憶部から、OPEN文お
よびCLOSE文については前記データベースアクセス
実行部から、それぞれ取得してRDAクライアントに返
却する処理とを行わせるようにしている。
In order to achieve the first to third objects, the present invention accesses a database of a server computer system according to a request from an RDA client operating on a client computer system connected via a network. In the cursor-based SQL statement processing method in the RDA server, the RDA server is composed of a database access preparation unit and a database access execution unit, and these are assigned to different processors in a multiprocessor type server computer to operate in parallel. Processing for sequentially inputting the access modules registered in the queue queue to the database access execution unit and accessing the database; and, in the case of the FETCH statement, the database access preparation unit. Stored in the data storage unit to be used exclusively with the over database access execution unit, to perform the processing for notifying the database access preparing unit in other cases, the database access preparation unit, RDA
If the SQL statement received from the client is a cursor declaration statement that does not include an input host variable, the cursor declaration statement access module, OPEN statement access module, and FE
A process of collectively creating a TCH statement access module and a CLOSE statement access module and registering them in the queue, and an SQ received from the RDA client.
When the L statement is a cursor declaration statement including an input host variable, the cursor declaration statement access module, the OPEN statement access module, and the FETCH statement access module wait for the input host variable value to be specified in the RDA protocol of the OPEN statement. And a process of completing a total of four access modules including a CLOSE statement access module and registering the access module in the queue, and a response result for each SQL statement received from the RDA client to the FET.
The CH statement is acquired from the data storage unit, and the OPEN statement and the CLOSE statement are acquired from the database access execution unit, and are returned to the RDA client.

【0020】このような構成のRDAサーバにおけるカ
ーソル系SQL文処理方法にあっては、クライアント計
算機システムのRDAクライアントからSQL文による
カーソル宣言文がRDAプロトコルに従ってサーバ計算
機システムに送られてきた場合、データベースアクセス
準備部が、そのカーソル宣言文中に入力ホスト変数が存
在しない場合にはカーソル宣言文アクセスモジュール,
OPEN文アクセスモジュール,FETCH文アクセス
モジュールおよびCLOSE文アクセスモジュールを一
括して生成して待ち行列キューに登録し、入力ホスト変
数が存在する場合には、OPEN文のRDAプロトコル
の中で入力ホスト変数値が指定されるのを待ってカーソ
ル宣言文アクセスモジュール,OPEN文アクセスモジ
ュール,FETCH文アクセスモジュールおよびCLO
SE文アクセスモジュールの合計4つのアクセスモジュ
ールを完成させて待ち行列キューに登録する。この後、
データベースアクセス実行部が待ち行列キューに登録さ
れているアクセスモジュールを逐次に入力してデータベ
ースをアクセスして、そのアクセス結果を、FETCH
文の場合にはデータ記憶部に保存し、それ以外の場合に
はデータベースアクセス準備部に通知する処理を行い、
これと並行してデータベースアクセス準備部が、RDA
クライアントから受信した個々のSQL文に対する応答
結果をデータ記憶部あるいはデータベースアクセス実行
部から取得してRDAクライアントに返却する処理とを
行う。
In the cursor-based SQL statement processing method in the RDA server having such a configuration, when a cursor declaration statement based on an SQL statement is sent from the RDA client of the client computer system to the server computer system in accordance with the RDA protocol, a database is prepared. The access preparation unit, if the input host variable does not exist in the cursor declaration statement, the cursor declaration statement access module,
The OPEN statement access module, the FETCH statement access module and the CLOSE statement access module are collectively generated and registered in the queue, and if an input host variable exists, the input host variable value is included in the RDA protocol of the OPEN statement. Is specified, the cursor declaration statement access module, the OPEN statement access module, the FETCH statement access module, and the CLO
A total of four access modules of the SE statement access module are completed and registered in the queue. After this,
The database access execution unit accesses the database by sequentially inputting the access modules registered in the queue and accessing the database.
In the case of a sentence, it is stored in the data storage unit, otherwise, a process of notifying the database access preparation unit is performed,
In parallel with this, the database access preparation unit
A process of acquiring a response result for each SQL statement received from the client from the data storage unit or the database access execution unit and returning it to the RDA client is performed.

【0021】なお、データベースアクセス準備部および
データベースアクセス実行部はそれぞれ別々のプロセッ
サに同時に割り当て可能な形態であれば良く、例えば各
々スレッドとして構成され、或いは各々プロセスとして
構成される。
The database access preparation unit and the database access execution unit only need to be in a form that can be simultaneously assigned to different processors, for example, each is configured as a thread, or each is configured as a process.

【0022】[0022]

【発明の実施の形態】次に本発明の実施の形態の例につ
いて図面を参照して詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, embodiments of the present invention will be described in detail with reference to the drawings.

【0023】図1を参照すると、本発明の実施の形態の
一例は、クライアント計算機システム1と、このクライ
アント計算機システム1にネットワーク(図示せず)を
介して接続されたサーバ計算機システム2とから構成さ
れている。
Referring to FIG. 1, one embodiment of the present invention comprises a client computer system 1 and a server computer system 2 connected to the client computer system 1 via a network (not shown). Have been.

【0024】クライアント計算機システム1は、利用者
プログラム10とRDAクライアント11とを含む。
The client computer system 1 includes a user program 10 and an RDA client 11.

【0025】サーバ計算機システム2は、RDAサーバ
20とデータベース3とを含む。
The server computer system 2 includes an RDA server 20 and a database 3.

【0026】RDAサーバ20は、データベースアクセ
ス準備部40とデータベースアクセス実行部41とを備
えている。ここで、サーバ計算機システム2は、マルチ
プロセッサ型のハードウェア構成を有しており、データ
ベースアクセス準備部40とデータベースアクセス実行
部41とは、それぞれ独立にプロセッサが割り当て可能
な形態となっている。例えば、データベースアクセス準
備部40とデータベースアクセス実行部41とはそれぞ
れスレッドであり、マルチプロセッサ構成のサーバ計算
機システム2を構成する別々のプロセッサに同時に割り
当てられることにより並行して動作する。また他の形態
にあっては、データベースアクセス準備部40とデータ
ベースアクセス実行部41とをそれぞれプロセスとし、
マルチプロセッサ構成のサーバ計算機システム2を構成
する別々のプロセッサに同時に割り当てられることによ
り並行して動作する。要するに、それぞれ別々のプロセ
ッサに同時に割り当てられることが可能な形態であれば
構わない。
The RDA server 20 has a database access preparation unit 40 and a database access execution unit 41. Here, the server computer system 2 has a multiprocessor-type hardware configuration, and the database access preparation unit 40 and the database access execution unit 41 are configured so that processors can be assigned independently. For example, the database access preparation unit 40 and the database access execution unit 41 are threads, respectively, and operate in parallel by being simultaneously assigned to different processors constituting the server computer system 2 having a multiprocessor configuration. In another embodiment, the database access preparation unit 40 and the database access execution unit 41 are each a process,
It operates in parallel by being simultaneously assigned to different processors constituting the server computer system 2 having a multiprocessor configuration. In short, any form can be used as long as it can be assigned to different processors simultaneously.

【0027】データベースアクセス準備部40は、RD
Aクライアント11からのRDAプロトコルの受信時に
そのRDAプロトコル中のSQL文をデータベースアク
セス実行部41がデータベース3に対して実行可能とす
るために必要な準備を行ったり、データベースアクセス
実行部41が実行した結果をRDAプロトコルに従った
形式でRDAクライアント11へ返却する機能であり、
プロトコル解析・生成手段21とアクセスモジュール生
成手段22とから構成されている。
The database access preparation unit 40 has an RD
When the RDA protocol is received from the A client 11, the database access execution unit 41 performs necessary preparations so that the SQL statement in the RDA protocol can be executed on the database 3, and the database access execution unit 41 executes the SQL statement. This function returns the result to the RDA client 11 in a format according to the RDA protocol.
It comprises a protocol analysis / generation means 21 and an access module generation means 22.

【0028】データベースアクセス実行部41は、デー
タベースアクセス準備部40からの入力を受けてデータ
ベース3へアクセスし、その実行結果を再びデータベー
スアクセス準備部40へ返却する機能であり、データベ
ースアクセス手段23と、データ記憶部25と、データ
ベースアクセス手段23とアクセスモジュール生成手段
22とが同時にデータ記憶部25を参照することがない
よう排他制御を行う排他制御手段24とから構成されて
いる。また、データベースアクセス手段23は待ち行列
キュー26を有する。
The database access execution section 41 has a function of accessing the database 3 in response to an input from the database access preparation section 40 and returning the execution result to the database access preparation section 40 again. The data storage unit 25 includes an exclusive control unit 24 that performs exclusive control so that the database access unit 23 and the access module generation unit 22 do not refer to the data storage unit 25 at the same time. The database access unit 23 has a queue 26.

【0029】プロトコル解析・生成手段21は、RDA
クライアント11との間のRDAプロトコルの送受信を
司る窓口として機能する。RDAクライアント11より
受信したRDAプロトコルを解析し、その結果をアクセ
スモジュール生成手段22へ伝達する。また、データベ
ースアクセス実行結果をRDAプロトコル形式でRDA
クライアント11に返却するために、プロトコル生成処
理を行う。
The protocol analyzing / generating means 21 includes an RDA
It functions as a window that controls transmission and reception of the RDA protocol with the client 11. It analyzes the RDA protocol received from the RDA client 11 and transmits the result to the access module generation means 22. In addition, the database access execution result is expressed in RDA protocol format as RDA
In order to return to the client 11, a protocol generation process is performed.

【0030】アクセスモジュール生成手段22は、プロ
トコル解析・生成手段21より渡された解析結果に基づ
きデータベースアクセス可能な形式を生成する。この生
成されたものがアクセスモジュールである。アクセスモ
ジュール生成手段22は、RDAクライアント11から
RDAプロトコルで渡されたSQL文の構文解析,意味
解析,最適化,オブジェクト生成等を行ってアクセスモ
ジュールを生成する。SQL文中に入出力ホスト変数が
存在する場合のホスト変数属性情報や、ホスト変数値情
報もここで変換,解析される。ここで作成されたアクセ
スモジュールは、データベースアクセス手段23の待ち
行列キュー26へ渡される。また、アクセスモジュール
生成手段22は、データベースアクセス実行結果をプロ
トコル解析・生成手段21へ受け渡す役割も持つ。
The access module generation means 22 generates a database accessible format based on the analysis result passed from the protocol analysis / generation means 21. The generated one is an access module. The access module generation unit 22 generates an access module by performing syntax analysis, semantic analysis, optimization, object generation, and the like of the SQL sent from the RDA client 11 using the RDA protocol. The host variable attribute information and the host variable value information when the input / output host variable exists in the SQL statement are also converted and analyzed here. The access module created here is passed to the queue 26 of the database access means 23. The access module generation unit 22 also has a role of transferring a database access execution result to the protocol analysis and generation unit 21.

【0031】データベースアクセス手段23は、データ
ベース3とのインタフェース部分であり、待ち行列キュ
ー26を有する。この待ち行列キュー26に入力がある
と、その入力に従いデータベース3に対してSQL文を
実行する。実行した結果は、SQL文がFETCH文で
あればデータ記憶部25へ記憶し、それ以外はアクセス
モジュール生成手段22へ返却する。
The database access means 23 is an interface with the database 3 and has a queue 26. When an input is made in the queue 26, an SQL statement is executed on the database 3 according to the input. If the SQL statement is a FETCH statement, the execution result is stored in the data storage unit 25, and the other result is returned to the access module generation unit 22.

【0032】次に本実施の形態例の動作について説明す
る。
Next, the operation of this embodiment will be described.

【0033】図1において、利用者プログラム10がR
DAクライアント11に対しデータベース3へのアクセ
スを要求すると、RDAクライアント11はRDAプロ
トコルに従ってRDAサーバ20にリモートデータベー
スアクセスを行う。
In FIG. 1, the user program 10
When requesting the DA client 11 to access the database 3, the RDA client 11 performs remote database access to the RDA server 20 according to the RDA protocol.

【0034】図2を参照すると、プロトコル解析・生成
手段21は、RDAクライアント11から送信されたR
DAプロトコルを解析し(ステップA1〜A3)、解析
結果が正しければ得られた解析結果をアクセスモジュー
ル生成手段22へ渡す(A4,A7)。そして、それに
対してアクセスモジュール生成手段22から結果が返却
されたらその結果をRDAクライアント11に返すため
のプロトコルを生成し(ステップA5)、RDAクライ
アント11に送信して(ステップA6)、再び受信待ち
に入る(ステップA1,A2)。他方、RDAクライア
ント11から送信されたRDAプロトコルが不正プロト
コルであれば、エラープロトコルを生成し(ステップA
4,A5)、RDAクライアント11に送信し(ステッ
プA6)、再び受信待ちに入る(ステップA1,A
2)。
Referring to FIG. 2, the protocol analyzing / generating means 21 transmits the R
The DA protocol is analyzed (steps A1 to A3), and if the analysis result is correct, the obtained analysis result is passed to the access module generation means 22 (A4, A7). When the result is returned from the access module generation unit 22, a protocol for returning the result to the RDA client 11 is generated (step A5), transmitted to the RDA client 11 (step A6), and waits for reception again. (Steps A1 and A2). On the other hand, if the RDA protocol transmitted from the RDA client 11 is an invalid protocol, an error protocol is generated (step A).
4, A5), transmit to the RDA client 11 (step A6), and wait for reception again (steps A1, A)
2).

【0035】図3を参照すると、プロトコル解析・生成
手段21から解析結果を渡されたアクセスモジュール生
成手段22は、解析結果中のSQL文の構文を解析する
と共にSQL文中に含まれるホスト変数情報の解析等の
意味解析を行い(ステップB1,B2)、さらに最適化
を行う(ステップB3)。そして、SQL文の種別に応
じて以下のような処理を行う。
Referring to FIG. 3, the access module generating means 22 which has received the analysis result from the protocol analyzing / generating means 21 analyzes the syntax of the SQL statement in the analysis result, and obtains the host variable information included in the SQL statement. A semantic analysis such as analysis is performed (steps B1 and B2), and further optimization is performed (step B3). Then, the following processing is performed according to the type of the SQL statement.

【0036】(1)カーソル宣言文 SQL文がカーソル宣言文であれば(ステップB4でイ
エス)、カーソル宣言文からCLOSE文までの一連の
アクセスモジュール、つまりカーソル宣言文アクセスモ
ジュール,OPEN文アクセスモジュール,FETCH
文アクセスモジュールおよびCLOSE文アクセスモジ
ュールを生成する(ステップB5〜B8)。
(1) Cursor Declaration Statement If the SQL statement is a cursor declaration statement (Yes in step B4), a series of access modules from the cursor declaration statement to the CLOSE statement, that is, a cursor declaration statement access module, an OPEN statement access module, FETCH
A statement access module and a CLOSE statement access module are generated (steps B5 to B8).

【0037】更に、カーソル宣言文中に入力ホスト変数
が含まれているかどうかをチェックする(ステップB
9)。
Further, it is checked whether or not an input host variable is included in the cursor declaration statement (step B).
9).

【0038】入力ホスト変数がカーソル宣言文中に存在
しなければ、ステップB5〜B8で生成した4つのアク
セスモジュールをその順番に待ち行列キュー26ヘ入れ
(ステップB20)、その後、カーソル宣言文の結果
(成功)を作成する(ステップB10)。
If the input host variable does not exist in the cursor declaration statement, the four access modules generated in steps B5 to B8 are put into the queue 26 in that order (step B20), and then the result of the cursor declaration statement (step B20). (Success) (step B10).

【0039】他方、カーソル宣言文中に入力ホスト変数
が存在した場合は(ステップB9でイエス)、ステップ
B20の処理は行わず、ステップB10に進んでカーソ
ル宣言文の結果(成功)を作成する。
On the other hand, if the input host variable exists in the cursor declaration statement (Yes in step B9), the process of step B20 is not performed, and the process proceeds to step B10 to create a result (success) of the cursor declaration statement.

【0040】アクセスモジュール生成手段22は、こう
して作成したカーソル宣言文の結果をプロトコル解析・
生成手段21へ渡す(ステップB21)。
The access module generating means 22 analyzes the result of the cursor declaration statement created in this way by protocol analysis /
The information is passed to the generation means 21 (step B21).

【0041】(2)OPEN文 SQL文がカーソル宣言文でなくOPEN文であった場
合(ステップB4でノー,B11でイエス)、入力ホス
ト変数値が指定されているかどうかを調べる(ステップ
B12)。これは、RDA実装規約では、カーソル宣言
文中の入力ホスト変数の値はOPEN文のRDAプロト
コルで指定されるよう規定してあるからである。
(2) OPEN Statement If the SQL statement is not a cursor declaration statement but an OPEN statement (NO in step B4, YES in B11), it is checked whether an input host variable value is specified (step B12). This is because the RDA implementation regulations stipulate that the value of the input host variable in the cursor declaration statement is specified by the RDA protocol of the OPEN statement.

【0042】入力ホスト変数値が指定されていた場合
(B12でイエス)、アクセスモジュール生成手段22
は、カーソル宣言文受信時にステップB5で生成したカ
ーソル宣言文アクセスモジュールに上書きする形で、指
定された入力ホスト変数値を考慮したカーソル宣言文ア
クセスモジュールを生成し(ステップB13)、カーソ
ル宣言文受信時にステップB6,B7,B8で生成した
OPEN文アクセスモジュール,FETCH文アクセス
モジュールおよびCLOSE文アクセスモジュールと合
わせ、合計4つのアクセスモジュールを待ち行列キュー
26ヘ入れる(ステップB14)。
If the input host variable value has been designated (Yes in B12), the access module generation means 22
Generates a cursor declaration statement access module in consideration of the specified input host variable value by overwriting the cursor declaration statement access module generated in step B5 when the cursor declaration statement is received (step B13), and receives the cursor declaration statement. At times, a total of four access modules are put into the queue 26 together with the OPEN statement access module, FETCH statement access module and CLOSE statement access module generated in steps B6, B7 and B8 (step B14).

【0043】この後、データベースアクセス手段23か
らOPEN文の実行結果を取得し(ステップB15)、
プロトコル解析・生成手段21へ渡す(ステップB2
1)。
Thereafter, the execution result of the OPEN statement is obtained from the database access means 23 (step B15).
Transfer to the protocol analysis / generation means 21 (step B2
1).

【0044】(3)FETCH文 SQL文がFETCH文であった場合(ステップB4,
B11でノー,B16でイエス)、アクセスモジュール
生成手段22は、データ記憶部25から実行結果を直接
取得し(ステップB17)、プロトコル解析・生成手段
21へ渡す(ステップB21)。
(3) FETCH statement When the SQL statement is a FETCH statement (step B4,
(No in B11, Yes in B16), the access module generation unit 22 directly acquires the execution result from the data storage unit 25 (Step B17), and passes it to the protocol analysis / generation unit 21 (Step B21).

【0045】(4)CLOSE文 SQL文がCLOSE文であった場合(ステップB4,
B11,B16でノー,B18でイエス)、アクセスモ
ジュール生成手段22は、データベースアクセス手段2
3からCLOSE文の実行結果を取得し(ステップB1
5)、プロトコル解析・生成手段21ヘ渡す(ステップ
B21)。
(4) CLOSE Statement When the SQL statement is a CLOSE statement (step B4)
(No in B11 and B16, Yes in B18), the access module generating means 22
3 to obtain the execution result of the CLOSE statement (step B1).
5), and pass it to the protocol analysis / generation means 21 (step B21).

【0046】(5)非カーソル系SQL文 SQL文が非カーソル系SQL文であった場合(ステッ
プB4,B11,B16,B18でノー)、アクセスモ
ジュール生成手段22は、それに対応するアクセスモジ
ュールを生成し(ステップB19)、待ち行列キュー2
6へ入れる(ステップB14)。そして、データベース
アクセス手段23からその結果を取得し(ステップB1
5)、プロトコル解析・生成手段21へ渡す(ステップ
B21)。
(5) Non-cursor SQL statement If the SQL statement is a non-cursor SQL statement (NO in steps B4, B11, B16 and B18), the access module generation means 22 generates an access module corresponding to the SQL statement. (Step B19), queue queue 2
No. 6 (step B14). Then, the result is obtained from the database access unit 23 (step B1).
5), and pass it to the protocol analysis / generation means 21 (step B21).

【0047】図4を参照すると、データベースアクセス
手段23は、待ち行列キュー26にアクセスモジュール
の入力があるかどうかを常にチェックしている(ステッ
プC1,C2)。入力を発見すると、そのアクセスモジ
ュールを待ち行列キュー26から取り出し、それに従っ
てデータベース3にアクセスして実行結果を取得する
(ステップC3)。
Referring to FIG. 4, the database access means 23 always checks whether or not an access module is input to the queue 26 (steps C1 and C2). When an input is found, the access module is taken out of the queue 26 and the database 3 is accessed accordingly to obtain an execution result (step C3).

【0048】この実行結果の扱いは、実行したSQL文
により相違する。実行したSQL文がFETCH文であ
った場合は(ステップC4でイエス)、データ記憶部2
5に実行結果を保存する(ステップC5)。他方、FE
TCH文以外の場合は(ステップC4でノー)、アクセ
スモジュール生成手段22に実行結果を返却する(C
6)。
The handling of the execution result differs depending on the executed SQL statement. If the executed SQL statement is a FETCH statement (Yes in step C4), the data storage unit 2
5 is stored (step C5). On the other hand, FE
In the case other than the TCH statement (No in step C4), the execution result is returned to the access module generation unit 22 (C
6).

【0049】図5はアクセスモジュール生成手段22お
よびデータベースアクセス手段23が排他制御手段24
を使ってデータ記憶部25をアクセスする際の処理例を
示すフローチャートである。
FIG. 5 shows that the access module generation means 22 and the database access means 23 are exclusive control means 24.
9 is a flowchart illustrating a processing example when accessing the data storage unit 25 using the.

【0050】データベースアクセス準備部40およびデ
ータベースアクセス実行部41はデータ記憶部25を参
照,更新しようとするとき、排他制御手段24に対して
データ記憶部25のロックを要求する(ステップD
1)。排他制御手段24では、データ記憶部25がロッ
ク中でない場合にはそれをロックして、ロック成功した
ことを要求元に通知し、既にロック中であればロック失
敗を要求元に通知する。ロック要求したデータベースア
クセス準備部40またはデータベースアクセス実行部4
1は、ロック成功の場合は(ステップD2でイエス)、
データ記憶部25をアクセスしてデータの書き込みもし
くは参照を行い(ステップD3)、アクセスの終了後に
排他制御手段24に対してロック解除を要求してデータ
記憶部25のロックを外す(ステップD4)。なお、ロ
ック失敗が通知された場合(D2でノー)、データベー
スアクセス準備部40またはデータベースアクセス実行
部41はロックが成功するまで再試行する。
When the database access preparation unit 40 and the database access execution unit 41 refer to and update the data storage unit 25, they request the exclusive control unit 24 to lock the data storage unit 25 (step D).
1). When the data storage unit 25 is not locked, the exclusive control unit 24 locks the data storage unit 25 and notifies the request source that the lock has succeeded, and notifies the request source of the lock failure when the data storage unit 25 is already locked. The database access preparation unit 40 or the database access execution unit 4 that issued the lock request
1 indicates that the lock was successful (yes in step D2)
The data storage unit 25 is accessed to write or refer to data (step D3). After the access is completed, the exclusive control unit 24 is requested to release the lock, and the data storage unit 25 is unlocked (step D4). When the lock failure is notified (No in D2), the database access preparation unit 40 or the database access execution unit 41 retries until the lock succeeds.

【0051】このように本実施の形態では、データベー
スアクセス準備部40とデータベースアクセス実行部4
1とが同時に動作可能であり、また、カーソル系SQL
文をカーソル宣言からCLOSEまで、RDAクライア
ント11からのSQL文受信のタイミングによらずに連
続して実行することができる。このため、カーソル系S
QL文に関して、1つのSQL文から次のSQL文まで
のデータベースアクセス間隔を短くすることができる。
さらに、FETCH結果を保存しておき、RDAクライ
アント11からFETCH文を受信した場合は、その保
存結果を参照することで、結果返却までの時間を短縮す
ることができ、処理速度の高速化が実現できる。
As described above, in the present embodiment, the database access preparation unit 40 and the database access execution unit 4
1 can operate simultaneously, and the cursor SQL
The statement can be executed continuously from the cursor declaration to CLOSE irrespective of the timing of receiving the SQL statement from the RDA client 11. Therefore, the cursor system S
Regarding the QL statement, the database access interval from one SQL statement to the next SQL statement can be shortened.
Further, when the FETCH result is stored and the FETCH statement is received from the RDA client 11, the time until the result can be returned can be reduced by referring to the stored result, and the processing speed can be increased. it can.

【0052】[0052]

【実施例】次に図6乃至図9を参照して本発明の一実施
例の動作を説明する。
Next, the operation of an embodiment of the present invention will be described with reference to FIGS.

【0053】図6において、利用者プログラム10がR
DAクライアント11に対しデータベース3へのSQL
文によるカーソル宣言文を発行すると、RDAクライア
ント11はRDAサーバ20に対してそのカーソル宣言
文を含むRDAプロトコルを送信する。ここで、カーソ
ル宣言文中には図6に示すように入力ホスト変数:Hが
含まれているものとする。
In FIG. 6, the user program 10
SQL to database 3 for DA client 11
When the cursor declaration statement is issued, the RDA client 11 transmits an RDA protocol including the cursor declaration statement to the RDA server 20. Here, it is assumed that an input host variable: H is included in the cursor declaration statement as shown in FIG.

【0054】上記のカーソル宣言文を含むRDAプロト
コルを受信したプロトコル解析・生成手段21は、その
RDAプロトコルを解析し(ステップA3)、その解析
結果をアクセスモジュール生成手段22に渡す(ステッ
プA7)。アクセスモジュール生成手段22は、その解
析結果に基づき構文解析,意味解析および最適化を行い
(ステップB1〜B3)、カーソル宣言文なので、カー
ソル宣言文アクセスモジュールを生成し(ステップB
5)、続けて、OPEN文アクセスモジュール,FET
CH文アクセスモジュールおよびCLOSE文アクセス
モジュールも生成する(ステップB6〜B8)。このと
き、アクセスモジュール生成手段22は、カーソル宣言
文中に入力ホスト変数:Hが含まれているため、次のO
PEN文のRDAプロトコルの中で入力ホスト変数:H
の値が指定されるのを待ち、この段階では待ち行列キュ
ー26には何も渡さない。この後、アクセスモジュール
生成手段22は、カーソル宣言文の結果を作成してプロ
トコル解析・生成手段21に渡し(ステップB10,B
21)、プロトコル解析・生成手段21はカーソル宣言
文の結果にかかるプロトコルをRDAクライアント11
に送信する(ステップA5,A6)。
The protocol analyzing / generating means 21 having received the RDA protocol including the cursor declaration statement analyzes the RDA protocol (step A3), and passes the analysis result to the access module generating means 22 (step A7). The access module generation means 22 performs syntax analysis, semantic analysis, and optimization based on the analysis result (steps B1 to B3), and generates a cursor declaration statement access module because it is a cursor declaration statement (step B).
5) Then, open statement access module, FET
A CH statement access module and a CLOSE statement access module are also generated (steps B6 to B8). At this time, since the input host variable: H is included in the cursor declaration statement, the
Input host variable in RDA protocol of PEN statement: H
, And nothing is passed to the queue 26 at this stage. Thereafter, the access module generation means 22 creates the result of the cursor declaration statement and passes it to the protocol analysis / generation means 21 (steps B10, B
21), the protocol analyzing / generating means 21 sends the protocol related to the result of the cursor declaration statement to the RDA client 11
(Steps A5 and A6).

【0055】図7を参照すると、利用者プログラム10
は、RDAクライアント11を通じてRDAサーバ20
からカーソル宣言文の結果を受け取った後、RDAクラ
イアント11にOPEN文を発行し、RDAクライアン
ト11はOPEN文にかかるRDAプロトコルをRDA
サーバ20に送信している。ここで入力ホスト変数:H
の値がRDAクライアント11より渡されるため、アク
セスモジュール生成手段22においてカーソル宣言文の
アクセスモジュールの組み立てを完成させる(ステップ
B13)。そして、データベースアクセス手段23の待
ち行列キュー26に合計4つのアクセスモジュールを登
録する(ステップB14)。
Referring to FIG. 7, the user program 10
Is connected to the RDA server 20 through the RDA client 11.
After receiving the result of the cursor declaration statement from, the OPEN statement is issued to the RDA client 11, and the RDA client 11 sets the RDA protocol related to the OPEN statement to RDA.
It is transmitted to the server 20. Where the input host variable: H
Is passed from the RDA client 11, the access module generation means 22 completes the assembly of the access module of the cursor declaration statement (step B13). Then, a total of four access modules are registered in the queue 26 of the database access unit 23 (step B14).

【0056】図8を参照すると、データベースアクセス
手段23は、待ち行列キュー26に入力が行われた為に
それを逐次に処理している(ステップC1〜C6)。今
の場合、データベース3に対し、まずカーソル宣言文お
よびOPEN文を実行し、その結果をアクセスモジュー
ル生成手段22へ返却する。アクセスモジュール生成手
段22はプロトコル解析・生成手段21にその結果を渡
し、プロトコル解析・生成手段21はそれをRDAクラ
イアント11に渡して次の要求を待つ。
Referring to FIG. 8, since the database access means 23 has been input to the queue 26, it is sequentially processing it (steps C1 to C6). In this case, first, a cursor declaration statement and an OPEN statement are executed for the database 3, and the results are returned to the access module generation unit 22. The access module generation unit 22 passes the result to the protocol analysis / generation unit 21, and the protocol analysis / generation unit 21 passes it to the RDA client 11 and waits for the next request.

【0057】図9を参照すると、利用者プログラム10
がRDAクライアント11に対してFETCH文を発行
し、RDAクライアント11はFETCH文にかかるR
DAプロトコルをデータベースアクセス準備部40に送
信している。このとき、データベースアクセス実行部4
1は、データベースアクセス準備部40とは独立して動
作しているため、プロトコル解析・生成手段21が次の
SQL文(FETCH文)を受信するタイミングに関係
なく、データベースアクセス手段23において待ち行列
キュー26中の次のFETCH文を実行している。つま
り、データベース3に対してFETCH文を実行し、そ
の結果データを排他制御手段24を介してデータ記憶部
25に保存している。
Referring to FIG. 9, the user program 10
Issues a FETCH statement to the RDA client 11, and the RDA client 11
The DA protocol is transmitted to the database access preparation unit 40. At this time, the database access execution unit 4
1 operates independently of the database access preparation unit 40, and therefore, regardless of the timing at which the protocol analysis / generation unit 21 receives the next SQL statement (FETCH statement), The next FETCH statement in 26 is executed. That is, the FETCH statement is executed on the database 3, and the result data is stored in the data storage unit 25 via the exclusive control unit 24.

【0058】図10を参照すると、RDAクライアント
11から受信したFETCH文は、アクセスモジュール
生成手段22において図3のステップB1〜B3の処理
が行われた後、ステップB17において、データ記憶部
25によりFETCH結果を直接取得する。
Referring to FIG. 10, the FETCH statement received from the RDA client 11 is processed by the access module generating means 22 in steps B1 to B3 in FIG. Get the results directly.

【0059】こうして、アクセスモジュール生成手段2
2は、FETCH結果を取得し、プロトコル解析・生成
手段21は結果データをRDAクライアント11へ送信
する。
Thus, the access module generating means 2
2 acquires the FETCH result, and the protocol analysis / generation unit 21 transmits the result data to the RDA client 11.

【0060】図11はデータ記憶部25の記憶内容の例
を示す図である。データベースアクセス手段23はOP
EN文アクセスモジュールの実行によってカーソル宣言
に対応する表が生成されると、エントリ111およびエ
ントリ112にそれぞれ初期値1の書き込みカウンタお
よび読み出しカウンタを設定する。なお、113は各行
の値を格納するデータエントリである。
FIG. 11 is a diagram showing an example of the contents stored in the data storage unit 25. The database access means 23 is OP
When the table corresponding to the cursor declaration is generated by the execution of the EN statement access module, the write counter and the read counter of the initial value 1 are set in the entries 111 and 112, respectively. A data entry 113 stores the value of each row.

【0061】データベースアクセス手段23は最初のF
ETCH文により1行分のデータを取得すると、データ
記憶部25のロックを取得して、先頭のデータエントリ
113にデータを書き込み、書き込みカウンタの値を+
1して2にし、ロックを解除する。また、次の1行分の
データを取得すると、次のデータエントリ113に書き
込み、書き込みカウンタの値を+1して3とする。以
下、同様に1行分のデータを書き込む毎に書き込みカウ
ンタの値を+1していく。なお、最後に書き込む値はE
ODである。
The database access means 23 stores the first F
When one line of data is acquired by the ETCH statement, the lock of the data storage unit 25 is acquired, the data is written in the first data entry 113, and the value of the write counter is set to +
1 to 2 to release the lock. When the next one row of data is obtained, it is written into the next data entry 113, and the value of the write counter is incremented by one to three. Thereafter, the value of the write counter is incremented by one each time one row of data is written. The last value to be written is E
OD.

【0062】他方、アクセスモジュール生成手段22
は、図3のステップB17においてデータ記憶部25か
ら結果を取得する際、データ記憶部25のロックを取得
して、先ず、読み出しカウンタの値が書き込みカウンタ
の値より小さいか否かを確認し、小さければ、読み出し
カウンタの値に対応するデータエントリ113に書き込
まれているデータを読み出し、書き込みカウンタの値を
+1し、ロックを解除する。また、読み出しカウンタの
値が書き込みカウンタの値より小さくなければ、ロック
を解除した後、例えば一定時間の待ち合わせの後に再試
行する。
On the other hand, access module generating means 22
Acquires the lock of the data storage unit 25 when acquiring the result from the data storage unit 25 in step B17 of FIG. 3, and first checks whether the value of the read counter is smaller than the value of the write counter, If the value is smaller, the data written in the data entry 113 corresponding to the value of the read counter is read, the value of the write counter is incremented by 1, and the lock is released. If the value of the read counter is not smaller than the value of the write counter, the lock is released, and a retry is performed, for example, after waiting for a certain time.

【0063】[0063]

【発明の効果】以上説明したように本発明によれば以下
のような効果を得ることができる。
As described above, according to the present invention, the following effects can be obtained.

【0064】カーソル系SQL文の応答時間を短縮する
ことができる。その理由は、データベースアクセス準備
部とデータベースアクセス実行部とをマルチプロセッサ
型構成のサーバ計算機におけるそれぞれ異なるプロセッ
サに割り当てて並行して動作させ、カーソル宣言文を受
信した時点でデータベースアクセス準備部がOPEN
文,FETCH文,CLOSE文のSQL文が実行でき
るように各々のアクセスモジュールを生成して待ち行列
キューに入れ、他方、データベースアクセス実行部がR
DAクライアントからのFETCH文等の受信のタイミ
ングと無関係に、待ち行列キューに入っているアクセス
モジュールをデータベースアクセス準備部の処理と並行
して順次に実行し、データベースアクセス準備部がその
アクセス結果をRDAクライアントに返却するからであ
る。
The response time of a cursor SQL statement can be reduced. The reason is that the database access preparation unit and the database access execution unit are assigned to different processors in the multiprocessor type server computer and operate in parallel, and when the cursor declaration statement is received, the database access preparation unit opens.
, An access module is generated and placed in a queue so that the SQL statement of the statement, the FETCH statement, and the CLOSE statement can be executed.
Irrespective of the timing of receiving the FETCH statement or the like from the DA client, the access modules in the queue are sequentially executed in parallel with the processing of the database access preparation unit, and the database access preparation unit transmits the access result to the RDA. This is because it is returned to the client.

【0065】OPEN文,FETCH文およびCLOS
E文の各々に対してもRDAクライアントからRDAサ
ーバに対して要求を出し、この要求に対してRDAサー
バからRDAクライアントに対して応答を返すという手
順を守ることができる。その理由は、データベースアク
セス準備部が、RDAクライアントから受信した個々の
SQL文に対する応答結果をデータ記憶部あるいはデー
タベースアクセス実行部から取得してRDAクライアン
トに返却するからである。
OPEN statement, FETCH statement and CLOS
The procedure of issuing a request from the RDA client to the RDA server for each of the E statements and returning a response from the RDA server to the RDA client for the request can be followed. The reason is that the database access preparation unit obtains a response result for each SQL statement received from the RDA client from the data storage unit or the database access execution unit and returns it to the RDA client.

【0066】カーソル宣言文に入力ホスト変数が存在す
る場合と存在しない場合との両方に対処することができ
る。その理由は、データベースアクセス準備部が、RD
Aクライアントから受信したカーソル宣言文に入力ホス
ト変数がある場合とない場合とで処理を切りわけている
からである。
Both the case where the input host variable exists in the cursor declaration statement and the case where it does not exist can be handled. The reason is that the database access preparation
This is because the processing is divided depending on whether or not there is an input host variable in the cursor declaration sentence received from the client A.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施の形態の一例を示すブロック図で
ある。
FIG. 1 is a block diagram illustrating an example of an embodiment of the present invention.

【図2】プロトコル解析・生成手段の処理例を示すフロ
ーチャートである。
FIG. 2 is a flowchart illustrating a processing example of a protocol analysis / generation unit.

【図3】アクセスモジュール生成手段の処理例を示すフ
ローチャートである。
FIG. 3 is a flowchart illustrating a processing example of an access module generation unit;

【図4】データベースアクセス手段の処理例を示すフロ
ーチャートである。
FIG. 4 is a flowchart illustrating a processing example of a database access unit.

【図5】アクセスモジュール生成手段およびデータベー
スアクセス手段が排他制御手段を使ってデータ記憶部を
アクセスする際の処理例を示すフローチャートである。
FIG. 5 is a flowchart illustrating an example of processing when an access module generation unit and a database access unit access a data storage unit using an exclusive control unit;

【図6】本発明の一実施例の動作説明図であって、入力
ホスト変数を含むカーソル宣言文を受信したときのRD
Aサーバの動作を示す図である。
FIG. 6 is an operation explanatory diagram of one embodiment of the present invention, wherein RD when a cursor declaration statement including an input host variable is received;
It is a figure showing operation of A server.

【図7】本発明の一実施例の動作説明図であって、OP
EN文を受信したときのRDAサーバの動作を示す図で
ある。
FIG. 7 is an operation explanatory diagram of one embodiment of the present invention, wherein OP
FIG. 14 is a diagram illustrating an operation of the RDA server when receiving an EN sentence.

【図8】本発明の一実施例の動作説明図であって、RD
AサーバがOPEN文の処理結果をRDAクライアント
に送信している様子を示す図である。
FIG. 8 is an operation explanatory diagram of one embodiment of the present invention, wherein RD
FIG. 14 is a diagram illustrating a state in which an A server is transmitting a processing result of an OPEN statement to an RDA client.

【図9】本発明の一実施例の動作説明図であって、RD
AクライアントからのFETCH文の受信と無関係にR
DAサーバがFETCH文によるデータベースアクセス
を行っている様子を示す図である。
FIG. 9 is an operation explanatory diagram of one embodiment of the present invention, wherein RD
R independent of receiving FETCH statement from client A
FIG. 7 is a diagram illustrating a state in which the DA server is accessing a database using a FETCH statement.

【図10】本発明の一実施例の動作説明図であって、R
DAサーバがFETCH文の実行結果をRDAクライア
ントに返却している様子を示す図である。
FIG. 10 is an explanatory diagram of the operation of one embodiment of the present invention;
FIG. 14 is a diagram illustrating a state in which the DA server returns an execution result of the FETCH statement to the RDA client.

【図11】データ記憶部の記憶内容の例を示す図であ
る。
FIG. 11 is a diagram illustrating an example of storage contents of a data storage unit.

【図12】従来のRDAシステムのブロック図である。FIG. 12 is a block diagram of a conventional RDA system.

【符号の説明】[Explanation of symbols]

1…クライアント計算機システム 2…サーバ計算機システム 3…データベース 10…利用者プログラム 11…RDAクライアント 20…RDAサーバ 21…プロトコル解析・生成手段 22…アクセスモジュール生成手段 23…データベースアクセス手段 24…排他制御手段 25…データ記憶部 26…待ち行列キュー 40…データベースアクセス準備部 41…データベースアクセス実行部 DESCRIPTION OF SYMBOLS 1 ... Client computer system 2 ... Server computer system 3 ... Database 10 ... User program 11 ... RDA client 20 ... RDA server 21 ... Protocol analysis / generation unit 22 ... Access module generation unit 23 ... Database access unit 24 ... Exclusive control unit 25 ... Data storage unit 26 ... Queue queue 40 ... Database access preparation unit 41 ... Database access execution unit

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 ネットワークを介して接続されたクライ
アント計算機システム上で動作するRDAクライアント
からの要求に従って、サーバ計算機システムのデータベ
ースをアクセスするRDAサーバにおけるカーソル系S
QL文処理方法において、 RDAサーバをデータベースアクセス準備部とデータベ
ースアクセス実行部とで構成して、これらをマルチプロ
セッサ型構成のサーバ計算機におけるそれぞれ異なるプ
ロセッサに割り当てて並行して動作させ、 前記データベースアクセス実行部に、待ち行列キューに
登録されているアクセスモジュールを逐次に入力してデ
ータベースをアクセスする処理と、そのアクセス結果
を、FETCH文の場合にはデータベースアクセス準備
部とデータベースアクセス実行部との間で排他的に使用
されるデータ記憶部に保存し、それ以外の場合にはデー
タベースアクセス準備部に通知する処理とを行わせ、 前記データベースアクセス準備部に、RDAクライアン
トから受信したSQL文がカーソル宣言文の場合に、カ
ーソル宣言文アクセスモジュール,OPEN文アクセス
モジュール,FETCH文アクセスモジュールおよびC
LOSE文アクセスモジュールを一括して作成して前記
待ち行列キューに登録する処理と、RDAクライアント
から受信した個々のSQL文に対する応答結果を、FE
TCH文については前記データ記憶部から、OPEN文
およびCLOSE文については前記データベースアクセ
ス実行部から、それぞれ取得してRDAクライアントに
返却する処理とを行わせるようにしたことを特徴とする
RDAサーバにおけるカーソル系SQL文処理方法。
1. A cursor system S in an RDA server that accesses a database of a server computer system according to a request from an RDA client operating on a client computer system connected via a network.
In the QL statement processing method, an RDA server is composed of a database access preparation unit and a database access execution unit, and these are assigned to different processors in a multi-processor type server computer to operate in parallel, A process of sequentially inputting the access modules registered in the queue queue to access the database, and transmitting the access result between the database access preparation unit and the database access execution unit in the case of the FETCH statement. In the data storage unit used exclusively, a process of notifying the database access preparation unit is performed otherwise. The SQL statement received from the RDA client is transmitted to the database access preparation unit by a cursor declaration statement. If the cursor Genbun access module, OPEN statement access module, FETCH statement access module and C
The process of collectively creating a LOSE statement access module and registering it in the queue queue, and the response result to each SQL statement received from the RDA client
A cursor for acquiring the TCH statement from the data storage unit, and acquiring the OPEN statement and the CLOSE statement from the database access execution unit, and returning the acquired statement to the RDA client. System SQL statement processing method.
【請求項2】 ネットワークを介して接続されたクライ
アント計算機システム上で動作するRDAクライアント
からの要求に従って、サーバ計算機システムのデータベ
ースをアクセスするRDAサーバにおけるカーソル系S
QL文処理方法において、 RDAサーバをデータベースアクセス準備部とデータベ
ースアクセス実行部とで構成して、これらをマルチプロ
セッサ型構成のサーバ計算機におけるそれぞれ異なるプ
ロセッサに割り当てて並行して動作させ、 前記データベースアクセス実行部に、待ち行列キューに
登録されているアクセスモジュールを逐次に入力してデ
ータベースをアクセスする処理と、そのアクセス結果
を、FETCH文の場合にはデータベースアクセス準備
部とデータベースアクセス実行部との間で排他的に使用
されるデータ記憶部に保存し、それ以外の場合にはデー
タベースアクセス準備部に通知する処理とを行わせ、 前記データベースアクセス準備部に、RDAクライアン
トから受信したSQL文が入力ホスト変数を含まないカ
ーソル宣言文の場合に、カーソル宣言文アクセスモジュ
ール,OPEN文アクセスモジュール,FETCH文ア
クセスモジュールおよびCLOSE文アクセスモジュー
ルを一括して作成して前記待ち行列キューに登録する処
理と、RDAクライアントから受信したSQL文が入力
ホスト変数を含むカーソル宣言文の場合にはOPEN文
のRDAプロトコルの中で入力ホスト変数値が指定され
るのを待ってカーソル宣言文アクセスモジュール,OP
EN文アクセスモジュール,FETCH文アクセスモジ
ュールおよびCLOSE文アクセスモジュールの合計4
つのアクセスモジュールを完成させて前記待ち行列キュ
ーに登録する処理と、RDAクライアントから受信した
個々のSQL文に対する応答結果を、FETCH文につ
いては前記データ記憶部から、OPEN文およびCLO
SE文については前記データベースアクセス実行部か
ら、それぞれ取得してRDAクライアントに返却する処
理とを行わせるようにしたことを特徴とするRDAサー
バにおけるカーソル系SQL文処理方法。
2. A cursor system S in an RDA server that accesses a database of a server computer system according to a request from an RDA client operating on a client computer system connected via a network.
In the QL statement processing method, an RDA server is composed of a database access preparation unit and a database access execution unit, and these are assigned to different processors in a multi-processor type server computer to operate in parallel, A process of sequentially inputting the access modules registered in the queue queue to access the database, and transmitting the access result between the database access preparation unit and the database access execution unit in the case of the FETCH statement. The data is stored in a data storage unit used exclusively, and otherwise, a process of notifying the database access preparation unit is performed. The SQL statement received from the RDA client is input to the database access preparation unit. Cursor not containing In the case of a language, a process of collectively creating a cursor declaration statement access module, an OPEN statement access module, a FETCH statement access module, and a CLOSE statement access module and registering it in the queue, and an SQL statement received from the RDA client Is a cursor declaration statement including an input host variable, the cursor declaration statement access module waits until the input host variable value is specified in the RDA protocol of the OPEN statement, and
EN statement access module, FETCH statement access module and CLOSE statement access module, total 4
One access module is completed and registered in the queue, and a response result for each SQL statement received from the RDA client is stored in the data storage unit for the FETCH statement.
A cursor-related SQL statement processing method in the RDA server, wherein the SE statement is obtained from the database access execution unit, and is returned to the RDA client.
【請求項3】 前記データベースアクセス準備部および
前記データベースアクセス実行部をそれぞれスレッドと
したことを特徴とする請求項1または2記載のRDAサ
ーバにおけるカーソル系SQL文処理方法。
3. The method according to claim 1, wherein the database access preparation unit and the database access execution unit are each a thread.
【請求項4】 前記データベースアクセス準備部および
前記データベースアクセス実行部をそれぞれプロセスと
したことを特徴とする請求項1または2記載のRDAサ
ーバにおけるカーソル系SQL文処理方法。
4. The method according to claim 1, wherein the database access preparation unit and the database access execution unit are processes.
JP8293387A 1996-10-15 1996-10-15 Cursor-based SQL statement processing method in RDA server Expired - Fee Related JP3058101B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8293387A JP3058101B2 (en) 1996-10-15 1996-10-15 Cursor-based SQL statement processing method in RDA server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8293387A JP3058101B2 (en) 1996-10-15 1996-10-15 Cursor-based SQL statement processing method in RDA server

Publications (2)

Publication Number Publication Date
JPH10124358A true JPH10124358A (en) 1998-05-15
JP3058101B2 JP3058101B2 (en) 2000-07-04

Family

ID=17794115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8293387A Expired - Fee Related JP3058101B2 (en) 1996-10-15 1996-10-15 Cursor-based SQL statement processing method in RDA server

Country Status (1)

Country Link
JP (1) JP3058101B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959305B2 (en) 2001-12-21 2005-10-25 International Business Machines Corporation Unique identification of SQL cursor occurrences in a repetitive, nested environment
JP2009151411A (en) * 2007-12-19 2009-07-09 Mitsubishi Electric Corp Data retrieval device, system, program and data retrieval method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959305B2 (en) 2001-12-21 2005-10-25 International Business Machines Corporation Unique identification of SQL cursor occurrences in a repetitive, nested environment
JP2009151411A (en) * 2007-12-19 2009-07-09 Mitsubishi Electric Corp Data retrieval device, system, program and data retrieval method

Also Published As

Publication number Publication date
JP3058101B2 (en) 2000-07-04

Similar Documents

Publication Publication Date Title
US6081801A (en) Shared nothing parallel execution of procedural constructs in SQL
US5179660A (en) System for reducing communications overhead in distributed database transactions by serializing in order related requests into single transmission message and receiving transmission response
US6850938B1 (en) Method and apparatus providing optimistic locking of shared computer resources
US5652911A (en) Multinode distributed data processing system for use in a surface vehicle
US5864843A (en) Method and apparatus for extending a database management system to operate with diverse object servers
US7769789B2 (en) High performant row-level data manipulation using a data layer interface
US7567968B2 (en) Integration of a non-relational query language with a relational data store
US6412034B1 (en) Transaction-based locking approach
US20090198703A1 (en) Intelligent data storage system
JP2500103B2 (en) Method and apparatus for establishing pseudo terminal link
CN104252501B (en) A kind of computing device and method executing database manipulation order
JP2005504455A (en) Adaptive multi-protocol communication system
KR100288140B1 (en) Connection provision system and method for accessing heterogeneous database management system
JP7011627B2 (en) Instruction execution method used for artificial intelligence chips and artificial intelligence chips
JP3808941B2 (en) Parallel database system communication frequency reduction method
US7933948B2 (en) Computer-readable medium to multiplex multiple application server requests over a single database connection
JP3058101B2 (en) Cursor-based SQL statement processing method in RDA server
JPS6334490B2 (en)
US6732089B1 (en) SQL access to system specific data
US9984096B2 (en) System and method for reducing communications overhead in a distributed transactions environment by modifying implementation of the transaction start function
CN110134704A (en) A kind of big data cluster affairs implementation method based on distributed caching
JPH08278953A (en) Exclusive control system of computer system
Kepecs et al. SODA: A simplified operating system for distributed applications
US7543307B2 (en) Interface method and device having interface for circuit comprising logical operation element
Kimbleton et al. Chapter 14. Applications and protocols

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080421

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090421

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100421

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110421

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees