[seasar-dotnet:1090] Re: S2Dao.NET、DBFlute - Oracleのパッケージ対応について

kubo [E-MAIL ADDRESS DELETED]
2008年 10月 24日 (金) 00:14:53 JST


久保(jflute)です。

> PL/SQL のパッケージは Java のクラスに
> 相当するものなので,

なるほど、本質的な解説ありがとうございます。
非常にためになります。

> パッケージがメタデータとしてはカタログとして
> 取れちゃうみたいですが,本来はスキーマより
> 上位概念のカタログとは全く関係なくて,
> スキーマ内のオブジェクトです.

こちらもありがとうございます。
取れるは取れるので良いのですが、
非常にモヤモヤしてた部分ではありました。
(将来仕様が変わったりしたらいやですね。。。)

2008/10/24 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>:
> 小林 (koichik) です.
>
> 横から失礼.
>
> Date:    Thu, 23 Oct 2008 22:23:44 +0900
> From:    kubo <[E-MAIL ADDRESS DELETED]>
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [seasar-dotnet:1084] Re: S2Dao.NET、DBFlute - Oracleのパッケージ対応について
>
>> パッケージが別とはいえ同じプロシージャ名は
>> 設計的に紛らわしくあまり良いことではないので、
>
> PL/SQL のパッケージは Java のクラスに
> 相当するものなので,同名のプロシージャや
> ファンクションが設計的によくないというのは
> おかしいと思います.
>
> PL/SQL は,言語的には Ada の影響を強く
> 受けているというか,SQL を埋め込み可能な
> Ada もどきというか,Pro*Ada と呼んでも
> まぁ嘘ではないんじゃないかみたいな言語です.
>
> その Ada のパッケージは Java でいうと
> static メンバだけのクラスみたいな感じです.
>
> なので,PL/SQL でも異なるパッケージで同名の
> プロシージャやファンクションというのは普通に
> 使うというか,名前を被らないようにしようという
> 意識をしません.
>
> Java でクラスが別とはいえ同じメソッド名は
> 設計的に紛らわしくあまり良いことではない,
> なんて考えないのと同じです.
>
> 例えば Oracle 標準のライブラリでも,
>
> DBMS_CAPTURE_ADM
> DBMS_CUBE
> DBMS_LOGMNR_D
> DBMS_LOGSTDBY
>
> という 4 つのパッケージに BUILD という
> 同名のプロシージャが存在するようです.
> # パラメータの数などは違う.
>
> DBFlute で対応するしないは別として,
> PL/SQL のパッケージはこんな感じと
> いうことで.
>
> P.S.
> パッケージがメタデータとしてはカタログとして
> 取れちゃうみたいですが,本来はスキーマより
> 上位概念のカタログとは全く関係なくて,
> スキーマ内のオブジェクトです.
>
>
> --
> <component name="koichik">
>    <property name="fullName">"Koichi Kobayashi"</property>
>    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
>    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
> </component>
>
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>


seasar-dotnet メーリングリストの案内