2017-05-10 3 views
1

現在のクライアントでWSO2 APIマネージャを使用する予定であり、提供されたOracle DDLを使用してCarbon、APIマネージャ、およびメッセージブローカに必要なテーブルを設定する必要があります。クライアントのdbaは、関連するフィールドにVarchar2の代わりにvarcharを使用する理由を尋ねてきました.Oracleの標準的なアプローチは「Varchar2は業界標準であり、varcharは使用しない」というのが良い質問です。WSO2 Oracle DDLスクリプトはVarchar2ではなくVarcharを使用します

oracleスクリプトでVarchar2の代わりにVarcharを使用する理由はありますか? Oracleの上に実装された場合、WSO2はnullを空と区別する機能を必要としていましたか?

答えて

2

これはおそらく問題ではない単純なタイプミスでした。

AM_API.INDEXERVARCHAR2の代わりにVARCHARを使用しているようです。このプログラムには、H2、MS SQL、MySQL、PostGreSQL用のスクリプトも含まれています。他のすべてのデータベースはVARCHARを使用します。これは、複数のデータベースをサポートする製品にとっては、よくある間違いです。

OracleではVARCHARVARCHAR2の間に意味のある違いはありません。ドキュメントクレームいつか違いがあるだろうが、私はそれを非常に疑う。この問題は長い間存在していて、古い動作に依存するレガシーコードがたくさんあります。私はオラクルが決してVARCHARを使用しないで良いお金を賭けるだろうNULL比較意味論。

スクリプトを変更しようとしましたが、pull requestを作成しました。私はこのプロジェクトを理解しておらず、何か間違ったことはほとんどありませんでした。したがって、リクエストが拒否された場合は驚かないでください。しかしおそらく、それは何らかの形で修正につながるのに役立つだろう。

+0

ありがとう@jon私はそれがそういうものだろうと思っていましたが、これに意図的な選択があったかもしれないと思いました。変更が受け入れられればうまくいけば、それは見落としであったことを確認するでしょう。 –

関連する問題