JPH08255101A - 大型データ・オブジェクトに関する選択された割当てオペレーションを変換するためのシステム及び方法 - Google Patents
大型データ・オブジェクトに関する選択された割当てオペレーションを変換するためのシステム及び方法Info
- Publication number
- JPH08255101A JPH08255101A JP8018528A JP1852896A JPH08255101A JP H08255101 A JPH08255101 A JP H08255101A JP 8018528 A JP8018528 A JP 8018528A JP 1852896 A JP1852896 A JP 1852896A JP H08255101 A JPH08255101 A JP H08255101A
- Authority
- JP
- Japan
- Prior art keywords
- data structure
- operand
- lse
- data
- string
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】割当てステートメントの評価においてディスク
・アクセス・オペレーションの減少を可能にするリレー
ショナル・データベース管理システム(RDBMS)を
提供する。 【解決手段】割当てステートメントを評価するためにデ
ータベース記憶装置から大型データ・オブジェクト(L
OB)を記憶及び検索するRDBMSは、選択されたス
トリング・オペレーションを、データベースに残される
LOBオペランドに関する等価機能に変換するデータ・
マネージャを含み、それによって、関連の記憶アクセス
・オペレーションを排除する。データ・マネージャは、
1つ又は複数個のLOBを含む割当てステートメントを
受ける時、先ずそのステートメントが変換可能であるか
どうか決定するためのチェックを行う。それが変換可能
である場合、変換が行われる。変換されたステートメン
トは通常の遅延評価法に従って処理される。
・アクセス・オペレーションの減少を可能にするリレー
ショナル・データベース管理システム(RDBMS)を
提供する。 【解決手段】割当てステートメントを評価するためにデ
ータベース記憶装置から大型データ・オブジェクト(L
OB)を記憶及び検索するRDBMSは、選択されたス
トリング・オペレーションを、データベースに残される
LOBオペランドに関する等価機能に変換するデータ・
マネージャを含み、それによって、関連の記憶アクセス
・オペレーションを排除する。データ・マネージャは、
1つ又は複数個のLOBを含む割当てステートメントを
受ける時、先ずそのステートメントが変換可能であるか
どうか決定するためのチェックを行う。それが変換可能
である場合、変換が行われる。変換されたステートメン
トは通常の遅延評価法に従って処理される。
Description
【0001】
【発明の属する技術分野】本発明は、概して云えば、リ
レーショナル・データベース・システムに関するもので
あり、更に詳しく云えば、そのようなシステムにおける
大型のデータ・オブジェクトに関する割当てステートメ
ントの評価に関するものである。
レーショナル・データベース・システムに関するもので
あり、更に詳しく云えば、そのようなシステムにおける
大型のデータ・オブジェクトに関する割当てステートメ
ントの評価に関するものである。
【0002】
【従来の技術】コンピュータ及びデータ記憶装置の進歩
は、益々速いデータ・アクセス・タイム及び益々大きな
情報ブロックを操作する能力をユーザに与えてきた。情
報の記憶、検索、及び操作は、一般には、データベース
管理システムによって達成される。ユーザによって操作
される情報は、一般には、数字及び文字の形式のデータ
値より成る。更に最近では、それらの操作されるデータ
値はグラフィック及びビデオ形式のデータを含むように
なっている。特に、グラフィック及びビデオ・データは
操作されるべき大きなデータを含むことが多い。
は、益々速いデータ・アクセス・タイム及び益々大きな
情報ブロックを操作する能力をユーザに与えてきた。情
報の記憶、検索、及び操作は、一般には、データベース
管理システムによって達成される。ユーザによって操作
される情報は、一般には、数字及び文字の形式のデータ
値より成る。更に最近では、それらの操作されるデータ
値はグラフィック及びビデオ形式のデータを含むように
なっている。特に、グラフィック及びビデオ・データは
操作されるべき大きなデータを含むことが多い。
【0003】より効果的なユーザ操作のための情報を編
成する1つのタイプのデータベースがリレーショナル・
データベースである。リレーショナル・データベースは
データ値をユーザ定義のテーブル間の相互関係を持った
テーブルに編成する。リレーショナル・データベース管
理システムは、そのシステムがデータ値をテーブルから
取り出し、テーブルに挿入し、及び結合するために使用
するステートメントをユーザが構成することを可能にす
る。選択されたデータ値はテーブル・エントリより成る
新しいストリングに割当て可能であり、或いは既存のス
トリングを置換することが可能である。例えば、ユーザ
は、割当てステートメントにおけるサブストリング演算
子を使用して文字ストリング又はビデオ・イメージの一
部分を取り出しそしてその取り出された部分を更なる操
作のために新しいストリングに割り当てる(又は、既存
のストリングを置換する)ことができる。ユーザは、2
つの別個のストリングを単一のストリングに結合するた
めに連結演算子を使用することができる。当業者には、
ストリング演算子の更なる例が容易に思い浮かぶであろ
う。
成する1つのタイプのデータベースがリレーショナル・
データベースである。リレーショナル・データベースは
データ値をユーザ定義のテーブル間の相互関係を持った
テーブルに編成する。リレーショナル・データベース管
理システムは、そのシステムがデータ値をテーブルから
取り出し、テーブルに挿入し、及び結合するために使用
するステートメントをユーザが構成することを可能にす
る。選択されたデータ値はテーブル・エントリより成る
新しいストリングに割当て可能であり、或いは既存のス
トリングを置換することが可能である。例えば、ユーザ
は、割当てステートメントにおけるサブストリング演算
子を使用して文字ストリング又はビデオ・イメージの一
部分を取り出しそしてその取り出された部分を更なる操
作のために新しいストリングに割り当てる(又は、既存
のストリングを置換する)ことができる。ユーザは、2
つの別個のストリングを単一のストリングに結合するた
めに連結演算子を使用することができる。当業者には、
ストリング演算子の更なる例が容易に思い浮かぶであろ
う。
【0004】データ値は、関連データ値のテーブルに編
成されることに加えて、データ装置ハードウエア構成に
より定義された記憶装置に従ってリレーショナル・デー
タベースに記憶される。一般には、リレーショナル・デ
ータベースは、ページと呼ばれる単一の記憶単位に単一
のデータ値を完全に記憶する。通常、1つのページは5
12バイトと32768バイト(32*1024バイ
ト、32キロバイト及び略して32KBとも呼ばれる)
との間のデータ値を含む。データ値をページの形で記憶
することは、1つのページに記憶される単一のデータ項
目の最大サイズをそのページのサイズに限定する。記憶
されるデータ値に関する制限をより少なくするために、
或リレーショナル・データベース管理システムは、長フ
ィールド又は大オブジェクトと呼ばれる特別に定義され
たデータ・タイプ(一般に、LOBと呼ばれる)を含ん
でいる。
成されることに加えて、データ装置ハードウエア構成に
より定義された記憶装置に従ってリレーショナル・デー
タベースに記憶される。一般には、リレーショナル・デ
ータベースは、ページと呼ばれる単一の記憶単位に単一
のデータ値を完全に記憶する。通常、1つのページは5
12バイトと32768バイト(32*1024バイ
ト、32キロバイト及び略して32KBとも呼ばれる)
との間のデータ値を含む。データ値をページの形で記憶
することは、1つのページに記憶される単一のデータ項
目の最大サイズをそのページのサイズに限定する。記憶
されるデータ値に関する制限をより少なくするために、
或リレーショナル・データベース管理システムは、長フ
ィールド又は大オブジェクトと呼ばれる特別に定義され
たデータ・タイプ(一般に、LOBと呼ばれる)を含ん
でいる。
【0005】古いデータベース製品では、LOBはシス
テムが単一のページに記憶することができる最大の32
KBに制限された。更に最近では、データベースはLO
Bが数ギガバイトの桁(106 KB)のサイズ制限を持
つことが可能である。数ギガバイトのサイズを持ったデ
ータ値は、一般的な操作技法が使用される場合、おそら
く、かなり遅い記憶アクセス・オペレーションを生じる
であろう。その結果、LOBは、一般には、他のデータ
・タイプを管理するために使用される機構とは異なる特
別のLOB記憶機構によって管理される。
テムが単一のページに記憶することができる最大の32
KBに制限された。更に最近では、データベースはLO
Bが数ギガバイトの桁(106 KB)のサイズ制限を持
つことが可能である。数ギガバイトのサイズを持ったデ
ータ値は、一般的な操作技法が使用される場合、おそら
く、かなり遅い記憶アクセス・オペレーションを生じる
であろう。その結果、LOBは、一般には、他のデータ
・タイプを管理するために使用される機構とは異なる特
別のLOB記憶機構によって管理される。
【0006】多くのデータベース管理システムは、LO
Bの操作を可能にするストリング・オペレーションを直
接にはサポートせず、代わりに、LOBの実際のサイズ
に関係なく比較的簡単な記憶及び検索アクセス・オペレ
ーションを提供するだけである。即ち、一旦データベー
ス・ユーザが、潜在的に数ギガバイトのサイズを持つL
OBとなるべきデータ・タイプを定義すると、たとえそ
のLOBが実際にはわずか数キロバイトのサイズのもの
であっても、LOBに対して実行できるオペレーション
は、リレーショナル・データベースにおけるそのLOB
の記憶及び検索に限定されるであろう。
Bの操作を可能にするストリング・オペレーションを直
接にはサポートせず、代わりに、LOBの実際のサイズ
に関係なく比較的簡単な記憶及び検索アクセス・オペレ
ーションを提供するだけである。即ち、一旦データベー
ス・ユーザが、潜在的に数ギガバイトのサイズを持つL
OBとなるべきデータ・タイプを定義すると、たとえそ
のLOBが実際にはわずか数キロバイトのサイズのもの
であっても、LOBに対して実行できるオペレーション
は、リレーショナル・データベースにおけるそのLOB
の記憶及び検索に限定されるであろう。
【0007】リレーショナル・データベースのデータ値
は、一般には、1つ又は複数個のデータ・ベース・ディ
スク・ドライブに記憶される。LOBデータ値を検索す
るアクセス・オペレーションは、そのLOBが大きな単
位でディスク・ドライブから読み出され、中間記憶装置
を構成するディスク・ファイル又はメモリ・バッファに
配置されることを可能にする。中間記憶装置のディスク
・ファイルはデータベース・ディスク・ドライブ記憶装
置とは別個のものであり、メモリ・バッファは、一般に
は、電子的ランダム・アクセス・メモリ(RAM)の一
部分を含む。LOBデータ値を記憶するアクセス・オペ
レーションは、そのLOBがディスク・ファイル又はメ
モリ・バッファからコピーされ、データベースの記憶ロ
ケーションに配置されることを可能にする。簡単な記憶
及び検索オペレーションだけをサポートするシステムで
は、LOBデータ値のすべてのより複雑なストリング操
作がデータ値のディスク・ファイル又はメモリ・バッフ
ァのコピーに関して実行されなければならない。
は、一般には、1つ又は複数個のデータ・ベース・ディ
スク・ドライブに記憶される。LOBデータ値を検索す
るアクセス・オペレーションは、そのLOBが大きな単
位でディスク・ドライブから読み出され、中間記憶装置
を構成するディスク・ファイル又はメモリ・バッファに
配置されることを可能にする。中間記憶装置のディスク
・ファイルはデータベース・ディスク・ドライブ記憶装
置とは別個のものであり、メモリ・バッファは、一般に
は、電子的ランダム・アクセス・メモリ(RAM)の一
部分を含む。LOBデータ値を記憶するアクセス・オペ
レーションは、そのLOBがディスク・ファイル又はメ
モリ・バッファからコピーされ、データベースの記憶ロ
ケーションに配置されることを可能にする。簡単な記憶
及び検索オペレーションだけをサポートするシステムで
は、LOBデータ値のすべてのより複雑なストリング操
作がデータ値のディスク・ファイル又はメモリ・バッフ
ァのコピーに関して実行されなければならない。
【0008】ディスク・ファイル中間記憶装置における
LOBの配置は、おそらく、データ操作を妨げたり厳し
いパフォーマンス・ペナルティを引き起こしたりする多
くのディスク・ドライブ記憶装置アクセス・オペレーシ
ョン(I/Oアクセス)を必要とするであろう。パフォ
ーマンス・ペナルティは、たとえ比較的小さい変更がL
OBに対して行われたとしても存在する。例えば、たと
え1つのバイトがLOBに付加されたとしても、そのL
OBの各バイトがデータベース・ディスクから読み取ら
れそしてその追加オペレーションが完了する前に書き込
まれなければならない。
LOBの配置は、おそらく、データ操作を妨げたり厳し
いパフォーマンス・ペナルティを引き起こしたりする多
くのディスク・ドライブ記憶装置アクセス・オペレーシ
ョン(I/Oアクセス)を必要とするであろう。パフォ
ーマンス・ペナルティは、たとえ比較的小さい変更がL
OBに対して行われたとしても存在する。例えば、たと
え1つのバイトがLOBに付加されたとしても、そのL
OBの各バイトがデータベース・ディスクから読み取ら
れそしてその追加オペレーションが完了する前に書き込
まれなければならない。
【0009】メモリ・バッファ中間記憶装置におけるL
OBの配置は、ディスク・ドライブ・ファイルに比べて
RAMに対するアクセス・タイムがずっと速いため、デ
ィスク・ファイル中間記憶装置を使用するよりもわずか
に速い。しかし、殆どのコンピュータ・システムは、す
べての大きなサイズのLOBを含むに十分なRAMを持
っていない。256メガバイト(MB)よりも大きい使
用可能なRAMを持つことは、比較的大きいメインフレ
ーム・システムにとっても希なことである。前述のよう
に、現代のリレーショナル・データベース管理システム
は、LOBが数ギガバイト(数千MB)のサイズを持つ
ことを可能にし得る。
OBの配置は、ディスク・ドライブ・ファイルに比べて
RAMに対するアクセス・タイムがずっと速いため、デ
ィスク・ファイル中間記憶装置を使用するよりもわずか
に速い。しかし、殆どのコンピュータ・システムは、す
べての大きなサイズのLOBを含むに十分なRAMを持
っていない。256メガバイト(MB)よりも大きい使
用可能なRAMを持つことは、比較的大きいメインフレ
ーム・システムにとっても希なことである。前述のよう
に、現代のリレーショナル・データベース管理システム
は、LOBが数ギガバイト(数千MB)のサイズを持つ
ことを可能にし得る。
【0010】或リレーショナル・データベース管理シス
テムは、LOBに関する比較的簡単な記憶及び検索アク
セス・オペレーション以上のものをサポートする。その
ようなシステムは、LOB処理及び操作を自動的に実行
する能力を持っている。例えば、或リレーショナル・デ
ータベース管理システムは、データ値の名前によって指
定された一連のストリング演算子及びLOBオペランド
を含む割当てステートメントをユーザが対話的に入力す
ることを可能にする。そのシステムは最初に指定された
ストリング・オペレーションにとって必要なLOBデー
タ値を自動的に検索し、ストリング・オペレーションを
実行し、そしてLOBオペランドの次のグループの検索
及び次の指定されたストリング・オペレーションの実行
を進める。前述のように、LOBは極めて大きいものに
なり得るし、そのような処理は数百メガバイトを超えた
LOBにとって扱い難いものになることがある。
テムは、LOBに関する比較的簡単な記憶及び検索アク
セス・オペレーション以上のものをサポートする。その
ようなシステムは、LOB処理及び操作を自動的に実行
する能力を持っている。例えば、或リレーショナル・デ
ータベース管理システムは、データ値の名前によって指
定された一連のストリング演算子及びLOBオペランド
を含む割当てステートメントをユーザが対話的に入力す
ることを可能にする。そのシステムは最初に指定された
ストリング・オペレーションにとって必要なLOBデー
タ値を自動的に検索し、ストリング・オペレーションを
実行し、そしてLOBオペランドの次のグループの検索
及び次の指定されたストリング・オペレーションの実行
を進める。前述のように、LOBは極めて大きいものに
なり得るし、そのような処理は数百メガバイトを超えた
LOBにとって扱い難いものになることがある。
【0011】データ構造を連結する遅延評価と呼ばれる
技法を使用して割当てステートメントにおけるLOBの
処理及び操作を簡単にすることが知られている。遅延評
価では、割当てステートメントにおける所定のストリン
グ演算子の評価は、ストリング演算子の遭遇時のより一
般的な即時実行とは違って、割当てステートメント全体
が受領されるまで遅延される。一般には、データ構造は
割当てステートメントの各オペランドに対して作られ
る。各データ構造は、どのようなストリング・オペレー
ションが実行されるべきかの指定を含む。そのデータベ
ース管理システムはデータ構造及びストリング・オペレ
ーションを分析し、そしてストリング・オペレーション
が簡単にされてしまうまでデータベースからのすべての
データ値の検索を実際に遅らせる。即ち、中間結果は、
それらが次のストリング・オペレーションのために使用
可能である場合、データベース・ディスクに書き戻され
ない。この方法の場合、ディスク・アクセス・オペレー
ションは減少する。次の例は遅延評価の利点を示す。
技法を使用して割当てステートメントにおけるLOBの
処理及び操作を簡単にすることが知られている。遅延評
価では、割当てステートメントにおける所定のストリン
グ演算子の評価は、ストリング演算子の遭遇時のより一
般的な即時実行とは違って、割当てステートメント全体
が受領されるまで遅延される。一般には、データ構造は
割当てステートメントの各オペランドに対して作られ
る。各データ構造は、どのようなストリング・オペレー
ションが実行されるべきかの指定を含む。そのデータベ
ース管理システムはデータ構造及びストリング・オペレ
ーションを分析し、そしてストリング・オペレーション
が簡単にされてしまうまでデータベースからのすべての
データ値の検索を実際に遅らせる。即ち、中間結果は、
それらが次のストリング・オペレーションのために使用
可能である場合、データベース・ディスクに書き戻され
ない。この方法の場合、ディスク・アクセス・オペレー
ションは減少する。次の例は遅延評価の利点を示す。
【0012】「サブストリング」演算子及び「連結」ス
トリング演算子を使用し、次のようなフォームを有する
割当てステートメントを考察する。 C1=[サブストリング(C1,1,50 000 00
0)]連結[C2], これは、サブストリングがC1と呼ばれるLOBから取
り出されること、そのサブストリングはC1の第1の5
000万バイトよりなること、及び取り出されたサブス
トリングはC2と呼ばれるLOBと連結されることを表
す。最終的な連結結果は、最初にC1を持っていたデー
タベース・ディスク・ロケーションに記憶されるであろ
う。遅延評価がない場合、そのリレーショナル・データ
ベース管理システムは、先ず、C1データ値をデータベ
ース・ディスクから中間記憶ファイル又はメモリ・バッ
ファに読み込むことによって割当てステートメントを直
ちに評価するであろう。そこで、C1中間コピーは第1
の5000万バイトだけを残して切り捨てられるであろ
う。その切り捨てられたC1コピーはデータベース・デ
ィスクに記憶されて、第1演算子(サブストリング演算
子)の即時評価を終了するであろう。しかる後、連結オ
ペレーションに遭遇し、従って、今切り捨てられたC1
データ値がデータベース・ディスクからファイル又はメ
モリ・バッファに再読み込みされ、C2データ値がもう
1つのファイル又はメモリ・バッファに読み込まれるで
あろう。そこで、それらの2つのデータ値コピーは連結
され、その結果はC1データ値ロケーションにおいてデ
ータベース・ディスクに書き込まれるであろう。
トリング演算子を使用し、次のようなフォームを有する
割当てステートメントを考察する。 C1=[サブストリング(C1,1,50 000 00
0)]連結[C2], これは、サブストリングがC1と呼ばれるLOBから取
り出されること、そのサブストリングはC1の第1の5
000万バイトよりなること、及び取り出されたサブス
トリングはC2と呼ばれるLOBと連結されることを表
す。最終的な連結結果は、最初にC1を持っていたデー
タベース・ディスク・ロケーションに記憶されるであろ
う。遅延評価がない場合、そのリレーショナル・データ
ベース管理システムは、先ず、C1データ値をデータベ
ース・ディスクから中間記憶ファイル又はメモリ・バッ
ファに読み込むことによって割当てステートメントを直
ちに評価するであろう。そこで、C1中間コピーは第1
の5000万バイトだけを残して切り捨てられるであろ
う。その切り捨てられたC1コピーはデータベース・デ
ィスクに記憶されて、第1演算子(サブストリング演算
子)の即時評価を終了するであろう。しかる後、連結オ
ペレーションに遭遇し、従って、今切り捨てられたC1
データ値がデータベース・ディスクからファイル又はメ
モリ・バッファに再読み込みされ、C2データ値がもう
1つのファイル又はメモリ・バッファに読み込まれるで
あろう。そこで、それらの2つのデータ値コピーは連結
され、その結果はC1データ値ロケーションにおいてデ
ータベース・ディスクに書き込まれるであろう。
【0013】上記の例では、C1が1億バイトの初期サ
イズを有し且つC2が1000バイトの初期サイズを有
する場合、合計150,001,000バイトがデータベ
ース・ディスクから検索され(オリジナルC1、切り捨
てC1、及びC2)、合計100,001,000バイト
が記憶される(切り捨てC1、及び連結C1及びC
2)。従って、即時評価技法を使用して、合計2500
02000バイトの記憶アクセス・オペレーションが実
行されるであろう。
イズを有し且つC2が1000バイトの初期サイズを有
する場合、合計150,001,000バイトがデータベ
ース・ディスクから検索され(オリジナルC1、切り捨
てC1、及びC2)、合計100,001,000バイト
が記憶される(切り捨てC1、及び連結C1及びC
2)。従って、即時評価技法を使用して、合計2500
02000バイトの記憶アクセス・オペレーションが実
行されるであろう。
【0014】遅延評価を使用するリレーショナル・デー
タベースは、何らかの評価を行う前に割当てステートメ
ント全体を受け取ること及びサブストリング・オペレー
ションが連結オペレーションによって使用されることを
認識することによって割当てステートメントを評価する
であろう。システムは依然としてサブストリング・オペ
レーションを実行するであろうが、サブストリング結果
の中間記憶及びデータベース・ディスクからのその結果
のその後の検索は次のように回避されるであろう。
タベースは、何らかの評価を行う前に割当てステートメ
ント全体を受け取ること及びサブストリング・オペレー
ションが連結オペレーションによって使用されることを
認識することによって割当てステートメントを評価する
であろう。システムは依然としてサブストリング・オペ
レーションを実行するであろうが、サブストリング結果
の中間記憶及びデータベース・ディスクからのその結果
のその後の検索は次のように回避されるであろう。
【0015】初期ステップにおいて、リレーショナル・
データベース管理システムはデータベース・ディスクか
らC1の第1の5000万バイトだけを検索し、それら
を一時的ファイル又はメモリ・バッファに記憶してその
ファイル又はメモリ・バッファにおいてC1の切り捨て
コピーを生じさせる。次に、次のオペレーション(連
結)が中間結果を利用することを認識して、システムは
データベース・ディスクに切り捨てC1を記憶すること
を回避する。代わりに、システムはファイル又はメモリ
・バッファに切り捨てC1を残し、データベース・ディ
スクからC2を検索して他のファイル又はメモリ・バッ
ファにそのC2を記憶する。そこで、システムは切り捨
てC1及びC2コピーの連結を行い、その結果をC1ロ
ケーションにおいてデータベース・ディスクに記憶す
る。この遅延評価の例では、合計50,001,000バ
イトが検索され、合計50,001,000バイトが記憶
されるであろう。従って、合計100,002,000バ
イトの記憶アクセス・オペレーションが実行されるであ
ろう。記憶アクセス・オペレーションが即時評価処理技
法に比べて半分に減少したことは明らかである。
データベース管理システムはデータベース・ディスクか
らC1の第1の5000万バイトだけを検索し、それら
を一時的ファイル又はメモリ・バッファに記憶してその
ファイル又はメモリ・バッファにおいてC1の切り捨て
コピーを生じさせる。次に、次のオペレーション(連
結)が中間結果を利用することを認識して、システムは
データベース・ディスクに切り捨てC1を記憶すること
を回避する。代わりに、システムはファイル又はメモリ
・バッファに切り捨てC1を残し、データベース・ディ
スクからC2を検索して他のファイル又はメモリ・バッ
ファにそのC2を記憶する。そこで、システムは切り捨
てC1及びC2コピーの連結を行い、その結果をC1ロ
ケーションにおいてデータベース・ディスクに記憶す
る。この遅延評価の例では、合計50,001,000バ
イトが検索され、合計50,001,000バイトが記憶
されるであろう。従って、合計100,002,000バ
イトの記憶アクセス・オペレーションが実行されるであ
ろう。記憶アクセス・オペレーションが即時評価処理技
法に比べて半分に減少したことは明らかである。
【0016】当業者には明らかなように、遅延評価技法
の連係データ構造はLOB割当てステートメントの処理
を簡単にする1つの方法である。データ・リスト又はア
レイを使用する他の簡単化技法は、当業者にとって容易
に思いつくものであろう。
の連係データ構造はLOB割当てステートメントの処理
を簡単にする1つの方法である。データ・リスト又はア
レイを使用する他の簡単化技法は、当業者にとって容易
に思いつくものであろう。
【0017】遅延評価は即時評価に比べてかなりの処理
時間の節約及びディスク・アクセス・オペレーションの
減少を与えるけれども、上記の例におけるオペレーショ
ンの分析は、更なる時間節約及びディスク・アクセス・
オペレーションの減少が可能であることを示している。
それは、例えば、サブストリング及び連結オペレーショ
ンの第1の5000万バイトがそれらの検索された同じ
ロケーションにおいてデータベース・ディスクに書き戻
されること、及び検索及びその後の再記憶の量が減少し
た場合に操作効率が改良されることを、リレーショナル
・データベース管理システムが認識する場合に有利であ
る。上記のサブストリング/連結の例では、C1サブス
トリングが中間ファイル又はバッファ・メモリ記憶装置
とデータベース・ディスクとの間で全く移動しない場
合、即時評価技法に比べてディスク・アクセス・オペレ
ーションの減少は250,002,000バイトから2,
000バイトへの、50,000倍のオーダの減少とな
るであろう。
時間の節約及びディスク・アクセス・オペレーションの
減少を与えるけれども、上記の例におけるオペレーショ
ンの分析は、更なる時間節約及びディスク・アクセス・
オペレーションの減少が可能であることを示している。
それは、例えば、サブストリング及び連結オペレーショ
ンの第1の5000万バイトがそれらの検索された同じ
ロケーションにおいてデータベース・ディスクに書き戻
されること、及び検索及びその後の再記憶の量が減少し
た場合に操作効率が改良されることを、リレーショナル
・データベース管理システムが認識する場合に有利であ
る。上記のサブストリング/連結の例では、C1サブス
トリングが中間ファイル又はバッファ・メモリ記憶装置
とデータベース・ディスクとの間で全く移動しない場
合、即時評価技法に比べてディスク・アクセス・オペレ
ーションの減少は250,002,000バイトから2,
000バイトへの、50,000倍のオーダの減少とな
るであろう。
【0018】
【発明が解決しようとする課題】上記の説明から、通常
の遅延評価技法によってもたらされる効率の機会を超え
る効率の機会を認識することによって割当てステートメ
ントを評価する際に減少したディスク・アクセス・オペ
レーションを可能にするリレーショナル・データベース
管理システムに対する要求があることは明らかである。
本発明はこの要求を満たすものである。
の遅延評価技法によってもたらされる効率の機会を超え
る効率の機会を認識することによって割当てステートメ
ントを評価する際に減少したディスク・アクセス・オペ
レーションを可能にするリレーショナル・データベース
管理システムに対する要求があることは明らかである。
本発明はこの要求を満たすものである。
【0019】
【課題を解決するための手段】本発明によれば、大型デ
ータ・オブジェクト(LOB)をデータ・ベース記憶装
置に記憶し及びそこから検索するリレーショナル・デー
タベース管理システムは、LOBに関する選択されたス
トリング・オペレーションを、減少した記憶アクセス・
オペレーションを必要とする等価の機能に変換させるデ
ータ・マネージャを含む。そのデータ・マネージャは、
1つ又は複数個のLOBを含む割当てステートメントを
受けた時、先ず、そのステートメントが変換可能である
かどうかをチェックして決定する。そのステートメント
が変換可能である場合、その変換が実行される。データ
ベースに残すことができるLOBオペランドに対する等
価の機能(それによって、関連の記憶アクセス・オペレ
ーションを排除する)に変換できるような少なくとも1
つのストリング演算子とオペランドとを有する割当てス
テートメントが変換可能割当てステートメントであるこ
とをデータ・マネージャは認識する。即ち、変換された
機能はLOBがデータベースから中間記憶装置に読み込
まれることを必要としないが、代わりに、LOBを操作
することによる等価のストリング結果をデータベース記
憶装置の適所に与える。そこで、変換されたステートメ
ントは通常の評価技法に従って処理される。割当てステ
ートメントが変換可能でない場合、そのステートメント
は通常の遅延評価技法に従って評価される。この方法で
は、リレーショナル・データベース管理システムは、選
択されたLOB割当てステートメントを即時評価技法よ
りもずっと少ない記憶アクセス・オペレーションでもっ
て処理することができ、それによって効率及び実行速度
を増大させることができる。
ータ・オブジェクト(LOB)をデータ・ベース記憶装
置に記憶し及びそこから検索するリレーショナル・デー
タベース管理システムは、LOBに関する選択されたス
トリング・オペレーションを、減少した記憶アクセス・
オペレーションを必要とする等価の機能に変換させるデ
ータ・マネージャを含む。そのデータ・マネージャは、
1つ又は複数個のLOBを含む割当てステートメントを
受けた時、先ず、そのステートメントが変換可能である
かどうかをチェックして決定する。そのステートメント
が変換可能である場合、その変換が実行される。データ
ベースに残すことができるLOBオペランドに対する等
価の機能(それによって、関連の記憶アクセス・オペレ
ーションを排除する)に変換できるような少なくとも1
つのストリング演算子とオペランドとを有する割当てス
テートメントが変換可能割当てステートメントであるこ
とをデータ・マネージャは認識する。即ち、変換された
機能はLOBがデータベースから中間記憶装置に読み込
まれることを必要としないが、代わりに、LOBを操作
することによる等価のストリング結果をデータベース記
憶装置の適所に与える。そこで、変換されたステートメ
ントは通常の評価技法に従って処理される。割当てステ
ートメントが変換可能でない場合、そのステートメント
は通常の遅延評価技法に従って評価される。この方法で
は、リレーショナル・データベース管理システムは、選
択されたLOB割当てステートメントを即時評価技法よ
りもずっと少ない記憶アクセス・オペレーションでもっ
て処理することができ、それによって効率及び実行速度
を増大させることができる。
【0020】本発明の1つの特徴では、評価される割当
てステートメントのオペランドは長ストリング表示(L
SE)と呼ばれる別個のデータ構造によって表される。
LSEデータ構造は割当てステートメントにおいて遭遇
した各オペランドに対して作られる。ストリング・オペ
レーション変換チェック及びストリング演算子変換その
ものはデータベース記憶装置からデータ値を検索するこ
となくLSEデータ構造によって実行される。変換可能
なすべてのストリング演算子が変換されてしまった後、
割当てステートメントは遅延評価の準備ができる。その
時、データ値がデータベース記憶装置から検索され、通
常の遅延評価技法がその変換された割当てステートメン
トに関して実行される。そこで、LSEデータ構造は削
除される。データの間接的処理のためのLSEデータ構
造の使用はデータベース・アクセス・オペレーションを
簡単にする。
てステートメントのオペランドは長ストリング表示(L
SE)と呼ばれる別個のデータ構造によって表される。
LSEデータ構造は割当てステートメントにおいて遭遇
した各オペランドに対して作られる。ストリング・オペ
レーション変換チェック及びストリング演算子変換その
ものはデータベース記憶装置からデータ値を検索するこ
となくLSEデータ構造によって実行される。変換可能
なすべてのストリング演算子が変換されてしまった後、
割当てステートメントは遅延評価の準備ができる。その
時、データ値がデータベース記憶装置から検索され、通
常の遅延評価技法がその変換された割当てステートメン
トに関して実行される。そこで、LSEデータ構造は削
除される。データの間接的処理のためのLSEデータ構
造の使用はデータベース・アクセス・オペレーションを
簡単にする。
【0021】本発明のもう1つの特徴では、データ・マ
ネージャは、第1オペランドの第1バイトで始まる長さ
変換ストリング・オペレーションが受け取った割当てス
テートメントの第1オペランドに関して実行されている
かどうか決定することによってLOB割当てステートメ
ントを変換する。そのような場合、データ・マネージャ
は、第1オペランドに対する「適所切り捨て」オペレー
ションによって、記憶アクセス・オペレーションが不必
要であるように、そのストリング・オペレーションが等
価的に実行可能であることを認識する。そこで、データ
・マネージャはその割当てステートメントにおける残り
のストリング演算子の変換を続け、遅延評価技法を使用
してその変換された割当てステートメントを評価する前
に、選択されたストリング演算子を同等の機能でもって
置換する。
ネージャは、第1オペランドの第1バイトで始まる長さ
変換ストリング・オペレーションが受け取った割当てス
テートメントの第1オペランドに関して実行されている
かどうか決定することによってLOB割当てステートメ
ントを変換する。そのような場合、データ・マネージャ
は、第1オペランドに対する「適所切り捨て」オペレー
ションによって、記憶アクセス・オペレーションが不必
要であるように、そのストリング・オペレーションが等
価的に実行可能であることを認識する。そこで、データ
・マネージャはその割当てステートメントにおける残り
のストリング演算子の変換を続け、遅延評価技法を使用
してその変換された割当てステートメントを評価する前
に、選択されたストリング演算子を同等の機能でもって
置換する。
【0022】本発明の原理を実例によって示した以下の
ような好適な実施例の説明から、本発明の他の特徴及び
利点は明らかであろう。
ような好適な実施例の説明から、本発明の他の特徴及び
利点は明らかであろう。
【0023】
【発明の実施の形態】図1は、本発明に従って構成され
たコンピュータ処理ネットワーク・システム20を示
す。そのシステムはランダム・アクセス・メモリ(RA
M)23を有する中央処理装置(CPU)22を含む。
RAM23には、リレーショナル・データベース管理シ
ステム(DBMS)24がある。CPU22はファイル
・サーバ26に接続され、そのファイル・サーバには多
くのクライアント28が接続可能である。図1には、説
明を簡単にするために3つのクライアントしか示されて
いない。CPU22に接続された記憶サブシステム30
は、リレーショナル・データベースを構成するデータ値
が保持される記憶ロケーションを与える。DBMS24
はクライアント28から割当てステートメントを受けて
データ・アクセス・オペレーションを実行し、参照され
たデータを記憶サブシステム30から検索し、割当てス
テートメントにおいて指定されたストリング・オペレー
ションを実行し、その結果のデータ値を記憶サブシステ
ムに戻す。
たコンピュータ処理ネットワーク・システム20を示
す。そのシステムはランダム・アクセス・メモリ(RA
M)23を有する中央処理装置(CPU)22を含む。
RAM23には、リレーショナル・データベース管理シ
ステム(DBMS)24がある。CPU22はファイル
・サーバ26に接続され、そのファイル・サーバには多
くのクライアント28が接続可能である。図1には、説
明を簡単にするために3つのクライアントしか示されて
いない。CPU22に接続された記憶サブシステム30
は、リレーショナル・データベースを構成するデータ値
が保持される記憶ロケーションを与える。DBMS24
はクライアント28から割当てステートメントを受けて
データ・アクセス・オペレーションを実行し、参照され
たデータを記憶サブシステム30から検索し、割当てス
テートメントにおいて指定されたストリング・オペレー
ションを実行し、その結果のデータ値を記憶サブシステ
ムに戻す。
【0024】本発明によれば、DBMS24が事前定義
された大型データ・オブジェクト(LOB)を構成する
1つ又は複数個のデータ値を含む割当てステートメント
を受ける時、DBMSは、そのステートメントが変換可
能であるかどうかを決定し、そして変換が可能である場
合、実行されるアクセス・オペレーションの数を減少さ
せる等価の機能にストリング演算子を変換し、しかる
後、通常の遅延評価技法を使用してその変換されたステ
ートメントを処理する。そのステートメントが変換不可
能なものである場合、それは通常の遅延評価技法に従っ
て評価される。このように、DBMS24は、選択され
たLOB割当てステートメントをずっと少ないデータ・
アクセス・オペレーションでもって処理し、それによっ
て、ステートメント評価の効率及び速度を増加させる。
された大型データ・オブジェクト(LOB)を構成する
1つ又は複数個のデータ値を含む割当てステートメント
を受ける時、DBMSは、そのステートメントが変換可
能であるかどうかを決定し、そして変換が可能である場
合、実行されるアクセス・オペレーションの数を減少さ
せる等価の機能にストリング演算子を変換し、しかる
後、通常の遅延評価技法を使用してその変換されたステ
ートメントを処理する。そのステートメントが変換不可
能なものである場合、それは通常の遅延評価技法に従っ
て評価される。このように、DBMS24は、選択され
たLOB割当てステートメントをずっと少ないデータ・
アクセス・オペレーションでもって処理し、それによっ
て、ステートメント評価の効率及び速度を増加させる。
【0025】CPU22は、例えば、「システム/39
0」と呼ばれるIBM社の製品のような大型のメインフ
レーム機械より成るものでよく、或いは、「AS/40
0」と呼ばれるIBM社の製品のようなワークステーシ
ョンより成るものでもよく、或いは、「IBMパーソナ
ル・コンピュータ」プロセッサ又は互換機より成るもの
でもよい。ファイル・サーバ26及びクライアント28
は中央処理装置を含むが、一般には、CPU22のよう
な計算能力を持っていない。一般に、ファイル・サーバ
26は、少なくとも、クライアント28の何れよりも計
算的には強力なプロセッサを含む。そのファイル・サー
バは、例えば、ワークステーションより成るものでよ
く、各クライアントは「IBMパーソナル・コンピュー
タ」より成るものでよい。代替えとして、DBMS24
のユーザは、クライアントよりもむしろCPUに直接に
接続可能である。記憶サブシステム30は、1つ又は複
数個のディスク・ドライブ・システムのような当業者に
知られた数多くの通常のダイレクト・アクセス記憶装置
(DASD)のいずれより成るものでよい。
0」と呼ばれるIBM社の製品のような大型のメインフ
レーム機械より成るものでよく、或いは、「AS/40
0」と呼ばれるIBM社の製品のようなワークステーシ
ョンより成るものでもよく、或いは、「IBMパーソナ
ル・コンピュータ」プロセッサ又は互換機より成るもの
でもよい。ファイル・サーバ26及びクライアント28
は中央処理装置を含むが、一般には、CPU22のよう
な計算能力を持っていない。一般に、ファイル・サーバ
26は、少なくとも、クライアント28の何れよりも計
算的には強力なプロセッサを含む。そのファイル・サー
バは、例えば、ワークステーションより成るものでよ
く、各クライアントは「IBMパーソナル・コンピュー
タ」より成るものでよい。代替えとして、DBMS24
のユーザは、クライアントよりもむしろCPUに直接に
接続可能である。記憶サブシステム30は、1つ又は複
数個のディスク・ドライブ・システムのような当業者に
知られた数多くの通常のダイレクト・アクセス記憶装置
(DASD)のいずれより成るものでよい。
【0026】図2はDBMS24の機能的ブロック図で
ある。図2は、DBMSが2つの主要機能ブロック、即
ち、トランスレータ36及びデータ・マネージャ38を
含む。そのトランスレータは、データベース言語フォー
マットに従った割当てステートメントの形でクライアン
ト28(図1)からのデータベース・リクエストを受
け、それらをデータ・マネージャにより認識可能なデー
タ構造表示及び表現に変換する。そこで、データ・マネ
ージャは、更に後述するように、本発明に従ってストリ
ング演算子変換を実行し、データベース記憶装置におけ
るデータ値の適当な記憶及び検索を実行する。トランス
レータは、使用されるデータベース管理システムによる
通常の変換技法に従って動作する。例えば、クライアン
トによって作成された割当てステートメントは、IBM
社から入手可能な「DB2」と呼ばれるデータベース管
理システムのソフトウエア製品によって指定された言語
フォーマットのものである。そのDB2データベース管
理システム等のようなシステムによって使用される変換
技法は、これ以上の説明がなくても当業者によって理解
されるであろう。
ある。図2は、DBMSが2つの主要機能ブロック、即
ち、トランスレータ36及びデータ・マネージャ38を
含む。そのトランスレータは、データベース言語フォー
マットに従った割当てステートメントの形でクライアン
ト28(図1)からのデータベース・リクエストを受
け、それらをデータ・マネージャにより認識可能なデー
タ構造表示及び表現に変換する。そこで、データ・マネ
ージャは、更に後述するように、本発明に従ってストリ
ング演算子変換を実行し、データベース記憶装置におけ
るデータ値の適当な記憶及び検索を実行する。トランス
レータは、使用されるデータベース管理システムによる
通常の変換技法に従って動作する。例えば、クライアン
トによって作成された割当てステートメントは、IBM
社から入手可能な「DB2」と呼ばれるデータベース管
理システムのソフトウエア製品によって指定された言語
フォーマットのものである。そのDB2データベース管
理システム等のようなシステムによって使用される変換
技法は、これ以上の説明がなくても当業者によって理解
されるであろう。
【0027】DBMS24のデータ・マネージャ38に
よって受信される変換された割当てステートメントは次
のようなフォームのものである。 <ストリング1>=<オペレーション> 但し、"<ストリング1>"は、ディスク記憶サブシステ
ム30(図1)におけるリレーショナル・データベース
からのデータ項目の名前のことであり、"<オペレーシ
ョン>"は、少なくとも1つのストリング演算子及び少
なくとも1つのオペランドに対するリレーショナル・デ
ータベース参照のことである。当業者には明らかなよう
に、ストリング演算子は、サブストリング機能(SUB
STR)及び連結機能(CONCAT)のような機能を
含む。それらの機能は、名前を付けられたデータ項目の
ようなそれぞれのオペランドを変更する手段を与える。
DBMS24は表示されたオペレーションを実行するこ
とによって割当てステートメントを評価し、しかる後、
<ストリング1>によって名前を付けられたデータ項目
にその結果を配置する。例えば、連結演算子を使用する
割当てステートメントは次のように見えるであろう。 <ストリング1>=<ストリング1>CONCAT<ス
トリング2> この割当てステートメントの評価の最終的な結果は、<
ストリング1>と<ストリング2>とを連結したものが
前に<ストリング1>が保持されていた記憶サブシステ
ム・ロケーションに置かれるであろう。
よって受信される変換された割当てステートメントは次
のようなフォームのものである。 <ストリング1>=<オペレーション> 但し、"<ストリング1>"は、ディスク記憶サブシステ
ム30(図1)におけるリレーショナル・データベース
からのデータ項目の名前のことであり、"<オペレーシ
ョン>"は、少なくとも1つのストリング演算子及び少
なくとも1つのオペランドに対するリレーショナル・デ
ータベース参照のことである。当業者には明らかなよう
に、ストリング演算子は、サブストリング機能(SUB
STR)及び連結機能(CONCAT)のような機能を
含む。それらの機能は、名前を付けられたデータ項目の
ようなそれぞれのオペランドを変更する手段を与える。
DBMS24は表示されたオペレーションを実行するこ
とによって割当てステートメントを評価し、しかる後、
<ストリング1>によって名前を付けられたデータ項目
にその結果を配置する。例えば、連結演算子を使用する
割当てステートメントは次のように見えるであろう。 <ストリング1>=<ストリング1>CONCAT<ス
トリング2> この割当てステートメントの評価の最終的な結果は、<
ストリング1>と<ストリング2>とを連結したものが
前に<ストリング1>が保持されていた記憶サブシステ
ム・ロケーションに置かれるであろう。
【0028】図2を参照すると、データ・マネージャ3
8が受け取る変換された割当てステートメントはデータ
・マネージャ・コントローラ40によって処理される。
データ・マネージャ・コントローラによって行われるス
テップは図3の流れ図を参照するとよく理解できるであ
ろう。データ・マネージャ・コントローラによって実行
される第1ステップは、その割当てステートメントが大
型データ・オブジェクト(LOB)を含むかどうかを決
定することである。この処理ステップは図3における流
れ図のボックスの番号102によって表示される。その
割当てステートメントがLOBを含まない場合、コント
ローラ40は変換された割当てステートメントをステー
トメント評価ブロック42へ送る。その評価ブロック4
2は通常の態様で割当てステートメントを処理する。こ
の処理ステップは、図3における流れ図のボックス番号
104によって示される。そこで、処理は、図3におい
て継続ボックス番号106によって表された次の受信さ
れた割当てステートメントに継続する。
8が受け取る変換された割当てステートメントはデータ
・マネージャ・コントローラ40によって処理される。
データ・マネージャ・コントローラによって行われるス
テップは図3の流れ図を参照するとよく理解できるであ
ろう。データ・マネージャ・コントローラによって実行
される第1ステップは、その割当てステートメントが大
型データ・オブジェクト(LOB)を含むかどうかを決
定することである。この処理ステップは図3における流
れ図のボックスの番号102によって表示される。その
割当てステートメントがLOBを含まない場合、コント
ローラ40は変換された割当てステートメントをステー
トメント評価ブロック42へ送る。その評価ブロック4
2は通常の態様で割当てステートメントを処理する。こ
の処理ステップは、図3における流れ図のボックス番号
104によって示される。そこで、処理は、図3におい
て継続ボックス番号106によって表された次の受信さ
れた割当てステートメントに継続する。
【0029】変換された割当てステートメントがLOB
を含むこと、即ち、判断ボックス番号102において、
データ・マネージャ・コントローラ40が肯定結果を決
定する場合、データ・マネージャ・コントローラ40
は、本発明に従って処理するためのLOBマネージャ4
4(図2)上に割当てステートメントを送る。この処理
ステップは、図3における流れ図のボックス番号108
によって表される。割当てステートメントがLOBマネ
ージャによって処理された後、コントローラ40による
処理は、継続ボックス106によって表されるように、
次の受信された割当てステートメントに継続する。
を含むこと、即ち、判断ボックス番号102において、
データ・マネージャ・コントローラ40が肯定結果を決
定する場合、データ・マネージャ・コントローラ40
は、本発明に従って処理するためのLOBマネージャ4
4(図2)上に割当てステートメントを送る。この処理
ステップは、図3における流れ図のボックス番号108
によって表される。割当てステートメントがLOBマネ
ージャによって処理された後、コントローラ40による
処理は、継続ボックス106によって表されるように、
次の受信された割当てステートメントに継続する。
【0030】LOBを含む変換された割当てステートメ
ントをLOBマネージャ44が受ける時、それは、その
ステートメントの各オペランドに対するデータ構造を先
ず作成することによってそのステートメントを処理す
る。そのデータ構造は長ストリング表示(LSE)と呼
ばれる。各LSEデータ構造はそれの関連のLOBに関
する情報を含み、その割当てステートメントに対する評
価の程度を表す。更に詳しく云えば、LSEデータ構造
は、割当てステートメントの連続したオペランドに対す
るポインタを持った特殊なデータ片を表すノードより成
る。LSEデータ構造は、図4に示されるように、いく
つかのパラメータによって指定される。
ントをLOBマネージャ44が受ける時、それは、その
ステートメントの各オペランドに対するデータ構造を先
ず作成することによってそのステートメントを処理す
る。そのデータ構造は長ストリング表示(LSE)と呼
ばれる。各LSEデータ構造はそれの関連のLOBに関
する情報を含み、その割当てステートメントに対する評
価の程度を表す。更に詳しく云えば、LSEデータ構造
は、割当てステートメントの連続したオペランドに対す
るポインタを持った特殊なデータ片を表すノードより成
る。LSEデータ構造は、図4に示されるように、いく
つかのパラメータによって指定される。
【0031】LSEデータ構造を指定する第1パラメー
タはデータ・タイプ・フィールドである。好適な実施例
では、データ・タイプ・フィールドは、データベースL
OB名、又はファイル、又はメモリ・バッファより成る
長いフィールド記述子を指定する。更なるデータ・タイ
プは、整数、浮動小数点数、文字ストリング、時間デー
タ、及び日付データを含む。これらのデータ・タイプに
よって、リテラル・ストリング、可変ストリング、バッ
ファ・メモリ又はファイル・スペースに保持されたスト
リング、名前付きファイルに含まれたストリング、デー
タベースの長いフィールドに含まれたストリングを含む
殆どの大きいオブジェクト表示がサポート可能である。
又、LSEデータ構造は、実際のデータ値が得られるソ
ースのタイプを指定するパラメータを含む。好適な実施
例では、ソース・タイプはメモリ・バッファ、ファイル
名、又は長いフィールド記述子を含む。他のLSEデー
タ構造パラメータは、ソースに対するポインタ又は参照
アドレス、ソースにおける開始位置、ソース・データ値
における実際のバイト数、データ構造によって表された
合計バイト数(すべてのパッド・バイトを含む)、及び
次のLSEデータ構造に対するポインタを含む。図2に
戻ると、LOBマネージャ44は、CPU23のLSE
データ・セクション56における割当てステートメント
の評価中、LSEデータ構造の集合を維持する。
タはデータ・タイプ・フィールドである。好適な実施例
では、データ・タイプ・フィールドは、データベースL
OB名、又はファイル、又はメモリ・バッファより成る
長いフィールド記述子を指定する。更なるデータ・タイ
プは、整数、浮動小数点数、文字ストリング、時間デー
タ、及び日付データを含む。これらのデータ・タイプに
よって、リテラル・ストリング、可変ストリング、バッ
ファ・メモリ又はファイル・スペースに保持されたスト
リング、名前付きファイルに含まれたストリング、デー
タベースの長いフィールドに含まれたストリングを含む
殆どの大きいオブジェクト表示がサポート可能である。
又、LSEデータ構造は、実際のデータ値が得られるソ
ースのタイプを指定するパラメータを含む。好適な実施
例では、ソース・タイプはメモリ・バッファ、ファイル
名、又は長いフィールド記述子を含む。他のLSEデー
タ構造パラメータは、ソースに対するポインタ又は参照
アドレス、ソースにおける開始位置、ソース・データ値
における実際のバイト数、データ構造によって表された
合計バイト数(すべてのパッド・バイトを含む)、及び
次のLSEデータ構造に対するポインタを含む。図2に
戻ると、LOBマネージャ44は、CPU23のLSE
データ・セクション56における割当てステートメント
の評価中、LSEデータ構造の集合を維持する。
【0032】図4は、2つのオペランドを有する割当て
ステートメントを示す2つのLSEデータ構造の表示で
あり、ここでは、第1オペランド・データ構造50は、
第2オペランド・データ構造54に対するポインタ52
を含む。LSEデータ構造におけるポインタは、割当て
ステートメントにおいて指定されたストリング演算子の
タイプの表示を与える。即ち、サブストリング・オペレ
ーションは2つのオペランドを必要とせず、従って、割
当てステートメントが単にサブストリング演算子である
場合、そのポインタは次のLSEデータ構造にセットさ
れない。しかし、連結演算子は2つのオペランドを必要
とし、従って、ストリング・オペレーションが連結であ
る場合、第1LSEデータ構造ポインタのポインタは次
のLSEデータ構造にセットされる。
ステートメントを示す2つのLSEデータ構造の表示で
あり、ここでは、第1オペランド・データ構造50は、
第2オペランド・データ構造54に対するポインタ52
を含む。LSEデータ構造におけるポインタは、割当て
ステートメントにおいて指定されたストリング演算子の
タイプの表示を与える。即ち、サブストリング・オペレ
ーションは2つのオペランドを必要とせず、従って、割
当てステートメントが単にサブストリング演算子である
場合、そのポインタは次のLSEデータ構造にセットさ
れない。しかし、連結演算子は2つのオペランドを必要
とし、従って、ストリング・オペレーションが連結であ
る場合、第1LSEデータ構造ポインタのポインタは次
のLSEデータ構造にセットされる。
【0033】前述のように、好適な実施例のデータ・マ
ネージャ38は、割当てステートメント・オペランドの
LSEデータ構造表示と関連して遅延評価及びストリン
グ演算子変換の両方を実施することによって割当てステ
ートメントのより効果的な評価を与える。図5及び図6
は遅延評価によって得られる利点を示す。
ネージャ38は、割当てステートメント・オペランドの
LSEデータ構造表示と関連して遅延評価及びストリン
グ演算子変換の両方を実施することによって割当てステ
ートメントのより効果的な評価を与える。図5及び図6
は遅延評価によって得られる利点を示す。
【0034】図5は、次のような形式を持ったサブスト
リング取り出しが後続する一連の連結より成る割当てス
テートメントの表示である。 X=サブストリング((A CONCAT B CONC
AT C CONCAT D CONCAT E),15
0,200) これは、先ず、データ値A、B、C、D、及びE(図5
では、ブロックとして表される)の連結に続いてバイト
・ロケーション150において始まるサブストリングの
取り出しが生じ、200バイトの長さに対して継続する
ことを表す。LSEデータ構造を使用して、データ・マ
ネージャ38は、データ構造A、B、C、D、及びEよ
り成る5ノード構造を効果的に構成する。図5における
表記 "len=100" は、各データ値が100バイト
の長さを有することを表す。従って、割当てステートメ
ントの正味の効果は、Bの最後の50バイト、Cのすべ
て、及びDの最初の50バイトより成る200バイト・
ストリングを取り出すことである。
リング取り出しが後続する一連の連結より成る割当てス
テートメントの表示である。 X=サブストリング((A CONCAT B CONC
AT C CONCAT D CONCAT E),15
0,200) これは、先ず、データ値A、B、C、D、及びE(図5
では、ブロックとして表される)の連結に続いてバイト
・ロケーション150において始まるサブストリングの
取り出しが生じ、200バイトの長さに対して継続する
ことを表す。LSEデータ構造を使用して、データ・マ
ネージャ38は、データ構造A、B、C、D、及びEよ
り成る5ノード構造を効果的に構成する。図5における
表記 "len=100" は、各データ値が100バイト
の長さを有することを表す。従って、割当てステートメ
ントの正味の効果は、Bの最後の50バイト、Cのすべ
て、及びDの最初の50バイトより成る200バイト・
ストリングを取り出すことである。
【0035】通常、これらデータ値の各々はデータベー
スから検索され、連結オペレーションが実行されるであ
ろう。対照的に、好適な実施例のデータ・マネージャ3
8は図5の表示におけるノードA及びノードEを効果的
に削除する。これは、A及びEがその結果から排除され
たことをそれが認識するためである。データ・マネージ
ャは、ノードBの開始値及び長さ値を修正してバイト・
ロケーション50の新しい開始値(データベース記憶装
置から読み出されてないデータベース・データ値におけ
るバイト・ロケーションに対応する)及び50バイトの
新しい長さ値を有するようにする。同様に、ノードDを
表すLSEデータ構造は50バイトの新しい長さ値を持
つように修正される。その結果のLSEデータ構造の表
示が図6に示される。
スから検索され、連結オペレーションが実行されるであ
ろう。対照的に、好適な実施例のデータ・マネージャ3
8は図5の表示におけるノードA及びノードEを効果的
に削除する。これは、A及びEがその結果から排除され
たことをそれが認識するためである。データ・マネージ
ャは、ノードBの開始値及び長さ値を修正してバイト・
ロケーション50の新しい開始値(データベース記憶装
置から読み出されてないデータベース・データ値におけ
るバイト・ロケーションに対応する)及び50バイトの
新しい長さ値を有するようにする。同様に、ノードDを
表すLSEデータ構造は50バイトの新しい長さ値を持
つように修正される。その結果のLSEデータ構造の表
示が図6に示される。
【0036】前述のように、標準的な評価ブロック42
及びLOBマネージャ44は一組のデータ機能を呼び出
すことによって割当てステートメントを評価し、サブス
トリング、連結等のようなストリング・オペレーション
を実行する。これらのデータ機能は図2における演算子
ルーチンと表示されたボックスによって示される。好適
な実施例では、これらの演算子ルーチンは、挿入、追
加、切り捨て、削除、及び読取りの5つの機能を含む。
挿入機能は、データ値をファイル又はメモリ・バッファ
に配置する。追加機能は、第1データ値をそれの終端部
で第2データ値と結合する。切り捨て機能は、指定され
たバイト・ロケーションからデータ値を切り捨てる。削
除機能は、データベースからデータ値を取り除く。最後
に、読取り機能はデータベースからデータ値を検索す
る。他のデータベース管理システムの実施は、置換又は
上書き機能及びプリペンド(prepend)機能のよ
うな当業者にとって思い浮かぶような更なる機能を含み
得るものである。これらの更なる機能はこれ以上の説明
がなくても当業者には明らかであろう。
及びLOBマネージャ44は一組のデータ機能を呼び出
すことによって割当てステートメントを評価し、サブス
トリング、連結等のようなストリング・オペレーション
を実行する。これらのデータ機能は図2における演算子
ルーチンと表示されたボックスによって示される。好適
な実施例では、これらの演算子ルーチンは、挿入、追
加、切り捨て、削除、及び読取りの5つの機能を含む。
挿入機能は、データ値をファイル又はメモリ・バッファ
に配置する。追加機能は、第1データ値をそれの終端部
で第2データ値と結合する。切り捨て機能は、指定され
たバイト・ロケーションからデータ値を切り捨てる。削
除機能は、データベースからデータ値を取り除く。最後
に、読取り機能はデータベースからデータ値を検索す
る。他のデータベース管理システムの実施は、置換又は
上書き機能及びプリペンド(prepend)機能のよ
うな当業者にとって思い浮かぶような更なる機能を含み
得るものである。これらの更なる機能はこれ以上の説明
がなくても当業者には明らかであろう。
【0037】演算子ルーチン58は、LOBの処理及び
操作に関係することなくサブストリング及び連結を含む
複雑なストリング・オペレーションをデータベース・ユ
ーザが実行することを可能にする。従って、ステートメ
ント評価ボックス42及びLOBマネージャ44の両方
共、割当てステートメントを評価する場合にそれぞれの
義務を実行するために演算子ルーチンに対する適当なコ
ールを自動的に発生するであろう。LOBマネージャ4
4によって実行される動作ステップを更に詳細に説明す
るが、図7の流れ図を参照すれば更によく理解できるで
あろう。
操作に関係することなくサブストリング及び連結を含む
複雑なストリング・オペレーションをデータベース・ユ
ーザが実行することを可能にする。従って、ステートメ
ント評価ボックス42及びLOBマネージャ44の両方
共、割当てステートメントを評価する場合にそれぞれの
義務を実行するために演算子ルーチンに対する適当なコ
ールを自動的に発生するであろう。LOBマネージャ4
4によって実行される動作ステップを更に詳細に説明す
るが、図7の流れ図を参照すれば更によく理解できるで
あろう。
【0038】図7は、LOBマネージャ44によって行
われる処理ステップを示す流れ図である。前述のよう
に、割当てステートメントを処理する場合にLOBマネ
ージャによって実行される第1ステップは、各ステート
メント・オペランドに対するLSEデータ構造を作成す
ることである。このステップは、図7における流れ図の
ボックス番号120によって表される。LOBマネージ
ャによって実行される次の処理ステップは、クライアン
トによってリクエストされた直接削除機能ではないLO
B削除ルーチンに対するすべての呼出しをトラップする
ことである。削除ルーチンに関して、前述のように、D
BMS24はユーザがLOBの処理及び操作に関係する
ことを必要とせず、従って、システムは、図2のブロッ
ク図における演算子ルーチン58として示されるボック
スにより表された種々のデータ操作ルーチンを自動的に
呼び出す。従って、削除ルーチンは、割当てステートメ
ントの処理においてLOBマネージャ44によってグル
ープ58から自動的に呼び出し可能であり、又、割当て
ステートメントにおける削除オペレーションを明示的に
指定するクライアント28によって直接に呼び出し可能
である。本発明によれば、データベース管理システムの
自動処理によって開始された削除呼出しだけがトラップ
される。
われる処理ステップを示す流れ図である。前述のよう
に、割当てステートメントを処理する場合にLOBマネ
ージャによって実行される第1ステップは、各ステート
メント・オペランドに対するLSEデータ構造を作成す
ることである。このステップは、図7における流れ図の
ボックス番号120によって表される。LOBマネージ
ャによって実行される次の処理ステップは、クライアン
トによってリクエストされた直接削除機能ではないLO
B削除ルーチンに対するすべての呼出しをトラップする
ことである。削除ルーチンに関して、前述のように、D
BMS24はユーザがLOBの処理及び操作に関係する
ことを必要とせず、従って、システムは、図2のブロッ
ク図における演算子ルーチン58として示されるボック
スにより表された種々のデータ操作ルーチンを自動的に
呼び出す。従って、削除ルーチンは、割当てステートメ
ントの処理においてLOBマネージャ44によってグル
ープ58から自動的に呼び出し可能であり、又、割当て
ステートメントにおける削除オペレーションを明示的に
指定するクライアント28によって直接に呼び出し可能
である。本発明によれば、データベース管理システムの
自動処理によって開始された削除呼出しだけがトラップ
される。
【0039】削除ルーチンに対する自動システム呼出し
のトラッピングは、削除機能が直ちに実行されないよう
にする。その代わり、LOBマネージャ44は、削除呼
出しがリクエストされたことを表示するようフラッグを
セットする。フラッグはLSEデータ構造と共にメモリ
23に保持される。トラッピングは2つの理由で必要で
ある。第1に、削除呼出しのトラッピングは、処理され
るストリング・オペレーションが実際には更新オペレー
ションであり、クライアント開始の削除又は挿入オペレ
ーションではないことを確認する。第2に、自動削除呼
出しが行われる時、LOB割当てステートメントの宛先
は削除の目標として利用可能である。変換可能なストリ
ング演算子がある場合、この宛先はその後の処理のため
に必要とされるであろう。自動削除をトラップするとい
うLOBマネージャ処理ステップは、図7の流れ図のボ
ックス番号122によって表される。
のトラッピングは、削除機能が直ちに実行されないよう
にする。その代わり、LOBマネージャ44は、削除呼
出しがリクエストされたことを表示するようフラッグを
セットする。フラッグはLSEデータ構造と共にメモリ
23に保持される。トラッピングは2つの理由で必要で
ある。第1に、削除呼出しのトラッピングは、処理され
るストリング・オペレーションが実際には更新オペレー
ションであり、クライアント開始の削除又は挿入オペレ
ーションではないことを確認する。第2に、自動削除呼
出しが行われる時、LOB割当てステートメントの宛先
は削除の目標として利用可能である。変換可能なストリ
ング演算子がある場合、この宛先はその後の処理のため
に必要とされるであろう。自動削除をトラップするとい
うLOBマネージャ処理ステップは、図7の流れ図のボ
ックス番号122によって表される。
【0040】LOBマネージャによって実行される次の
処理ステップは、割当てステートメントの未決のストリ
ング演算子を変換することが可能であるかどうかをテス
トすることである。LOBマネージャは、割当てステー
トメントの右側で遭遇した第1LOB(<ストリング>
=<オペレーション>という形式の割当てステートメン
トにおける等号の右)は、その割当てステートメントの
すぐ左側において遭遇したLOBであるかどうかを決定
することによってこのステップを実施する。割当てステ
ートメントの右側における第1LOBはソースと呼ば
れ、割当てステートメントの左側におけるLOBはシン
クと呼ばれる。
処理ステップは、割当てステートメントの未決のストリ
ング演算子を変換することが可能であるかどうかをテス
トすることである。LOBマネージャは、割当てステー
トメントの右側で遭遇した第1LOB(<ストリング>
=<オペレーション>という形式の割当てステートメン
トにおける等号の右)は、その割当てステートメントの
すぐ左側において遭遇したLOBであるかどうかを決定
することによってこのステップを実施する。割当てステ
ートメントの右側における第1LOBはソースと呼ば
れ、割当てステートメントの左側におけるLOBはシン
クと呼ばれる。
【0041】更に詳しく云えば、LOBマネージャは,
LOBが同じデータベース・テーブルから来たかどうか
を最初にテストすることによってソースとシンクとの間
の等価性をテストする。それらが同じテーブルから来た
場合、LOBのサイズが比較される。サイズが等しい場
合、LOBの開始部分のディスク・アドレスが比較され
る。ディスク・アドレスが異なる場合、変換は不可能と
考えられる。これらの処理ステップを実行するに必要な
すべての情報は、LOBマネージャによって初期に作成
されたLSEデータ構造に含まれる。変換が可能でない
と考えられる場合、クライアントによって開始され或い
は前のテストによってトラップされたすべての削除リク
エストが実行され、割当てステートメントの残りを構成
するデフォルト更新アクションが評価される。テストの
結果が肯定的である場合、LOBマネージャは、オペラ
ンド変換が可能であることを結論する。
LOBが同じデータベース・テーブルから来たかどうか
を最初にテストすることによってソースとシンクとの間
の等価性をテストする。それらが同じテーブルから来た
場合、LOBのサイズが比較される。サイズが等しい場
合、LOBの開始部分のディスク・アドレスが比較され
る。ディスク・アドレスが異なる場合、変換は不可能と
考えられる。これらの処理ステップを実行するに必要な
すべての情報は、LOBマネージャによって初期に作成
されたLSEデータ構造に含まれる。変換が可能でない
と考えられる場合、クライアントによって開始され或い
は前のテストによってトラップされたすべての削除リク
エストが実行され、割当てステートメントの残りを構成
するデフォルト更新アクションが評価される。テストの
結果が肯定的である場合、LOBマネージャは、オペラ
ンド変換が可能であることを結論する。
【0042】データベース管理システムがプリペンド機
能をサポートする演算子ルーチン58(図2)を含む場
合、変換チェック・ステップは、等号の両側に隣接した
オペランドが同じであるケースに限定されないことに留
意すべきである。即ち、プリペンド機能を欠いた実施例
は、次のような形式の割当てステートメントを変換する
ことができる。即ち、 <ストリング1>=<ストリング1>CONCAT<ス
トリング2> しかし、次のような形式の割当てステートメントを変換
することはできない。 <ストリング1>=<ストリング2>CONCAT<ス
トリング1> 更に十分に後述するように、第1形式の連結ステートメ
ントは、<ストリング2>を<ストリング1>の終わり
に加える追加機能呼出しを持った図示のシステムによっ
て置換可能である。当業者には明らかなように、プリペ
ンド機能は、<ストリング1>の始めに<ストリング2
>を配置するプリペンド機能呼出しを構成する変換され
たステートメントによって、第2形式の連結ステートメ
ントを置換させるであろう。
能をサポートする演算子ルーチン58(図2)を含む場
合、変換チェック・ステップは、等号の両側に隣接した
オペランドが同じであるケースに限定されないことに留
意すべきである。即ち、プリペンド機能を欠いた実施例
は、次のような形式の割当てステートメントを変換する
ことができる。即ち、 <ストリング1>=<ストリング1>CONCAT<ス
トリング2> しかし、次のような形式の割当てステートメントを変換
することはできない。 <ストリング1>=<ストリング2>CONCAT<ス
トリング1> 更に十分に後述するように、第1形式の連結ステートメ
ントは、<ストリング2>を<ストリング1>の終わり
に加える追加機能呼出しを持った図示のシステムによっ
て置換可能である。当業者には明らかなように、プリペ
ンド機能は、<ストリング1>の始めに<ストリング2
>を配置するプリペンド機能呼出しを構成する変換され
たステートメントによって、第2形式の連結ステートメ
ントを置換させるであろう。
【0043】前述のようなオペランド変換のテストは図
7の流れ図におけるボックス番号124によって表され
る。ストリング演算子が変換可能でない場合、割当てス
テートメントは通常の評価ブロック42(図2)によっ
て評価される。詳しく云えば、変換が可能でないの場合
の削除呼出しを実行するステップは流れ図のブロック番
号126によって表され、削除呼出しに続く残りの更新
アクションを実行するステップは流れ図のボックス番号
128によって表される。
7の流れ図におけるボックス番号124によって表され
る。ストリング演算子が変換可能でない場合、割当てス
テートメントは通常の評価ブロック42(図2)によっ
て評価される。詳しく云えば、変換が可能でないの場合
の削除呼出しを実行するステップは流れ図のブロック番
号126によって表され、削除呼出しに続く残りの更新
アクションを実行するステップは流れ図のボックス番号
128によって表される。
【0044】ストリング演算子が変換可能であることを
LOBマネージャが決定する場合、変換が実行され(流
れ図のボックス番号130によって表される)、しかる
後、その変換されたステートメントが評価される(流れ
図のボックス番号132によって表される)。ステート
メントが評価された後、そのステートメントと関連した
LSEデータ構造が、流れ図のボックス番号134によ
って表されるように削除される。しかる後、継続ブロッ
ク136によって表されるように、次の割当てステート
メントに関する処理が継続する。LSEデータ構造は、
流れ図のボックス番号128における変換不可能な割当
てステートメントの評価に続いて通常の評価ブロックに
よって削除されることに留意すべきである。
LOBマネージャが決定する場合、変換が実行され(流
れ図のボックス番号130によって表される)、しかる
後、その変換されたステートメントが評価される(流れ
図のボックス番号132によって表される)。ステート
メントが評価された後、そのステートメントと関連した
LSEデータ構造が、流れ図のボックス番号134によ
って表されるように削除される。しかる後、継続ブロッ
ク136によって表されるように、次の割当てステート
メントに関する処理が継続する。LSEデータ構造は、
流れ図のボックス番号128における変換不可能な割当
てステートメントの評価に続いて通常の評価ブロックに
よって削除されることに留意すべきである。
【0045】図7における流れ図のボックス番号130
によって表された変換を実行するステップはLSEハン
ドラ60(図2)として参照されるLOBマネージャ操
作ブロックによって実行される。LSEハンドラ60に
よって実行される処理ステップは、図8の流れ図を参照
することによってよく理解されるであろう。
によって表された変換を実行するステップはLSEハン
ドラ60(図2)として参照されるLOBマネージャ操
作ブロックによって実行される。LSEハンドラ60に
よって実行される処理ステップは、図8の流れ図を参照
することによってよく理解されるであろう。
【0046】LSEハンドラ60によって実行される第
1ステップは、長さ変換オペレーションがソースLOB
に関して実行されようとしてているかどうかを決定する
ことである。これは、図8における判断ボックス番号1
40によって表される。そのようなオペレーションが実
行されようとしていて、判断ボックスにおいて肯定結果
が生じる場合、処理は流れ図のボックス番号142によ
って表されるステップに進む。ボックス142におい
て、LSEハンドラは、長さ変更オペレーションがソー
スLOBの第1バイトにおいて開始する場合、ソースL
OBに関する適所切り捨てオペレーションを実行する。
即ち、割当てステートメントの第1ストリング・オペレ
ーションが、ソースLOBの第1バイトにおいて始まる
サブストリング・オペレーションである場合、LSEハ
ンドラはソースLOBを中間データ記憶ファイル又はメ
モリ・バッファに読み込むことなく適所切り捨てオペレ
ーションを実行する。この条件付きオペレーションは、
本願で説明する例示のシステムでは、適所切り捨てオペ
レーションがLOBの第1バイトと関連して実行可能で
あるために必要なだけである。当業者には明らかなよう
に、図面に示されたものとは異なって構成されるLSE
ハンドラ及びLOBデータ構造は、第1バイト・サブス
トリング・オペレーションに制限されるものではない。
1ステップは、長さ変換オペレーションがソースLOB
に関して実行されようとしてているかどうかを決定する
ことである。これは、図8における判断ボックス番号1
40によって表される。そのようなオペレーションが実
行されようとしていて、判断ボックスにおいて肯定結果
が生じる場合、処理は流れ図のボックス番号142によ
って表されるステップに進む。ボックス142におい
て、LSEハンドラは、長さ変更オペレーションがソー
スLOBの第1バイトにおいて開始する場合、ソースL
OBに関する適所切り捨てオペレーションを実行する。
即ち、割当てステートメントの第1ストリング・オペレ
ーションが、ソースLOBの第1バイトにおいて始まる
サブストリング・オペレーションである場合、LSEハ
ンドラはソースLOBを中間データ記憶ファイル又はメ
モリ・バッファに読み込むことなく適所切り捨てオペレ
ーションを実行する。この条件付きオペレーションは、
本願で説明する例示のシステムでは、適所切り捨てオペ
レーションがLOBの第1バイトと関連して実行可能で
あるために必要なだけである。当業者には明らかなよう
に、図面に示されたものとは異なって構成されるLSE
ハンドラ及びLOBデータ構造は、第1バイト・サブス
トリング・オペレーションに制限されるものではない。
【0047】従って、ソースの第1バイトで始まるサブ
ストリング・オペレーションは適所切り捨てオペレーシ
ョンに変換される。その適所切り捨てオペレーションは
サブストリング・オペレーションに等価の機能である
が、データ・アクセス・オペレーションを必要としな
い。詳しく云えば、LSEハンドラによって実施される
ような適所切り捨てオペレーションは、単に、LSEデ
ータ構造を更新することに関連するだけである。この方
法では、LOBデータ・アクセス・オペレーションが行
われる必要はない。このステップは図8における流れ図
のボックス番号142によって表される。
ストリング・オペレーションは適所切り捨てオペレーシ
ョンに変換される。その適所切り捨てオペレーションは
サブストリング・オペレーションに等価の機能である
が、データ・アクセス・オペレーションを必要としな
い。詳しく云えば、LSEハンドラによって実施される
ような適所切り捨てオペレーションは、単に、LSEデ
ータ構造を更新することに関連するだけである。この方
法では、LOBデータ・アクセス・オペレーションが行
われる必要はない。このステップは図8における流れ図
のボックス番号142によって表される。
【0048】次の処理ステップは、適所切り捨てオペレ
ーションが図8における流れ図ボックス番号142にお
いて実行可能であるかどうかに関係なくLSEハンドラ
によって実行される。その処理ステップは、実際には、
好適な実施例における3つの可能なステップの1つを構
成し、以下のように、割当てステートメントの残りの部
分の評価を効果的に実施する・
ーションが図8における流れ図ボックス番号142にお
いて実行可能であるかどうかに関係なくLSEハンドラ
によって実行される。その処理ステップは、実際には、
好適な実施例における3つの可能なステップの1つを構
成し、以下のように、割当てステートメントの残りの部
分の評価を効果的に実施する・
【0049】好適な実施例では、更新ステートメントの
3つの基本的なクラスがLSEハンドラによって変換さ
れる。これらの3つのクラスは、連結ステートメント、
サブストリング・ステートメント、及び恒等ステートメ
ントを含む。まず、LSEハンドラは連結ステートメン
トを簡単な追加ステートメントに変換する。この処理ス
テップは図8における流れ図ボックス番号144によっ
て表される。次に、LSEハンドラはサブストリング・
ステートメントを簡単な切り捨てステートメントに変換
する。この処理ステップは図8における流れ図ボックス
番号146によって表される。最後に、恒等ステートメ
ント(C1=C1)はオペレーションに変換されず、オ
ペランドを無変化のままにする。この処理ステップは図
8における流れ図ボックス番号148によって表され
る。
3つの基本的なクラスがLSEハンドラによって変換さ
れる。これらの3つのクラスは、連結ステートメント、
サブストリング・ステートメント、及び恒等ステートメ
ントを含む。まず、LSEハンドラは連結ステートメン
トを簡単な追加ステートメントに変換する。この処理ス
テップは図8における流れ図ボックス番号144によっ
て表される。次に、LSEハンドラはサブストリング・
ステートメントを簡単な切り捨てステートメントに変換
する。この処理ステップは図8における流れ図ボックス
番号146によって表される。最後に、恒等ステートメ
ント(C1=C1)はオペレーションに変換されず、オ
ペランドを無変化のままにする。この処理ステップは図
8における流れ図ボックス番号148によって表され
る。
【0050】連結、サブストリング、及び恒等ストリン
グ演算子の変換は、割当てステートメントを評価する場
合にデータ・マネージャによって呼び出される評価ルー
チンの数を減少させることによってデータベース記憶ア
クセス・オペレーションの数を減少させる。例えば、次
のようなタイプ、即ち、 <ストリング1>=<ストリング1>CONCAT<ス
トリング2> の割当てステートメントを評価するためには、通常のデ
ータ・マネージャは<ストリング1>をファイル又はメ
モリ・バッファに読み込み、<ストリング2>を<スト
リング1>のファイル又はメモリ・バッファに加え、連
結された<ストリング1>及び<ストリング2>を<ス
トリング1>により当初占められていたデータベース・
ロケーションに記憶するであろう。そうする場合、通常
のデータ・マネージャは演算子ルーチンに対する呼出し
を発生するであろう。なお、その演算子ルーチンは、挿
入(<ストリング1>をファイル又はメモリ・バッファ
に入れるため)、それに続く追加(<ストリング1>に
<ストリング2>を加えるため)、それに続くもう1つ
の追加(<ストリング1><ストリング2>を結合した
ものをファイル又はメモリ・バッファに戻すため)より
成る。
グ演算子の変換は、割当てステートメントを評価する場
合にデータ・マネージャによって呼び出される評価ルー
チンの数を減少させることによってデータベース記憶ア
クセス・オペレーションの数を減少させる。例えば、次
のようなタイプ、即ち、 <ストリング1>=<ストリング1>CONCAT<ス
トリング2> の割当てステートメントを評価するためには、通常のデ
ータ・マネージャは<ストリング1>をファイル又はメ
モリ・バッファに読み込み、<ストリング2>を<スト
リング1>のファイル又はメモリ・バッファに加え、連
結された<ストリング1>及び<ストリング2>を<ス
トリング1>により当初占められていたデータベース・
ロケーションに記憶するであろう。そうする場合、通常
のデータ・マネージャは演算子ルーチンに対する呼出し
を発生するであろう。なお、その演算子ルーチンは、挿
入(<ストリング1>をファイル又はメモリ・バッファ
に入れるため)、それに続く追加(<ストリング1>に
<ストリング2>を加えるため)、それに続くもう1つ
の追加(<ストリング1><ストリング2>を結合した
ものをファイル又はメモリ・バッファに戻すため)より
成る。
【0051】対照的に、本発明のデータ・マネージャは
割当てステートメントの処理をLOBマネージャに渡
し、CONCAT演算子を単一の追加オペレーションに
変換することによってその割当てステートメントを評価
させる。即ち、LOBマネージャは、<ストリング1>
が割当てステートメントの等号の両側において生じるこ
とを認識し、<ストリング1>がデータベースにおける
適切な位置に留まり得ることを認識する。遅延評価技法
と関連して、LOBマネージャは、単に、<ストリング
2>をデータベースの<ストリング1>ロケーションに
直接追加する。
割当てステートメントの処理をLOBマネージャに渡
し、CONCAT演算子を単一の追加オペレーションに
変換することによってその割当てステートメントを評価
させる。即ち、LOBマネージャは、<ストリング1>
が割当てステートメントの等号の両側において生じるこ
とを認識し、<ストリング1>がデータベースにおける
適切な位置に留まり得ることを認識する。遅延評価技法
と関連して、LOBマネージャは、単に、<ストリング
2>をデータベースの<ストリング1>ロケーションに
直接追加する。
【0052】当業者には明らかなように、割当てステー
トメントのサブストリング、連結、及び恒等クラスの結
合も変換可能である。例えば、次のような形式のステー
トメント、即ち、 C1=[サブストリング(サブストリング(C1,1,5
0000000),1,25000)]CONCAT C
2 はLOB C1における単一の切り捨てオペレーション
(C1の第1の25000バイトを得る)及びそれに続
くLOB C2を使用した追加呼出しに変換される。好
適な実施例によれば、サブストリング・オペレーション
に関するネストされたサブストリング・オペレーション
が単一のサブストリング・オペレーションに変換される
ことは明らかである。そこで、その変換された割当てス
テートメントは遅延評価技法に従って評価される。
トメントのサブストリング、連結、及び恒等クラスの結
合も変換可能である。例えば、次のような形式のステー
トメント、即ち、 C1=[サブストリング(サブストリング(C1,1,5
0000000),1,25000)]CONCAT C
2 はLOB C1における単一の切り捨てオペレーション
(C1の第1の25000バイトを得る)及びそれに続
くLOB C2を使用した追加呼出しに変換される。好
適な実施例によれば、サブストリング・オペレーション
に関するネストされたサブストリング・オペレーション
が単一のサブストリング・オペレーションに変換される
ことは明らかである。そこで、その変換された割当てス
テートメントは遅延評価技法に従って評価される。
【0053】更に、割当てステートメントは、上書きデ
ータが変換可能であることを示す。例えば、次のような
形式の割当てステートメントを考察することにする。 C1=サブストリング(C1,1,25000)CONC
AT C3 CONCAT サブストリング(C1,2
5000+長さ(C3),5000000) 本発明によれば、この形式の割当てステートメントは、
単にC3をC1上に上書きし、それによってC1バイト
の移動を必要なくするWRITE(C3)オペレーショ
ンにLSEハンドラによって変換可能である。これは、
別の方法で得られるものに比べて、割当てステートメン
トを更に大きく簡単にするものである。
ータが変換可能であることを示す。例えば、次のような
形式の割当てステートメントを考察することにする。 C1=サブストリング(C1,1,25000)CONC
AT C3 CONCAT サブストリング(C1,2
5000+長さ(C3),5000000) 本発明によれば、この形式の割当てステートメントは、
単にC3をC1上に上書きし、それによってC1バイト
の移動を必要なくするWRITE(C3)オペレーショ
ンにLSEハンドラによって変換可能である。これは、
別の方法で得られるものに比べて、割当てステートメン
トを更に大きく簡単にするものである。
【0054】図8に戻ると、LSEハンドラが効果的
に、最悪の場合でも、通常の割当てステートメント処理
ルーチンによって与えられるパフォーマンス以上のパフ
ォーマンスを与えることは明らかである。即ち、たと
え、流れ図のボックス番号142−148によって表さ
れた変換オペレーションが実行可能でなくても、LSE
ハンドラは、図8における継続のボックス番号150に
よって表されるように、通常の遅延評価技法を使用して
処理を継続する。従って、何れの演算子も変換可能でな
い場合、処理時間は、悪くとも、遅延評価に従ったもの
になるであろう。
に、最悪の場合でも、通常の割当てステートメント処理
ルーチンによって与えられるパフォーマンス以上のパフ
ォーマンスを与えることは明らかである。即ち、たと
え、流れ図のボックス番号142−148によって表さ
れた変換オペレーションが実行可能でなくても、LSE
ハンドラは、図8における継続のボックス番号150に
よって表されるように、通常の遅延評価技法を使用して
処理を継続する。従って、何れの演算子も変換可能でな
い場合、処理時間は、悪くとも、遅延評価に従ったもの
になるであろう。
【0055】本発明によるDBMS24のオペレーショ
ンは、連結オペレーション(図9に示される)及びサブ
ストリング・オペレーション(図10及び図11に示さ
れる)を実行する場合、DBMSによって実行される処
理ステップの次のような例を参照すればよりよく理解さ
れるであろう。
ンは、連結オペレーション(図9に示される)及びサブ
ストリング・オペレーション(図10及び図11に示さ
れる)を実行する場合、DBMSによって実行される処
理ステップの次のような例を参照すればよりよく理解さ
れるであろう。
【0056】図9は、次のような形式の連結オペレーシ
ョンを形成することに帰因するLSEデータ構造を表
す。即ち、 <ストリング1>CONCAT<ストリング2> 但し、<ストリング1>は、ストリング "ABCDEF
GHIJKLMNOPQRSTUVWXYZ" より成
り、<ストリング2>は、テキスト " is 26 letters l
ong.(は26文字の長さである。)" を表す。
ョンを形成することに帰因するLSEデータ構造を表
す。即ち、 <ストリング1>CONCAT<ストリング2> 但し、<ストリング1>は、ストリング "ABCDEF
GHIJKLMNOPQRSTUVWXYZ" より成
り、<ストリング2>は、テキスト " is 26 letters l
ong.(は26文字の長さである。)" を表す。
【0057】図9では、<ストリング1>LSEデータ
構造70は、「メモリ・バッファ」というデータ・タイ
プ及びポインタ71に対応するソースを表す。当業者に
は明らかなように、ポインタ("ptr")としてLSE
データ構造において指定されているソースは、<ストリ
ング1>を見つけることができる記憶ロケーションに対
してデータ・アドレスが指定されることを表す。即ち、
ソース・ポインタ71は、<ストリング1>に対する記
憶ロケーションに向けられる。LSEデータ構造におけ
るスタート位置はゼロとして指定され、<ストリング1
>がそのポインタにより表された第1バイトにおいて始
まることを表す。長さパラメータは、そのストリングが
合計長と同じ26文字の長さであることを表す。最後
に、次のLSEノード74に対するLSEデータ構造7
0のポインタ72は<ストリング2>データ構造76を
指す。
構造70は、「メモリ・バッファ」というデータ・タイ
プ及びポインタ71に対応するソースを表す。当業者に
は明らかなように、ポインタ("ptr")としてLSE
データ構造において指定されているソースは、<ストリ
ング1>を見つけることができる記憶ロケーションに対
してデータ・アドレスが指定されることを表す。即ち、
ソース・ポインタ71は、<ストリング1>に対する記
憶ロケーションに向けられる。LSEデータ構造におけ
るスタート位置はゼロとして指定され、<ストリング1
>がそのポインタにより表された第1バイトにおいて始
まることを表す。長さパラメータは、そのストリングが
合計長と同じ26文字の長さであることを表す。最後
に、次のLSEノード74に対するLSEデータ構造7
0のポインタ72は<ストリング2>データ構造76を
指す。
【0058】<ストリング2>LSEデータ構造76は
「メモリ・バッファ」というデータ・タイプ、「ポイン
タ」というソース、そして、再び、ゼロのスタート位置
を表す。<ストリング2>LSEデータ構造の長さパラ
メータ及び<ストリング2>LSEデータ構造の合計長
パラメータによって表されるように、<ストリング2>
の長さが20文字の長さであることは明らかであろう。
<ストリング2>LSEポインタ78は他のデータ構造
には接続されず、それが如何なる他の割当てステートメ
ント・オペランドとも関連しないことを表す。即ち、割
当てステートメントは連結オペレーションのみより成
る。当業者には明らかなように、連結オペレーションの
実行は、<ストリング2>ノードを指すように<ストリ
ング1>ノードのポインタを単に変更することのみより
成る。このステートメントが評価される時、LSEハン
ドラは適当なデータ構造をデータベース・ディスクから
検索させ、割当てステートメント(ソースLOB)の左
側によって指定されたロケーションに戻させるであろ
う。
「メモリ・バッファ」というデータ・タイプ、「ポイン
タ」というソース、そして、再び、ゼロのスタート位置
を表す。<ストリング2>LSEデータ構造の長さパラ
メータ及び<ストリング2>LSEデータ構造の合計長
パラメータによって表されるように、<ストリング2>
の長さが20文字の長さであることは明らかであろう。
<ストリング2>LSEポインタ78は他のデータ構造
には接続されず、それが如何なる他の割当てステートメ
ント・オペランドとも関連しないことを表す。即ち、割
当てステートメントは連結オペレーションのみより成
る。当業者には明らかなように、連結オペレーションの
実行は、<ストリング2>ノードを指すように<ストリ
ング1>ノードのポインタを単に変更することのみより
成る。このステートメントが評価される時、LSEハン
ドラは適当なデータ構造をデータベース・ディスクから
検索させ、割当てステートメント(ソースLOB)の左
側によって指定されたロケーションに戻させるであろ
う。
【0059】図10は、次のような形式のストリング演
算子によって操作されるべきLSEデータ構造の表示で
ある。即ち、 サブストリング(<ソース・ストリング>,開始,長
さ) 但し、<ソース・ストリング>は図9に示された第1L
SEデータ構造70である。図11は、次のような形式
のサブストリング・コマンドの後の同じデータ構造の表
示である。 サブストリング(<ストリング1>,12,4) 12番目の文字で始まり15番目の文字まで延びる文字
グループを検索することは、LSEデータ構造70の開
始パラメータをゼロから20に変更すること、長さを2
6から4に変更すること、同様に、合計長を26から4
に変更することより成る。図11に示されたその結果
は、4つの文字「LMNO」を取り出すことである。
算子によって操作されるべきLSEデータ構造の表示で
ある。即ち、 サブストリング(<ソース・ストリング>,開始,長
さ) 但し、<ソース・ストリング>は図9に示された第1L
SEデータ構造70である。図11は、次のような形式
のサブストリング・コマンドの後の同じデータ構造の表
示である。 サブストリング(<ストリング1>,12,4) 12番目の文字で始まり15番目の文字まで延びる文字
グループを検索することは、LSEデータ構造70の開
始パラメータをゼロから20に変更すること、長さを2
6から4に変更すること、同様に、合計長を26から4
に変更することより成る。図11に示されたその結果
は、4つの文字「LMNO」を取り出すことである。
【0060】このように、図面と関連して上述したコン
ピュータ・システムは、データベース記憶装置において
LOBを記憶及び検索し、LOBに関する選択されたス
トリング・オペレーションを等価の機能に変換するリレ
ーショナル・データベース管理システムを提供する。そ
の等価の機能は、LOBがデータ記憶装置における適切
な位置に残されることを可能にし、それによって、割当
てステートメントを評価する場合の記憶アクセス・オペ
レーションの数を減少させる。そのシステムは、LSE
データ構造によって割当てステートメントのオペランド
が表わされる遅延評価技法を使用することによって、更
に記憶アクセス・オペレーションを減少させる。割当て
ステートメントが変換可能でない場合、システムは通常
の遅延評価技法に従ってそのステートメントを評価す
る。そのデータベース管理システムは、記憶装置によっ
て読み出されたプログラム・ステップを記録する磁気デ
ィスクのようなプログラム記憶装置において実施可能で
あり、CPUに上記ステップを実行させることができ
る。
ピュータ・システムは、データベース記憶装置において
LOBを記憶及び検索し、LOBに関する選択されたス
トリング・オペレーションを等価の機能に変換するリレ
ーショナル・データベース管理システムを提供する。そ
の等価の機能は、LOBがデータ記憶装置における適切
な位置に残されることを可能にし、それによって、割当
てステートメントを評価する場合の記憶アクセス・オペ
レーションの数を減少させる。そのシステムは、LSE
データ構造によって割当てステートメントのオペランド
が表わされる遅延評価技法を使用することによって、更
に記憶アクセス・オペレーションを減少させる。割当て
ステートメントが変換可能でない場合、システムは通常
の遅延評価技法に従ってそのステートメントを評価す
る。そのデータベース管理システムは、記憶装置によっ
て読み出されたプログラム・ステップを記録する磁気デ
ィスクのようなプログラム記憶装置において実施可能で
あり、CPUに上記ステップを実行させることができ
る。
【0061】本発明の好適な実施例は、主として、コン
ピュータ・システム及びそれの操作方法として開示され
た。詳しく云えば、上記のコンピュータ・システムは適
当なコンポーネント(プログラム記憶装置、入出力機
構、接続バス等を含む)を含むこと、及びコンピュータ
・システムは本発明の方法の実施を容易にするようにプ
ログラム可能或いは設計可能であることは当業者によっ
て理解されるであろう。そのようなコンピュータ・シス
テムは、本発明の方法を実行するための適当なプログラ
ム手段を含む。又、事前記録されたフロッピ・ディスク
或いはそのようなコンピュータ・システムによる使用の
ための他の同様のコンピュータ・プログラム製品のよう
な生産物は、記憶媒体と、本発明の方法の実施を容易に
するようそのコンピュータ・システムに指示するための
その記憶媒体に記録されたプログラム手段(そのコンピ
ュータ・システムの適当なコンポーネントによって読み
取り可能な)とを含む。そのような装置及び生産物は、
本発明の精神及び技術範囲にあるものと考えられる。
ピュータ・システム及びそれの操作方法として開示され
た。詳しく云えば、上記のコンピュータ・システムは適
当なコンポーネント(プログラム記憶装置、入出力機
構、接続バス等を含む)を含むこと、及びコンピュータ
・システムは本発明の方法の実施を容易にするようにプ
ログラム可能或いは設計可能であることは当業者によっ
て理解されるであろう。そのようなコンピュータ・シス
テムは、本発明の方法を実行するための適当なプログラ
ム手段を含む。又、事前記録されたフロッピ・ディスク
或いはそのようなコンピュータ・システムによる使用の
ための他の同様のコンピュータ・プログラム製品のよう
な生産物は、記憶媒体と、本発明の方法の実施を容易に
するようそのコンピュータ・システムに指示するための
その記憶媒体に記録されたプログラム手段(そのコンピ
ュータ・システムの適当なコンポーネントによって読み
取り可能な)とを含む。そのような装置及び生産物は、
本発明の精神及び技術範囲にあるものと考えられる。
【0062】本発明は、本発明を理解するところが伝え
られるように、現時点では好適と思われる実施例を使っ
て上述された。しかし、本願では特別には説明しなかっ
たが、本発明が適用可能なリレーショナル・データベー
ス管理システムに対して多くの構成が存在する。従っ
て、本発明は、本願において開示された特定の実施例に
限定されると見るべきではなく、本発明は、一般には、
リレーショナル・データベース管理システムに関して幅
広い適用性を持つものと理解すべきである。
られるように、現時点では好適と思われる実施例を使っ
て上述された。しかし、本願では特別には説明しなかっ
たが、本発明が適用可能なリレーショナル・データベー
ス管理システムに対して多くの構成が存在する。従っ
て、本発明は、本願において開示された特定の実施例に
限定されると見るべきではなく、本発明は、一般には、
リレーショナル・データベース管理システムに関して幅
広い適用性を持つものと理解すべきである。
【0063】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0064】(1)コンピュータ・システムにおけるコ
ンピュータ・プロセッサのリレーショナル・データベー
ス管理システムが受け取ったシステム・クライアントか
らの割当てステートメントを評価する方法にして、コン
ピュータ・ネットワークのデータベース記憶装置中のあ
るロケーションに記憶された大型データ・オブジェクト
(LOB)を参照する少なくとも1つのストリング演算
子及び1つのオペランドを含む割当てステートメントを
受け取るステップであって、前記割当てステートメント
はシンク・オペランドが等号によって1つ又は複数個の
ソース・オペランドから分けられるという形式を有する
ものと、LOBオペランドをそれのデータベース記憶装
置ロケーションに残し、かつ同じ結果を与える等価デー
タ機能によって操作できるような1つ又は複数個のスト
リング演算子及びLOBオペランドを前記割当てステー
トメントが含むかどうかを決定するステップであって、
それによって、ストリング演算子を実行するためには前
記LOBオペランドがデータベース記憶装置から中間記
憶装置に読み込まれることを必要としない変換されたス
トリング演算子を構成するものと、前記ストリング演算
子を所定の等価機能に変換するステップと、前記変換さ
れた割当てステートメントを遅延評価技法に従って処理
するステップと、を含む方法。 (2)前記割当てステートメントを受け取るステップは
前記割当てステートメントの各オペランドを前記コンピ
ュータ・プロセッサのメモリにおけるLSEデータ構造
と置換するステップを含み、各LSEデータ構造はデー
タ構造タイプ、データ構造ソース、データ構造開始位
置、データ構造長、データ構造合計長、及び前記割当て
ステートメントの次のオペランドに対応した次のLSE
データ構造を指すポインタを表すことを特徴とする上記
(1)に記載の方法。 (3)前記変換された割当てステートメントを処理する
ステップは、前記LSEデータ構造に関する等価機能を
実行して結果ストリング生じさせるステップと、前記結
果ストリングが生じた後前記コンピュータ・メモリから
前記LSEデータ構造を削除するステップと、を含むこ
とを特徴とする上記(2)に記載の方法。 (4)前記決定するステップは、前記割当てステートメ
ントが第1オペランドの第1バイトで始まる前記第1オ
ペランドに関する長さ変更ストリング・オペレーション
を含むかどうかを決定するステップと、前記第1オペラ
ンドが前記データベース記憶装置から前記中間記憶装置
に読み込まれることを必要としない前記第1オペランド
に関する適所切り捨て機能でもって前記長さ変更ストリ
ング・オペレーションを置換するステップと、を含むこ
とを特徴とする上記(2)に記載の方法。 (5)前記変換するステップは、連結オペレーションを
追加機能に変換するステップと、サブストリング・オペ
レーションを切り捨て機能に変換するステップと、を含
むことを特徴とする上記(4)に記載の方法。 (6)前記変換するステップは前記割当てステートメン
トの等号の両側におけるオペランドが同じである場合に
のみ実行されることを特徴とする上記(4)に記載の方
法。 (7)前記変換するステップは、少なくとも、挿入機
能、追加機能、削除機能、読取り機能、及び書込み機能
を含むグループから選択された機能でもってストリング
・オペレーションを置換するステップを含むことを特徴
とする上記(4)に記載の方法。 (8)中央処理装置及びメモリを有するコンピュータ・
システムのデータ・オブジェクトの操作において使用す
るためのリレーショナル・データベース管理システムに
して、コンピュータ・システムのデータベース記憶装置
中のあるロケーションに記憶された少なくとも1つのス
トリング演算子及び1つのオペランドを含むリレーショ
ナル・データベース割当てステートメントを受け取るデ
ータ・マネージャ・コントローラであって、前記割当て
ステートメントはシンク・オペランドが等号によって1
つ又は複数個のソース・オペランドから分けられるとい
う形式を有するものと、所定のサイズを超え且つ前記ス
トリング演算子を実行するように前記割当てステートメ
ントを処理するデータ・オブジェクトを含む大型データ
・オブジェクト(LOB)を参照するオペランドを前記
割当てステートメントが含まない場合、前記データ・マ
ネージャ・コントローラから前記割当てステートメント
を受け取るデータ割当て評価手段と、前記割当てステー
トメントがLOBを含む場合に前記割当てステートメン
トを受け取り、少なくとも1つのLOBオペランドがそ
れぞれのデータベース記憶装置ロケーションに残り得る
かどうか及び前記ストリング演算子が前記LOBに関し
て実行した結果と同じ結果を与える1つ又は複数個の等
価データ機能によって操作可能であるかどうか決定し、
それによって、前記LOBオペランドが前記データベー
ス記憶装置から中間記憶装置に読み込まれることを必要
としない変換された割当てステートメントを構成するL
OBマネージャと、前記LOBオペランドをそれのデー
タベース記憶装置ロケーションにおいて操作する所定の
等価データ機能でもって前記ストリング演算子を置換す
ることによって変換可能になるように前記LOBマネー
ジャにより決定された前記ストリング演算子を変換し、
前記変換された割当てステートメントを遅延評価技法に
従って処理するLSEハンドラと、を含むリレーショナ
ル・データベース管理システム。 (9)前記LOBマネージャは前記割当てステートメン
トの各オペランドを前記コンピュータ・システムのメモ
リにおけるLSEデータ構造でもって置換すること、及
び前記LOBマネージャは、各LSEデータ構造がデー
タ構造タイプ、データ構造ソース、データ構造開始位
置、データ構造長、及びデータ構造合計長を表すように
各LSEデータ構造を特定し、前記割当てステートメン
トの次のオペランドに対応する次のLSEデータ構造を
指すポインタをセットすること、を特徴とする上記
(8)に記載のリレーショナル・データベース管理シス
テム。 (10)前記データ割当て評価手段は前記割当てステー
トメントの各オペランドを前記コンピュータ・システム
のメモリにおけるLSEデータ構造でもって置換するこ
と、及び前記LOBマネージャは、各LSEデータ構造
がデータ構造タイプ、データ構造ソース、データ構造開
始位置、データ構造長、及びデータ構造合計長を表すよ
うに各LSEデータ構造を特定し、前記割当てステート
メントの次のオペランドに対応する次のLSEデータ構
造を指すポインタをセットすること、を特徴とする上記
(9)に記載のリレーショナル・データベース管理シス
テム。 (11)前記LSEハンドラは結果ストリングを発生す
るように前記LSEデータ構造に関する所定の等価機能
を実行することによって前記変換された割当てステート
メントを評価し、前記結果ストリングが発生された後、
前記メモリから前記LSEデータ構造を削除することを
特徴とする上記(9)に記載のリレーショナル・データ
ベース管理システム。 (12)前記LSEハンドラは、前記割当てステートメ
ントが第1オペランドの第1バイトで始まる前記第1オ
ペランドに関する長さ変更ストリング・オペレーション
を含むかどうかを決定し、それに応答して、前記第1オ
ペランドが前記データベース記憶装置から前記中間記憶
装置に読み込まれることを必要としない適所切り捨て機
能でもって前記第1オペランドに関する長さ変更ストリ
ング・オペレーションを置換することを特徴とする上記
(11)に記載のリレーショナル・データベース管理シ
ステム。 (13)前記LSEハンドラは連結オペレーションを追
加機能に変換し、サブストリング・オペレーションを切
り捨て機能に変換することを特徴とする上記(12)に
記載のリレーショナル・データベース管理システム。 (14)前記LSEハンドラは前記割当てステートメン
トの等号の両側におけるオペランドが同じである場合に
のみ前記割当てステートメントを変換することを特徴と
する上記(12)に記載のリレーショナル・データベー
ス管理システム。 (15)前記LSEハンドラは、少なくとも、挿入機
能、追加機能、削除機能、読取り機能、及び書込み機能
を含むデータ機能のグループから選択された機能でもっ
てストリング・オペレーションを置換することを特徴と
する上記(12)に記載のリレーショナル・データベー
ス管理システム。 (16)中央処理装置と、メモリと、リレーショナル・
データベースのデータ・オブジェクトを含む少なくとも
1つの記憶装置と、コンピュータ・システムのユーザが
前記データ・オブジェクトを操作することを可能にする
リレーショナル・データベース管理システムと、を含む
コンピュータ・システムにして、前記リレーショナル・
データベース管理システムは、ユーザからリレーショナ
ル・データベース割当てステートメントを受け取るデー
タ・マネージャ・コントローラであって、前記割当てス
テートメントは少なくとも1つのストリング演算子と、
データベース記憶装置における1つのロケーションに記
憶された1つのオペランドとを含み、シンク・オペラン
ドが等号によって1つ又は複数個のソース・オペランド
から分けられるという形式を有するものと、所定のサイ
ズを超え且つ前記ストリング演算子を実行するように前
記割当てステートメントを処理するデータ・オブジェク
トを含む大型データ・オブジェクト(LOB)を参照す
るオペランドを前記割当てステートメントが含まない場
合、前記データ・マネージャ・コントローラから前記割
当てステートメントを受け取るデータ割当て評価手段
と、前記割当てステートメントがLOBを含む場合に前
記割当てステートメントを受け取り、少なくとも1つの
LOBオペランドがそれぞれのデータベース記憶装置ロ
ケーションに残り得るかどうか及び前記ストリング演算
子が前記LOBに関して実行した結果と同じ結果を与え
る1つ又は複数個の等価データ機能によって適切に操作
可能であるかどうか決定し、それによって、前記LOB
オペランドが前記データベース記憶装置から前記コンピ
ュータ・システムの中間記憶装置に読み込まれることを
必要としない変換された割当てステートメントを含むL
OBマネージャと、前記LOBオペランドをそれのデー
タベース記憶装置ロケーションにおいて操作する所定の
等価データ機能でもって前記ストリング演算子を置換す
ることによって変換可能であると前記LOBマネージャ
により決定された前記ストリング演算子を変換し、前記
変換された割当てステートメントを遅延評価技法に従っ
て処理するLSEハンドラと、を含むことを特徴とする
コンピュータ・システム。 (17)前記LOBマネージャは前記割当てステートメ
ントの各オペランドを前記メモリにおけるLSEデータ
構造でもって置換すること、及び前記LOBマネージャ
は、各LSEデータ構造がデータ構造タイプ、データ構
造ソース、データ構造開始位置、データ構造長、及びデ
ータ構造合計長を表すように各LSEデータ構造を特定
し、前記割当てステートメントの次のオペランドに対応
する次のLSEデータ構造を指すポインタをセットする
こと、を特徴とする上記(16)に記載のコンピュータ
・システム。 (18)前記データ割当て評価手段は前記割当てステー
トメントの各オペランドを前記メモリにおけるLSEデ
ータ構造でもって置換すること、及び前記LOBマネー
ジャは、各LSEデータ構造がデータ構造タイプ、デー
タ構造ソース、データ構造開始位置、データ構造長、及
びデータ構造合計長を表すように各LSEデータ構造を
特定し、前記割当てステートメントの次のオペランドに
対応する次のLSEデータ構造を指すポインタをセット
すること、を特徴とする上記(17)に記載のコンピュ
ータ・システム。 (19)前記LSEハンドラは結果ストリングを発生す
るように前記LSEデータ構造に関する所定の等価機能
を実行することによって前記変換された割当てステート
メントを評価し、前記結果ストリングが発生された後前
記メモリから前記LSEデータ構造を削除することを特
徴とする上記(17)に記載のコンピュータ・システ
ム。 (20)前記LSEハンドラは、前記割当てステートメ
ントが第1オペランドの第1バイトで始まる前記第1オ
ペランドに関する長さ変更ストリング・オペレーション
を含むかどうかを決定し、それに応答して、前記第1オ
ペランドが前記データベース記憶装置から前記中間記憶
装置に読み込まれることを必要としない適所切り捨て機
能でもって前記第1オペランドに関する長さ変更ストリ
ング・オペレーションを置換することを特徴とする上記
(19)に記載のコンピュータ・システム。 (21)前記LSEハンドラは連結オペレーションを追
加機能に変換し、サブストリング・オペレーションを切
り捨て機能に変換することを特徴とする上記(20)に
記載のコンピュータ・システム。 (22)前記LSEハンドラは前記割当てステートメン
トの等号の両側におけるオペランドが同じである場合に
のみ前記割当てステートメントを変換することを特徴と
する上記(20)に記載のコンピュータ・システム。 (23)前記LSEハンドラは、少なくとも、挿入機
能、追加機能、削除機能、読取り機能、及び書込み機能
を含むデータ機能のグループから選択された機能でもっ
てストリング・オペレーションを置換することを特徴と
する上記(20)に記載のコンピュータ・システム。 (24)前記中央処理装置に接続されたファイル・サー
バと、前記ファイル・サーバに接続され、ユーザが前記
中央処理装置と通信できるようにする少なくとも1つの
クライアント・プロセッサと、を含むことを特徴とする
上記(17)に記載のコンピュータ・システム。 (25)プロセッサ・マシンによって読み取り可能なプ
ログラム記憶装置にして、ユーザが前記プロセッサ・マ
シンのリレーショナル・データベース管理システムのデ
ータ・オブジェクトを操作することを可能にするための
方法ステップを遂行するように前記プロセッサ・マシン
によって実行可能な命令のプログラムを明確に具体化す
るプログラム記憶装置において、前記プロセッサ・マシ
ンによって実行される方法ステップは、コンピュータ・
ネットワークのデータベース記憶装置中のあるロケーシ
ョンに記憶された大型データ・オブジェクト(LOB)
を参照する少なくとも1つのストリング演算子及び1つ
のオペランドを含む割当てステートメントを受け取るス
テップであって、前記割当てステートメントはシンク・
オペランドが等号によって1つ又は複数個のソース・オ
ペランドから分けられるという形式を有するものと、L
OBオペランドをそれのデータベース記憶装置ロケーシ
ョンに残し、かつ同じ結果を与える等価データ機能によ
って操作できるような1つ又は複数個のストリング演算
子及びLOBオペランドを前記割当てステートメントが
含むかどうかを決定するステップであって、それによっ
て、ストリング演算子を実行するためには前記LOBオ
ペランドがデータベース記憶装置から中間記憶装置に読
み込まれることを必要としない変換されたストリング演
算子を含むものと、前記ストリング演算子を所定の等価
機能に変換するステップと、前記変換された割当てステ
ートメントを遅延評価技法に従って処理し、前記プロセ
ッサ・マシンのユーザに戻されるステートメント結果を
発生するするステップと、を含むことを特徴とするプロ
グラム記憶装置。 (26)前記割当てステートメントを受け取るステップ
は前記割当てステートメントの各オペランドを前記コン
ピュータ・プロセッサのメモリにおけるLSEデータ構
造と置換するステップを含み、各LSEデータ構造はデ
ータ構造タイプ、データ構造ソース、データ構造開始位
置、データ構造長、データ構造合計長、及び前記割当て
ステートメントの次のオペランドに対応した次のLSE
データ構造を指すポインタを表すことを特徴とする上記
(25)に記載のプログラム記憶装置。 (27)前記変換された割当てステートメントを処理す
るステップは、前記LSEデータ構造に関する等価機能
を実行して結果ストリング生じさせるステップと、前記
結果ストリングが生じた後前記コンピュータ・メモリか
ら前記LSEデータ構造を削除するステップと、を含む
ことを特徴とする上記(26)に記載のプログラム記憶
装置。 (28)前記決定するステップは、前記割当てステート
メントが第1オペランドの第1バイトで始まる前記第1
オペランドに関する長さ変更ストリング・オペレーショ
ンを含むかどうかを決定するステップと、前記第1オペ
ランドが前記データベース記憶装置から前記中間記憶装
置に読み込まれることを必要としない前記第1オペラン
ドに関する適所切り捨て機能でもって前記長さ変更スト
リング・オペレーションを置換するステップと、を含む
ことを特徴とする上記(26)に記載のプログラム記憶
装置。 (29)前記変換するステップは、連結オペレーション
を追加機能に変換するステップと、サブストリング・オ
ペレーションを切り捨て機能に変換するステップと、を
含むことを特徴とする上記(28)に記載のプログラム
記憶装置。 (30)前記変換するステップは前記割当てステートメ
ントの等号の両側におけるオペランドが同じである場合
にのみ実行されることを特徴とする上記(28)に記載
のプログラム記憶装置。 (31)前記変換するステップは、少なくとも、挿入機
能、追加機能、削除機能、読取り機能、及び書込み機能
を含むグループから選択された機能でもってストリング
・オペレーションを置換するステップを含むことを特徴
とする上記(28)に記載のプログラム記憶装置。
ンピュータ・プロセッサのリレーショナル・データベー
ス管理システムが受け取ったシステム・クライアントか
らの割当てステートメントを評価する方法にして、コン
ピュータ・ネットワークのデータベース記憶装置中のあ
るロケーションに記憶された大型データ・オブジェクト
(LOB)を参照する少なくとも1つのストリング演算
子及び1つのオペランドを含む割当てステートメントを
受け取るステップであって、前記割当てステートメント
はシンク・オペランドが等号によって1つ又は複数個の
ソース・オペランドから分けられるという形式を有する
ものと、LOBオペランドをそれのデータベース記憶装
置ロケーションに残し、かつ同じ結果を与える等価デー
タ機能によって操作できるような1つ又は複数個のスト
リング演算子及びLOBオペランドを前記割当てステー
トメントが含むかどうかを決定するステップであって、
それによって、ストリング演算子を実行するためには前
記LOBオペランドがデータベース記憶装置から中間記
憶装置に読み込まれることを必要としない変換されたス
トリング演算子を構成するものと、前記ストリング演算
子を所定の等価機能に変換するステップと、前記変換さ
れた割当てステートメントを遅延評価技法に従って処理
するステップと、を含む方法。 (2)前記割当てステートメントを受け取るステップは
前記割当てステートメントの各オペランドを前記コンピ
ュータ・プロセッサのメモリにおけるLSEデータ構造
と置換するステップを含み、各LSEデータ構造はデー
タ構造タイプ、データ構造ソース、データ構造開始位
置、データ構造長、データ構造合計長、及び前記割当て
ステートメントの次のオペランドに対応した次のLSE
データ構造を指すポインタを表すことを特徴とする上記
(1)に記載の方法。 (3)前記変換された割当てステートメントを処理する
ステップは、前記LSEデータ構造に関する等価機能を
実行して結果ストリング生じさせるステップと、前記結
果ストリングが生じた後前記コンピュータ・メモリから
前記LSEデータ構造を削除するステップと、を含むこ
とを特徴とする上記(2)に記載の方法。 (4)前記決定するステップは、前記割当てステートメ
ントが第1オペランドの第1バイトで始まる前記第1オ
ペランドに関する長さ変更ストリング・オペレーション
を含むかどうかを決定するステップと、前記第1オペラ
ンドが前記データベース記憶装置から前記中間記憶装置
に読み込まれることを必要としない前記第1オペランド
に関する適所切り捨て機能でもって前記長さ変更ストリ
ング・オペレーションを置換するステップと、を含むこ
とを特徴とする上記(2)に記載の方法。 (5)前記変換するステップは、連結オペレーションを
追加機能に変換するステップと、サブストリング・オペ
レーションを切り捨て機能に変換するステップと、を含
むことを特徴とする上記(4)に記載の方法。 (6)前記変換するステップは前記割当てステートメン
トの等号の両側におけるオペランドが同じである場合に
のみ実行されることを特徴とする上記(4)に記載の方
法。 (7)前記変換するステップは、少なくとも、挿入機
能、追加機能、削除機能、読取り機能、及び書込み機能
を含むグループから選択された機能でもってストリング
・オペレーションを置換するステップを含むことを特徴
とする上記(4)に記載の方法。 (8)中央処理装置及びメモリを有するコンピュータ・
システムのデータ・オブジェクトの操作において使用す
るためのリレーショナル・データベース管理システムに
して、コンピュータ・システムのデータベース記憶装置
中のあるロケーションに記憶された少なくとも1つのス
トリング演算子及び1つのオペランドを含むリレーショ
ナル・データベース割当てステートメントを受け取るデ
ータ・マネージャ・コントローラであって、前記割当て
ステートメントはシンク・オペランドが等号によって1
つ又は複数個のソース・オペランドから分けられるとい
う形式を有するものと、所定のサイズを超え且つ前記ス
トリング演算子を実行するように前記割当てステートメ
ントを処理するデータ・オブジェクトを含む大型データ
・オブジェクト(LOB)を参照するオペランドを前記
割当てステートメントが含まない場合、前記データ・マ
ネージャ・コントローラから前記割当てステートメント
を受け取るデータ割当て評価手段と、前記割当てステー
トメントがLOBを含む場合に前記割当てステートメン
トを受け取り、少なくとも1つのLOBオペランドがそ
れぞれのデータベース記憶装置ロケーションに残り得る
かどうか及び前記ストリング演算子が前記LOBに関し
て実行した結果と同じ結果を与える1つ又は複数個の等
価データ機能によって操作可能であるかどうか決定し、
それによって、前記LOBオペランドが前記データベー
ス記憶装置から中間記憶装置に読み込まれることを必要
としない変換された割当てステートメントを構成するL
OBマネージャと、前記LOBオペランドをそれのデー
タベース記憶装置ロケーションにおいて操作する所定の
等価データ機能でもって前記ストリング演算子を置換す
ることによって変換可能になるように前記LOBマネー
ジャにより決定された前記ストリング演算子を変換し、
前記変換された割当てステートメントを遅延評価技法に
従って処理するLSEハンドラと、を含むリレーショナ
ル・データベース管理システム。 (9)前記LOBマネージャは前記割当てステートメン
トの各オペランドを前記コンピュータ・システムのメモ
リにおけるLSEデータ構造でもって置換すること、及
び前記LOBマネージャは、各LSEデータ構造がデー
タ構造タイプ、データ構造ソース、データ構造開始位
置、データ構造長、及びデータ構造合計長を表すように
各LSEデータ構造を特定し、前記割当てステートメン
トの次のオペランドに対応する次のLSEデータ構造を
指すポインタをセットすること、を特徴とする上記
(8)に記載のリレーショナル・データベース管理シス
テム。 (10)前記データ割当て評価手段は前記割当てステー
トメントの各オペランドを前記コンピュータ・システム
のメモリにおけるLSEデータ構造でもって置換するこ
と、及び前記LOBマネージャは、各LSEデータ構造
がデータ構造タイプ、データ構造ソース、データ構造開
始位置、データ構造長、及びデータ構造合計長を表すよ
うに各LSEデータ構造を特定し、前記割当てステート
メントの次のオペランドに対応する次のLSEデータ構
造を指すポインタをセットすること、を特徴とする上記
(9)に記載のリレーショナル・データベース管理シス
テム。 (11)前記LSEハンドラは結果ストリングを発生す
るように前記LSEデータ構造に関する所定の等価機能
を実行することによって前記変換された割当てステート
メントを評価し、前記結果ストリングが発生された後、
前記メモリから前記LSEデータ構造を削除することを
特徴とする上記(9)に記載のリレーショナル・データ
ベース管理システム。 (12)前記LSEハンドラは、前記割当てステートメ
ントが第1オペランドの第1バイトで始まる前記第1オ
ペランドに関する長さ変更ストリング・オペレーション
を含むかどうかを決定し、それに応答して、前記第1オ
ペランドが前記データベース記憶装置から前記中間記憶
装置に読み込まれることを必要としない適所切り捨て機
能でもって前記第1オペランドに関する長さ変更ストリ
ング・オペレーションを置換することを特徴とする上記
(11)に記載のリレーショナル・データベース管理シ
ステム。 (13)前記LSEハンドラは連結オペレーションを追
加機能に変換し、サブストリング・オペレーションを切
り捨て機能に変換することを特徴とする上記(12)に
記載のリレーショナル・データベース管理システム。 (14)前記LSEハンドラは前記割当てステートメン
トの等号の両側におけるオペランドが同じである場合に
のみ前記割当てステートメントを変換することを特徴と
する上記(12)に記載のリレーショナル・データベー
ス管理システム。 (15)前記LSEハンドラは、少なくとも、挿入機
能、追加機能、削除機能、読取り機能、及び書込み機能
を含むデータ機能のグループから選択された機能でもっ
てストリング・オペレーションを置換することを特徴と
する上記(12)に記載のリレーショナル・データベー
ス管理システム。 (16)中央処理装置と、メモリと、リレーショナル・
データベースのデータ・オブジェクトを含む少なくとも
1つの記憶装置と、コンピュータ・システムのユーザが
前記データ・オブジェクトを操作することを可能にする
リレーショナル・データベース管理システムと、を含む
コンピュータ・システムにして、前記リレーショナル・
データベース管理システムは、ユーザからリレーショナ
ル・データベース割当てステートメントを受け取るデー
タ・マネージャ・コントローラであって、前記割当てス
テートメントは少なくとも1つのストリング演算子と、
データベース記憶装置における1つのロケーションに記
憶された1つのオペランドとを含み、シンク・オペラン
ドが等号によって1つ又は複数個のソース・オペランド
から分けられるという形式を有するものと、所定のサイ
ズを超え且つ前記ストリング演算子を実行するように前
記割当てステートメントを処理するデータ・オブジェク
トを含む大型データ・オブジェクト(LOB)を参照す
るオペランドを前記割当てステートメントが含まない場
合、前記データ・マネージャ・コントローラから前記割
当てステートメントを受け取るデータ割当て評価手段
と、前記割当てステートメントがLOBを含む場合に前
記割当てステートメントを受け取り、少なくとも1つの
LOBオペランドがそれぞれのデータベース記憶装置ロ
ケーションに残り得るかどうか及び前記ストリング演算
子が前記LOBに関して実行した結果と同じ結果を与え
る1つ又は複数個の等価データ機能によって適切に操作
可能であるかどうか決定し、それによって、前記LOB
オペランドが前記データベース記憶装置から前記コンピ
ュータ・システムの中間記憶装置に読み込まれることを
必要としない変換された割当てステートメントを含むL
OBマネージャと、前記LOBオペランドをそれのデー
タベース記憶装置ロケーションにおいて操作する所定の
等価データ機能でもって前記ストリング演算子を置換す
ることによって変換可能であると前記LOBマネージャ
により決定された前記ストリング演算子を変換し、前記
変換された割当てステートメントを遅延評価技法に従っ
て処理するLSEハンドラと、を含むことを特徴とする
コンピュータ・システム。 (17)前記LOBマネージャは前記割当てステートメ
ントの各オペランドを前記メモリにおけるLSEデータ
構造でもって置換すること、及び前記LOBマネージャ
は、各LSEデータ構造がデータ構造タイプ、データ構
造ソース、データ構造開始位置、データ構造長、及びデ
ータ構造合計長を表すように各LSEデータ構造を特定
し、前記割当てステートメントの次のオペランドに対応
する次のLSEデータ構造を指すポインタをセットする
こと、を特徴とする上記(16)に記載のコンピュータ
・システム。 (18)前記データ割当て評価手段は前記割当てステー
トメントの各オペランドを前記メモリにおけるLSEデ
ータ構造でもって置換すること、及び前記LOBマネー
ジャは、各LSEデータ構造がデータ構造タイプ、デー
タ構造ソース、データ構造開始位置、データ構造長、及
びデータ構造合計長を表すように各LSEデータ構造を
特定し、前記割当てステートメントの次のオペランドに
対応する次のLSEデータ構造を指すポインタをセット
すること、を特徴とする上記(17)に記載のコンピュ
ータ・システム。 (19)前記LSEハンドラは結果ストリングを発生す
るように前記LSEデータ構造に関する所定の等価機能
を実行することによって前記変換された割当てステート
メントを評価し、前記結果ストリングが発生された後前
記メモリから前記LSEデータ構造を削除することを特
徴とする上記(17)に記載のコンピュータ・システ
ム。 (20)前記LSEハンドラは、前記割当てステートメ
ントが第1オペランドの第1バイトで始まる前記第1オ
ペランドに関する長さ変更ストリング・オペレーション
を含むかどうかを決定し、それに応答して、前記第1オ
ペランドが前記データベース記憶装置から前記中間記憶
装置に読み込まれることを必要としない適所切り捨て機
能でもって前記第1オペランドに関する長さ変更ストリ
ング・オペレーションを置換することを特徴とする上記
(19)に記載のコンピュータ・システム。 (21)前記LSEハンドラは連結オペレーションを追
加機能に変換し、サブストリング・オペレーションを切
り捨て機能に変換することを特徴とする上記(20)に
記載のコンピュータ・システム。 (22)前記LSEハンドラは前記割当てステートメン
トの等号の両側におけるオペランドが同じである場合に
のみ前記割当てステートメントを変換することを特徴と
する上記(20)に記載のコンピュータ・システム。 (23)前記LSEハンドラは、少なくとも、挿入機
能、追加機能、削除機能、読取り機能、及び書込み機能
を含むデータ機能のグループから選択された機能でもっ
てストリング・オペレーションを置換することを特徴と
する上記(20)に記載のコンピュータ・システム。 (24)前記中央処理装置に接続されたファイル・サー
バと、前記ファイル・サーバに接続され、ユーザが前記
中央処理装置と通信できるようにする少なくとも1つの
クライアント・プロセッサと、を含むことを特徴とする
上記(17)に記載のコンピュータ・システム。 (25)プロセッサ・マシンによって読み取り可能なプ
ログラム記憶装置にして、ユーザが前記プロセッサ・マ
シンのリレーショナル・データベース管理システムのデ
ータ・オブジェクトを操作することを可能にするための
方法ステップを遂行するように前記プロセッサ・マシン
によって実行可能な命令のプログラムを明確に具体化す
るプログラム記憶装置において、前記プロセッサ・マシ
ンによって実行される方法ステップは、コンピュータ・
ネットワークのデータベース記憶装置中のあるロケーシ
ョンに記憶された大型データ・オブジェクト(LOB)
を参照する少なくとも1つのストリング演算子及び1つ
のオペランドを含む割当てステートメントを受け取るス
テップであって、前記割当てステートメントはシンク・
オペランドが等号によって1つ又は複数個のソース・オ
ペランドから分けられるという形式を有するものと、L
OBオペランドをそれのデータベース記憶装置ロケーシ
ョンに残し、かつ同じ結果を与える等価データ機能によ
って操作できるような1つ又は複数個のストリング演算
子及びLOBオペランドを前記割当てステートメントが
含むかどうかを決定するステップであって、それによっ
て、ストリング演算子を実行するためには前記LOBオ
ペランドがデータベース記憶装置から中間記憶装置に読
み込まれることを必要としない変換されたストリング演
算子を含むものと、前記ストリング演算子を所定の等価
機能に変換するステップと、前記変換された割当てステ
ートメントを遅延評価技法に従って処理し、前記プロセ
ッサ・マシンのユーザに戻されるステートメント結果を
発生するするステップと、を含むことを特徴とするプロ
グラム記憶装置。 (26)前記割当てステートメントを受け取るステップ
は前記割当てステートメントの各オペランドを前記コン
ピュータ・プロセッサのメモリにおけるLSEデータ構
造と置換するステップを含み、各LSEデータ構造はデ
ータ構造タイプ、データ構造ソース、データ構造開始位
置、データ構造長、データ構造合計長、及び前記割当て
ステートメントの次のオペランドに対応した次のLSE
データ構造を指すポインタを表すことを特徴とする上記
(25)に記載のプログラム記憶装置。 (27)前記変換された割当てステートメントを処理す
るステップは、前記LSEデータ構造に関する等価機能
を実行して結果ストリング生じさせるステップと、前記
結果ストリングが生じた後前記コンピュータ・メモリか
ら前記LSEデータ構造を削除するステップと、を含む
ことを特徴とする上記(26)に記載のプログラム記憶
装置。 (28)前記決定するステップは、前記割当てステート
メントが第1オペランドの第1バイトで始まる前記第1
オペランドに関する長さ変更ストリング・オペレーショ
ンを含むかどうかを決定するステップと、前記第1オペ
ランドが前記データベース記憶装置から前記中間記憶装
置に読み込まれることを必要としない前記第1オペラン
ドに関する適所切り捨て機能でもって前記長さ変更スト
リング・オペレーションを置換するステップと、を含む
ことを特徴とする上記(26)に記載のプログラム記憶
装置。 (29)前記変換するステップは、連結オペレーション
を追加機能に変換するステップと、サブストリング・オ
ペレーションを切り捨て機能に変換するステップと、を
含むことを特徴とする上記(28)に記載のプログラム
記憶装置。 (30)前記変換するステップは前記割当てステートメ
ントの等号の両側におけるオペランドが同じである場合
にのみ実行されることを特徴とする上記(28)に記載
のプログラム記憶装置。 (31)前記変換するステップは、少なくとも、挿入機
能、追加機能、削除機能、読取り機能、及び書込み機能
を含むグループから選択された機能でもってストリング
・オペレーションを置換するステップを含むことを特徴
とする上記(28)に記載のプログラム記憶装置。
【図1】本発明に従って構成されたリレーショナル・デ
ータベース管理システムを有するコンピュータ・システ
ムのブロック図である。
ータベース管理システムを有するコンピュータ・システ
ムのブロック図である。
【図2】図1に示されたリレーショナル・データベース
管理システムのブロック図である。
管理システムのブロック図である。
【図3】図2に示されたリレーショナル・データベース
管理システムのデータ・マネージャによって実行される
処理ステップを示す流れ図である。
管理システムのデータ・マネージャによって実行される
処理ステップを示す流れ図である。
【図4】図2に示されたLOBマネージャによって作成
されたLSEデータ構造の表示である。
されたLSEデータ構造の表示である。
【図5】図2に示されたLOBマネージャによって一連
のLOBに関する一連の連結オペレーションのパフォー
マンスを示すデータ構造の表示である。
のLOBに関する一連の連結オペレーションのパフォー
マンスを示すデータ構造の表示である。
【図6】図2に示されたLOBマネージャによって一連
のLOBに関する一連の連結オペレーションのパフォー
マンスを示すデータ構造の表示である。
のLOBに関する一連の連結オペレーションのパフォー
マンスを示すデータ構造の表示である。
【図7】図2に示されたリレーショナル・データベース
管理システムのLOBマネージャによって実行される処
理ステップを示す流れ図である。
管理システムのLOBマネージャによって実行される処
理ステップを示す流れ図である。
【図8】表現を変換する場合に図2に示されたLOBマ
ネージャによって実行される処理ステップを示す流れ図
である。
ネージャによって実行される処理ステップを示す流れ図
である。
【図9】図2に示されたLOBマネージャによって連結
オペレーションが実行された後図8に示されるようなデ
ータ構造の表示である。
オペレーションが実行された後図8に示されるようなデ
ータ構造の表示である。
【図10】図8に示されたようなデータ構造の表示及び
図2に示されたLOBマネージャによるサブストリング
・オペレーションのパフォーマンスを示す。
図2に示されたLOBマネージャによるサブストリング
・オペレーションのパフォーマンスを示す。
【図11】図8に示されたようなデータ構造の表示及び
図2に示されたLOBマネージャによるサブストリング
・オペレーションのパフォーマンスを示す。
図2に示されたLOBマネージャによるサブストリング
・オペレーションのパフォーマンスを示す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ピーター・ポール・ガッスナー アメリカ合衆国カリフォルニア州、サン・ ノゼ、ラ・テラス・サークル 1811 (72)発明者 トビン・ジョン・レーマン アメリカ合衆国カリフォルニア州、ロス・ ガトス、ニューウェル・アベニュー 175
Claims (31)
- 【請求項1】コンピュータ・システムにおけるコンピュ
ータ・プロセッサのリレーショナル・データベース管理
システムが受け取ったシステム・クライアントからの割
当てステートメントを評価する方法にして、 コンピュータ・ネットワークのデータベース記憶装置中
のあるロケーションに記憶された大型データ・オブジェ
クト(LOB)を参照する少なくとも1つのストリング
演算子及び1つのオペランドを含む割当てステートメン
トを受け取るステップであって、前記割当てステートメ
ントはシンク・オペランドが等号によって1つ又は複数
個のソース・オペランドから分けられるという形式を有
するものと、 LOBオペランドをそれのデータベース記憶装置ロケー
ションに残し、かつ同じ結果を与える等価データ機能に
よって操作できるような1つ又は複数個のストリング演
算子及びLOBオペランドを前記割当てステートメント
が含むかどうかを決定するステップであって、それによ
って、ストリング演算子を実行するためには前記LOB
オペランドがデータベース記憶装置から中間記憶装置に
読み込まれることを必要としない変換されたストリング
演算子を含むものと、 前記ストリング演算子を所定の等価機能に変換するステ
ップと、 前記変換された割当てステートメントを遅延評価技法に
従って処理するステップと、 を含む方法。 - 【請求項2】前記割当てステートメントを受け取るステ
ップは前記割当てステートメントの各オペランドを前記
コンピュータ・プロセッサのメモリにおけるLSEデー
タ構造と置換するステップを含み、各LSEデータ構造
はデータ構造タイプ、データ構造ソース、データ構造開
始位置、データ構造長、データ構造合計長、及び前記割
当てステートメントの次のオペランドに対応した次のL
SEデータ構造を指すポインタを表すことを特徴とする
請求項1に記載の方法。 - 【請求項3】前記変換された割当てステートメントを処
理するステップは、 前記LSEデータ構造に関する等価機能を実行して結果
ストリング生じさせるステップと、 前記結果ストリングが生じた後前記コンピュータ・メモ
リから前記LSEデータ構造を削除するステップと、 を含むことを特徴とする請求項2に記載の方法。 - 【請求項4】前記決定するステップは、 前記割当てステートメントが第1オペランドの第1バイ
トで始まる前記第1オペランドに関する長さ変更ストリ
ング・オペレーションを含むかどうかを決定するステッ
プと、 前記第1オペランドが前記データベース記憶装置から前
記中間記憶装置に読み込まれることを必要としない前記
第1オペランドに関する適所切り捨て機能でもって前記
長さ変更ストリング・オペレーションを置換するステッ
プと、 を含むことを特徴とする請求項2に記載の方法。 - 【請求項5】前記変換するステップは、 連結オペレーションを追加機能に変換するステップと、 サブストリング・オペレーションを切り捨て機能に変換
するステップと、 を含むことを特徴とする請求項4に記載の方法。 - 【請求項6】前記変換するステップは前記割当てステー
トメントの等号の両側におけるオペランドが同じである
場合にのみ実行されることを特徴とする請求項4に記載
の方法。 - 【請求項7】前記変換するステップは、少なくとも、挿
入機能、追加機能、削除機能、読取り機能、及び書込み
機能を含むグループから選択された機能でもってストリ
ング・オペレーションを置換するステップを含むことを
特徴とする請求項4に記載の方法。 - 【請求項8】中央処理装置及びメモリを有するコンピュ
ータ・システムのデータ・オブジェクトの操作において
使用するためのリレーショナル・データベース管理シス
テムにして、 コンピュータ・システムのデータベース記憶装置中のあ
るロケーションに記憶された少なくとも1つのストリン
グ演算子及び1つのオペランドを含むリレーショナル・
データベース割当てステートメントを受け取るデータ・
マネージャ・コントローラであって、前記割当てステー
トメントはシンク・オペランドが等号によって1つ又は
複数個のソース・オペランドから分けられるという形式
を有するものと、 所定のサイズを超え且つ前記ストリング演算子を実行す
るように前記割当てステートメントを処理するデータ・
オブジェクトを含む大型データ・オブジェクト(LO
B)を参照するオペランドを前記割当てステートメント
が含まない場合、前記データ・マネージャ・コントロー
ラから前記割当てステートメントを受け取るデータ割当
て評価手段と、 前記割当てステートメントがLOBを含む場合に前記割
当てステートメントを受け取り、少なくとも1つのLO
Bオペランドがそれぞれのデータベース記憶装置ロケー
ションに残り得るかどうか及び前記ストリング演算子が
前記LOBに関して実行した結果と同じ結果を与える1
つ又は複数個の等価データ機能によって操作可能である
かどうか決定し、それによって、前記LOBオペランド
が前記データベース記憶装置から中間記憶装置に読み込
まれることを必要としない変換された割当てステートメ
ントを含むLOBマネージャと、 前記LOBオペランドをそれのデータベース記憶装置ロ
ケーションにおいて操作する所定の等価データ機能でも
って前記ストリング演算子を置換することによって変換
可能であると前記LOBマネージャにより決定された前
記ストリング演算子を変換し、前記変換された割当てス
テートメントを遅延評価技法に従って処理するLSEハ
ンドラと、 を含むリレーショナル・データベース管理システム。 - 【請求項9】前記LOBマネージャは前記割当てステー
トメントの各オペランドを前記コンピュータ・システム
のメモリにおけるLSEデータ構造でもって置換するこ
と、及び前記LOBマネージャは、各LSEデータ構造
がデータ構造タイプ、データ構造ソース、データ構造開
始位置、データ構造長、及びデータ構造合計長を表すよ
うに各LSEデータ構造を特定し、前記割当てステート
メントの次のオペランドに対応する次のLSEデータ構
造を指すポインタをセットすること、 を特徴とする請求項8に記載のリレーショナル・データ
ベース管理システム。 - 【請求項10】前記データ割当て評価手段は前記割当て
ステートメントの各オペランドを前記コンピュータ・シ
ステムのメモリにおけるLSEデータ構造でもって置換
すること、及び前記LOBマネージャは、各LSEデー
タ構造がデータ構造タイプ、データ構造ソース、データ
構造開始位置、データ構造長、及びデータ構造合計長を
表すように各LSEデータ構造を特定し、前記割当てス
テートメントの次のオペランドに対応する次のLSEデ
ータ構造を指すポインタをセットすること、 を特徴とする請求項9に記載のリレーショナル・データ
ベース管理システム。 - 【請求項11】前記LSEハンドラは結果ストリングを
発生するように前記LSEデータ構造に関する所定の等
価機能を実行することによって前記変換された割当てス
テートメントを評価し、前記結果ストリングが発生され
た後、前記メモリから前記LSEデータ構造を削除する
ことを特徴とする請求項9に記載のリレーショナル・デ
ータベース管理システム。 - 【請求項12】前記LSEハンドラは、前記割当てステ
ートメントが第1オペランドの第1バイトで始まる前記
第1オペランドに関する長さ変更ストリング・オペレー
ションを含むかどうかを決定し、それに応答して、前記
第1オペランドが前記データベース記憶装置から前記中
間記憶装置に読み込まれることを必要としない適所切り
捨て機能でもって前記第1オペランドに関する長さ変更
ストリング・オペレーションを置換することを特徴とす
る請求項11に記載のリレーショナル・データベース管
理システム。 - 【請求項13】前記LSEハンドラは連結オペレーショ
ンを追加機能に変換し、サブストリング・オペレーショ
ンを切り捨て機能に変換することを特徴とする請求項1
2に記載のリレーショナル・データベース管理システ
ム。 - 【請求項14】前記LSEハンドラは前記割当てステー
トメントの等号の両側におけるオペランドが同じである
場合にのみ前記割当てステートメントを変換することを
特徴とする請求項12に記載のリレーショナル・データ
ベース管理システム。 - 【請求項15】前記LSEハンドラは、少なくとも、挿
入機能、追加機能、削除機能、読取り機能、及び書込み
機能を含むデータ機能のグループから選択された機能で
もってストリング・オペレーションを置換することを特
徴とする請求項12に記載のリレーショナル・データベ
ース管理システム。 - 【請求項16】中央処理装置と、 メモリと、 リレーショナル・データベースのデータ・オブジェクト
を含む少なくとも1つの記憶装置と、 コンピュータ・システムのユーザが前記データ・オブジ
ェクトを操作することを可能にするリレーショナル・デ
ータベース管理システムと、 を含むコンピュータ・システムにして、前記リレーショ
ナル・データベース管理システムは、 ユーザからリレーショナル・データベース割当てステー
トメントを受け取るデータ・マネージャ・コントローラ
であって、前記割当てステートメントは少なくとも1つ
のストリング演算子と、データベース記憶装置における
1つのロケーションに記憶された1つのオペランドとを
含み、シンク・オペランドが等号によって1つ又は複数
個のソース・オペランドから分けられるという形式を有
するものと、 所定のサイズを超え且つ前記ストリング演算子を実行す
るように前記割当てステートメントを処理するデータ・
オブジェクトを含む大型データ・オブジェクト(LO
B)を参照するオペランドを前記割当てステートメント
が含まない場合、前記データ・マネージャ・コントロー
ラから前記割当てステートメントを受け取るデータ割当
て評価手段と、 前記割当てステートメントがLOBを含む場合に前記割
当てステートメントを受け取り、少なくとも1つのLO
Bオペランドがそれぞれのデータベース記憶装置ロケー
ションに残り得るかどうか及び前記ストリング演算子が
前記LOBに関して実行した結果と同じ結果を与える1
つ又は複数個の等価データ機能によって適切に操作可能
であるかどうか決定し、それによって、前記LOBオペ
ランドが前記データベース記憶装置から前記コンピュー
タ・システムの中間記憶装置に読み込まれることを必要
としない変換された割当てステートメントを含むLOB
マネージャと、 前記LOBオペランドをそれのデータベース記憶装置ロ
ケーションにおいて操作する所定の等価データ機能でも
って前記ストリング演算子を置換することによって変換
可能であると前記LOBマネージャにより決定された前
記ストリング演算子を変換し、前記変換された割当てス
テートメントを遅延評価技法に従って処理するLSEハ
ンドラと、 を含むことを特徴とするコンピュータ・システム。 - 【請求項17】前記LOBマネージャは前記割当てステ
ートメントの各オペランドを前記メモリにおけるLSE
データ構造でもって置換すること、及び前記LOBマネ
ージャは、各LSEデータ構造がデータ構造タイプ、デ
ータ構造ソース、データ構造開始位置、データ構造長、
及びデータ構造合計長を表すように各LSEデータ構造
を特定し、前記割当てステートメントの次のオペランド
に対応する次のLSEデータ構造を指すポインタをセッ
トすること、 を特徴とする請求項16に記載のコンピュータ・システ
ム。 - 【請求項18】前記データ割当て評価手段は前記割当て
ステートメントの各オペランドを前記メモリにおけるL
SEデータ構造でもって置換すること、及び前記LOB
マネージャは、各LSEデータ構造がデータ構造タイ
プ、データ構造ソース、データ構造開始位置、データ構
造長、及びデータ構造合計長を表すように各LSEデー
タ構造を特定し、前記割当てステートメントの次のオペ
ランドに対応する次のLSEデータ構造を指すポインタ
をセットすること、 を特徴とする請求項17に記載のコンピュータ・システ
ム。 - 【請求項19】前記LSEハンドラは結果ストリングを
発生するように前記LSEデータ構造に関する所定の等
価機能を実行することによって前記変換された割当てス
テートメントを評価し、前記結果ストリングが発生され
た後前記メモリから前記LSEデータ構造を削除するこ
とを特徴とする請求項17に記載のコンピュータ・シス
テム。 - 【請求項20】前記LSEハンドラは、前記割当てステ
ートメントが第1オペランドの第1バイトで始まる前記
第1オペランドに関する長さ変更ストリング・オペレー
ションを含むかどうかを決定し、それに応答して、前記
第1オペランドが前記データベース記憶装置から前記中
間記憶装置に読み込まれることを必要としない適所切り
捨て機能でもって前記第1オペランドに関する長さ変更
ストリング・オペレーションを置換することを特徴とす
る請求項19に記載のコンピュータ・システム。 - 【請求項21】前記LSEハンドラは連結オペレーショ
ンを追加機能に変換し、サブストリング・オペレーショ
ンを切り捨て機能に変換することを特徴とする請求項2
0に記載のコンピュータ・システム。 - 【請求項22】前記LSEハンドラは前記割当てステー
トメントの等号の両側におけるオペランドが同じである
場合にのみ前記割当てステートメントを変換することを
特徴とする請求項20に記載のコンピュータ・システ
ム。 - 【請求項23】前記LSEハンドラは、少なくとも、挿
入機能、追加機能、削除機能、読取り機能、及び書込み
機能を含むデータ機能のグループから選択された機能で
もってストリング・オペレーションを置換することを特
徴とする請求項20に記載のコンピュータ・システム。 - 【請求項24】前記中央処理装置に接続されたファイル
・サーバと、 前記ファイル・サーバに接続され、ユーザが前記中央処
理装置と通信できるようにする少なくとも1つのクライ
アント・プロセッサと、 を含むことを特徴とする請求項17に記載のコンピュー
タ・システム。 - 【請求項25】プロセッサ・マシンによって読み取り可
能なプログラム記憶装置にして、ユーザが前記プロセッ
サ・マシンのリレーショナル・データベース管理システ
ムのデータ・オブジェクトを操作することを可能にする
ための方法ステップを遂行するように前記プロセッサ・
マシンによって実行可能な命令のプログラムを明確に具
体化するプログラム記憶装置において、前記プロセッサ
・マシンによって実行される方法ステップは、 コンピュータ・ネットワークのデータベース記憶装置中
のあるロケーションに記憶された大型データ・オブジェ
クト(LOB)を参照する少なくとも1つのストリング
演算子及び1つのオペランドを含む割当てステートメン
トを受け取るステップであって、前記割当てステートメ
ントはシンク・オペランドが等号によって1つ又は複数
個のソース・オペランドから分けられるという形式を有
するものと、 LOBオペランドをそれのデータベース記憶装置ロケー
ションに残し、かつ同じ結果を与える等価データ機能に
よって操作できるような1つ又は複数個のストリング演
算子及びLOBオペランドを前記割当てステートメント
が含むかどうかを決定するステップであって、それによ
って、ストリング演算子を実行するためには前記LOB
オペランドがデータベース記憶装置から中間記憶装置に
読み込まれることを必要としない変換されたストリング
演算子を含むものと、 前記ストリング演算子を所定の等価機能に変換するステ
ップと、 前記変換された割当てステートメントを遅延評価技法に
従って処理し、前記プロセッサ・マシンのユーザに戻さ
れるステートメント結果を発生するするステップと、 を含むことを特徴とするプログラム記憶装置。 - 【請求項26】前記割当てステートメントを受け取るス
テップは前記割当てステートメントの各オペランドを前
記コンピュータ・プロセッサのメモリにおけるLSEデ
ータ構造と置換するステップを含み、各LSEデータ構
造はデータ構造タイプ、データ構造ソース、データ構造
開始位置、データ構造長、データ構造合計長、及び前記
割当てステートメントの次のオペランドに対応した次の
LSEデータ構造を指すポインタを表すことを特徴とす
る請求項25に記載のプログラム記憶装置。 - 【請求項27】前記変換された割当てステートメントを
処理するステップは、 前記LSEデータ構造に関する等価機能を実行して結果
ストリング生じさせるステップと、 前記結果ストリングが生じた後前記コンピュータ・メモ
リから前記LSEデータ構造を削除するステップと、 を含むことを特徴とする請求項26に記載のプログラム
記憶装置。 - 【請求項28】前記決定するステップは、 前記割当てステートメントが第1オペランドの第1バイ
トで始まる前記第1オペランドに関する長さ変更ストリ
ング・オペレーションを含むかどうかを決定するステッ
プと、 前記第1オペランドが前記データベース記憶装置から前
記中間記憶装置に読み込まれることを必要としない前記
第1オペランドに関する適所切り捨て機能でもって前記
長さ変更ストリング・オペレーションを置換するステッ
プと、 を含むことを特徴とする請求項26に記載のプログラム
記憶装置。 - 【請求項29】前記変換するステップは、 連結オペレーションを追加機能に変換するステップと、 サブストリング・オペレーションを切り捨て機能に変換
するステップと、 を含むことを特徴とする請求項28に記載のプログラム
記憶装置。 - 【請求項30】前記変換するステップは前記割当てステ
ートメントの等号の両側におけるオペランドが同じであ
る場合にのみ実行されることを特徴とする請求項28に
記載のプログラム記憶装置。 - 【請求項31】前記変換するステップは、少なくとも、
挿入機能、追加機能、削除機能、読取り機能、及び書込
み機能を含むグループから選択された機能でもってスト
リング・オペレーションを置換するステップを含むこと
を特徴とする請求項28に記載のプログラム記憶装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/387,048 US5566329A (en) | 1995-02-10 | 1995-02-10 | System and method for mutation of selected assignment operations on large data objects |
| US387048 | 1995-02-10 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08255101A true JPH08255101A (ja) | 1996-10-01 |
Family
ID=23528229
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8018528A Pending JPH08255101A (ja) | 1995-02-10 | 1996-02-05 | 大型データ・オブジェクトに関する選択された割当てオペレーションを変換するためのシステム及び方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5566329A (ja) |
| EP (1) | EP0726536A3 (ja) |
| JP (1) | JPH08255101A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006012155A (ja) * | 2004-06-29 | 2006-01-12 | Microsoft Corp | ユーザ定義型の指定されたメンバを遅延フェッチするシステムおよび方法 |
Families Citing this family (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7301541B2 (en) * | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
| US5920860A (en) * | 1997-09-15 | 1999-07-06 | International Business Machines Corporation | Method and apparatus for accessing of large object data segments from a remote database |
| US5956727A (en) * | 1997-09-15 | 1999-09-21 | International Business Machines Corporation | Heterogeneous database system with data source extensibility and alteration of database functions |
| US6738790B1 (en) | 1997-10-31 | 2004-05-18 | Oracle International Corporation | Approach for accessing large objects |
| US5999943A (en) * | 1997-10-31 | 1999-12-07 | Oracle Corporation | Lob locators |
| US6061690A (en) * | 1997-10-31 | 2000-05-09 | Oracle Corporation | Apparatus and method for storage of object collections in a database system |
| US6061678A (en) * | 1997-10-31 | 2000-05-09 | Oracle Corporation | Approach for managing access to large objects in database systems using large object indexes |
| US6240409B1 (en) * | 1998-07-31 | 2001-05-29 | The Regents Of The University Of California | Method and apparatus for detecting and summarizing document similarity within large document sets |
| US6343293B1 (en) | 1998-09-24 | 2002-01-29 | International Business Machines Corporation | Storing the uncompressed data length in a LOB map to speed substring access within a LOB value |
| US6343286B1 (en) | 1998-09-24 | 2002-01-29 | International Business Machines Corporation | Efficient technique to defer large object access with intermediate results |
| US6144970A (en) * | 1998-09-24 | 2000-11-07 | International Business Machines Corporation | Technique for inplace reorganization of a LOB table space |
| US6606617B1 (en) | 1998-09-24 | 2003-08-12 | International Business Machines Corporation | Optimized technique for prefetching LOB table space pages |
| US6694340B1 (en) | 1998-09-24 | 2004-02-17 | International Business Machines Corporation | Technique for determining the age of the oldest reading transaction with a database object |
| US6366902B1 (en) | 1998-09-24 | 2002-04-02 | International Business Machines Corp. | Using an epoch number to optimize access with rowid columns and direct row access |
| US6470359B1 (en) | 1998-09-24 | 2002-10-22 | International Business Machines Corporation | Fast technique for recovering an index on an auxiliary table |
| US6487551B2 (en) | 1998-09-24 | 2002-11-26 | International Business Machines Corporation | Externalizing very large objects in a relational database client/server environment |
| US6363389B1 (en) | 1998-09-24 | 2002-03-26 | International Business Machines Corporation | Technique for creating a unique quasi-random row identifier |
| US6598055B1 (en) * | 1999-12-23 | 2003-07-22 | International Business Machines Corporation | Generic code for manipulating data of a structured object |
| US20060004838A1 (en) * | 2004-05-14 | 2006-01-05 | Oracle International Corporation | Sharing large objects in distributed systems |
| US7836096B2 (en) * | 2006-12-14 | 2010-11-16 | International Business Machines Corporation | Method and system using date/time mutation to return data to Java applications |
| US11409641B1 (en) * | 2021-08-03 | 2022-08-09 | Fmr Llc | Mutation testing of database functions |
| US12346434B2 (en) * | 2022-11-12 | 2025-07-01 | Dell Products, L.P. | Snapset restricted utilization and preservation |
-
1995
- 1995-02-10 US US08/387,048 patent/US5566329A/en not_active Expired - Fee Related
-
1996
- 1996-01-17 EP EP96300341A patent/EP0726536A3/en not_active Withdrawn
- 1996-02-05 JP JP8018528A patent/JPH08255101A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006012155A (ja) * | 2004-06-29 | 2006-01-12 | Microsoft Corp | ユーザ定義型の指定されたメンバを遅延フェッチするシステムおよび方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5566329A (en) | 1996-10-15 |
| EP0726536A3 (en) | 1997-04-23 |
| EP0726536A2 (en) | 1996-08-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH08255101A (ja) | 大型データ・オブジェクトに関する選択された割当てオペレーションを変換するためのシステム及び方法 | |
| US6606618B2 (en) | Method for optimizing the performance of a database | |
| JP2708331B2 (ja) | ファイル装置およびデータファイルアクセス方法 | |
| US11146614B2 (en) | Distributed computing on document formats | |
| US7424490B2 (en) | System for document management and information processing | |
| US7016908B2 (en) | File processing method, data processing apparatus and storage medium | |
| JPH10512699A (ja) | コンピュータのネットワークからワールドワイドウェッブ上のページを捜し出したり、ドキュメントを捜し出したりするためのシステム及び方法 | |
| WO1996016374A1 (en) | Data base system shared by a plurality of client apparatuses, data updating method and application to character processor | |
| JP3770919B2 (ja) | ファイル処理方法、データ処理装置及び記憶媒体 | |
| JP5186390B2 (ja) | ノードの番号付けによるファイル・システムのダンプ/復元のための方法、システム、およびデバイス | |
| JPH05204983A (ja) | リレーショナルデータベース処理装置および処理方法 | |
| US6279003B1 (en) | Self-describing multiple key format database index | |
| JPH06500656A (ja) | 拡張テーブルを使用するページングシステム | |
| US7720805B1 (en) | Sequential unload processing of IMS databases | |
| Yu et al. | A linear-time scheme for version reconstruction | |
| KR20010002567A (ko) | 정보검색 시스템의 하부저장구조 관리장치 및 그 정보 저장/검색 방법 | |
| JPH0456344B2 (ja) | ||
| JPS6129936A (ja) | 検索方法 | |
| CN120429321A (zh) | 数据查询方法以及装置 | |
| JP2024061546A (ja) | 分類装置 | |
| JP3224159B2 (ja) | エキスパートシステム | |
| JP2003271649A (ja) | リレーショナルデータベース問い合わせ処理方式及びリレーショナルデータベース問い合わせ処理システム | |
| JPH06175903A (ja) | ファイル管理方式 | |
| JPH0687226B2 (ja) | データベース管理方式 | |
| JPH04148252A (ja) | データベース管理システム |