2012-05-06 9 views
0

(コンパイル単位)の配列値の意義は何ですか?cud(コンパイル単位データ)の配列値の意味は何ですか?

どのように私のプログラムが必要なのですか?

私はLinux 5とOracle 11gを使用しています。

以下説明してください:

/* (compilation unit) array */ 
static const short sql0[] = 
{12,4130,1,0,0, 
5,0,0,1,0,0,273,111,0,0,1,1,0,1,0,1,9,0,0, 
24,0,0,2,0,0,273,136,0,0,1,1,0,1,0,1,9,0,0, 
43,0,0,3,0,0,273,161,0,0,1,1,0,1,0,1,9,0,0, 
62,0,0,4,0,0,273,184,0,0,1,1,0,1,0,1,9,0,0, 
81,0,0,5,0,0,273,212,0,0,1,1,0,1,0,1,9,0,0, 
100,0,0,6,0,0,273,238,0,0,1,1,0,1,0,1,9,0,0, 
119,0,0,7,0,0,273,262,0,0,1,1,0,1,0,1,9,0,0, 
138,0,0,1,0,0,301,302,0,0,2,2,0,1,0,1,9,0,0,1,9,0,0, 
161,0,0,1,0,0,269,306,0,0,1,0,0,1,0,2,9,0,0, 
180,0,0,2,0,0,301,343,0,0,1,1,0,1,0,1,9,0,0, 
199,0,0,2,0,0,269,348,0,0,2,0,0,1,0,2,9,0,0,2,9,0,0, 
222,0,0,3,0,0,277,394,0,0,2,2,0,1,0,1,9,0,0,1,9,0,0, 
245,0,0,3,0,0,277,419,0,0,1,1,0,1,0,1,9,0,0, 
264,0,0,5,0,0,277,455,0,0,3,3,0,1,0,1,9,0,0,1,9,0,0,1,9,0,0, 
291,0,0,6,0,0,277,493,0,0,3,3,0,1,0,1,9,0,0,1,9,0,0,1,9,0,0, 
318,0,0,7,0,0,301,524,0,0,1,1,0,1,0,1,9,0,0, 
337,0,0,7,0,0,269,525,0,0,1,0,0,1,0,2,9,0,0, 
}; 

答えて

0

コメントのみ(それが現在の翻訳でのみアクセス可能であることを意味し、(この文脈でstaticは、内部結合を意味する)の配列は、内部リンケージを持っていることを述べていますコンパイル)ユニット。これは定義から曖昧なものですが、意図的であることを明示することを意味していると思います。これはコメントなので、コンパイラにとっては意味がありません。

0

私はこれが古い投稿であることを知っていますが、私はOracle CUDに関する私の分析を誇りに思っています。

CUDは、Pro * Cでコンパイルされたファイル内の埋込みSQL文のさまざまな側面を記述する大きな整数の配列です。実験を通して私は、このデータの構造とその使用方法について、推測された推測を行いました。私がOracle 11でSolarisに関する研究を行ったことを覚えておいてください。私が扱っているCUDデータは、あなたがここにあるものと若干異なっているので、データ値の位置は異なる可能性があります。データのランダムな線は次のとおりです。

138,0,01,0,0301,302,0,0,2,2,0,1,0,1,9,0,0,1,9,12,13,14 0,0、

CUDの各行(最初の6つの値を除く)は、グローバルオフセットで始まります。この場合は138(インデックス0)です。最初の1(インデックス3)は、クエリのタイプ(選択、フェッチ、オープンカーソル、クローズカーソル、接続など)を表している可能性があります。 301(インデックス6)は、おそらくクエリ文の文字列自体の長さです。 302(索引7)は、Pro * Cがコードに挿入するプラグマ文を示します。私のシステムでは、コード内の "#line 302"を検索して、CUDのこの行のクエリを表示します。インデックス10は、このクエリに関連付けられているバインド変数の数を表します(この場合は2つだけです)。バインド変数自体のデータはインデックス15から始まり、各変数には4つのデータ要素(この場合両方とも1,9,0,0)があります。これらの値の最初の値は、バインドvaribaleの使用方法を決定します。値1は、変数がwhere句で使用されることを意味します。 A 2は、選択/フェッチされる変数を意味します。 2番目の値(この場合は9)は、変数の型(整数、charなど)を参照します。

私はCUDに関するこの情報を学ぶことに決めました。アプリケーションで発生したクエリを出力するカスタムロギングコードを入れることができました。

関連する問題