おきらくmanholeの日記

id:manhole
|

2004-06-27

S2Dao EA1 00:31

キタ―――――ヽ(´ー`)ノ―――――!!!

ドキュメントを読みました。http://homepage3.nifty.com/seasar/s2dao.html

ちょっと気がかりなこと

  • 検索のパターンが増えてくると、Dao のメソッドが増えそう
    • 取得項目が異なる、JOIN先が異なる、where句が異なる、ソート順が異なる
  • そのとき、メソッド名の付け方で悩みそう
    • やたら長くなりそうな気も

書いてて気づいた、これって S2Dao に限る話じゃないですね。(^^; むしろ where 句を組み立てられるぶん数を減らせますし。

2004-06-11

00:17

そろそろ S2Dao がリリースされそうな予感がするので、JTS JTA まわりのソースを読み始めました。

早速気になった点。DataSource から取得する Connection に対して、 commit ・ rollback が有効なのはどうなんでしょう? S2 では基本的に宣言的トランザクションなのですから、プログラム側で トランザクションを制御できてしまうのは良くない気がします。

# もちろんプログラムで制御したいってニーズはあると思いますが、その場合でも Connection へ直にではなく、 UserTransaction に対して行うのだと思います。

# 実際に動かして確認したわけではないので、勘違いしていたらすみませんです。

higayasuohigayasuo2004/06/12 09:01他のアプリケーションサーバの仕様にあわせてます。

higayasuohigayasuo2004/06/12 09:01後、S2の実装はJTSではなく、JTAです。

manholemanhole2004/06/12 14:02あ、JTA ですね。(koichik さんが書かれたのを読み返しました。http://d.hatena.ne.jp/koichik/20040415#1082009866 前にも読んだのに、頭に入っていなかった...)

manholemanhole2004/06/12 22:30すみません、言葉が足りませんでした。『UserTransaction 中でも Connection#commit, rollback できてしまって良いのかしら?』です。他のアプリケーションサーバでは(少なくともJBossは)、UserTransaction中に commit, rollback をすると例外がスローされます。

RicardoRicardo2012/06/03 21:49Times are changing for the bteetr if I can get this online!

ijfcxsammiijfcxsammi2012/06/04 16:36HA6Igy <a href="http://xuynnvvhpzym.com/">xuynnvvhpzym</a>

ozladaolozladaol2012/06/05 17:15GAyV8N <a href="http://orclryqcghcm.com/">orclryqcghcm</a>

gzsfdlcypgzsfdlcyp2012/06/05 21:51FoDbb5 , [url=http://nxwototptryn.com/]nxwototptryn[/url], [link=http://jsplrcpcinzc.com/]jsplrcpcinzc[/link], http://qxcznvoeoutl.com/

2004-05-28

FROM句でのサブクエリと左外部結合 (http://d.hatena.ne.jp/higayasuo/20040527#1085642737) 11:05

PostgreSQL 7.4.1 (Linux) で確認しました。

# ひがさんの日記へ結果だけコメントしましたので、こちらに詳細を。

準備: Seasarに付属のdemo-oracle.sqlを流してテスト用のデータを作成しておきます。(Oracle用のスクリプトですけれど、PostgreSQLにもそのまま流せます。)

まずは、

  • 左外部結合
  • select A.*, B.* from A, B;

を確認しました。

・SQL文と結果

SELECT 
    DEPT.*
   ,EMP.*
  FROM
    DEPT DEPT
    LEFT OUTER JOIN EMP EMP ON (DEPT.DEPTNO = EMP.DEPTNO)
;

  deptno |   dname    |   loc    | empno | ename  |    job    | mgr  |  hiredate  |   sal   |  comm   | deptno
 --------+------------+----------+-------+--------+-----------+------+------------+---------+---------+--------
      10 | ACCOUNTING | NEW YORK |  7782 | CLARK  | MANAGER   | 7839 | 1981-06-09 | 2450.00 |         |     10
      10 | ACCOUNTING | NEW YORK |  7839 | KING   | PRESIDENT |      | 1981-11-17 | 5000.00 |         |     10
      10 | ACCOUNTING | NEW YORK |  7934 | MILLER | CLERK     | 7782 | 1982-01-23 | 1300.00 |         |     10
      20 | RESEARCH   | DALLAS   |  7369 | SMITH  | CLERK     | 7902 | 1980-12-17 |  800.00 |         |     20
      20 | RESEARCH   | DALLAS   |  7566 | JONES  | MANAGER   | 7839 | 1981-04-02 | 2975.00 |         |     20
      20 | RESEARCH   | DALLAS   |  7788 | SCOTT  | ANALYST   | 7566 | 1982-12-09 | 3000.00 |         |     20
      20 | RESEARCH   | DALLAS   |  7876 | ADAMS  | CLERK     | 7788 | 1983-01-12 | 1100.00 |         |     20
      20 | RESEARCH   | DALLAS   |  7902 | FORD   | ANALYST   | 7566 | 1981-12-03 | 3000.00 |         |     20
      30 | SALES      | CHICAGO  |  7499 | ALLEN  | SALESMAN  | 7698 | 1981-02-20 | 1600.00 |  300.00 |     30
      30 | SALES      | CHICAGO  |  7521 | WARD   | SALESMAN  | 7698 | 1981-02-22 | 1250.00 |  500.00 |     30
      30 | SALES      | CHICAGO  |  7654 | MARTIN | SALESMAN  | 7698 | 1981-09-28 | 1250.00 | 1400.00 |     30
      30 | SALES      | CHICAGO  |  7698 | BLAKE  | MANAGER   | 7839 | 1981-05-01 | 2850.00 |         |     30
      30 | SALES      | CHICAGO  |  7844 | TURNER | SALESMAN  | 7698 | 1981-09-08 | 1500.00 |    0.00 |     30
      30 | SALES      | CHICAGO  |  7900 | JAMES  | CLERK     | 7698 | 1981-12-03 |  950.00 |         |     30
      40 | OPERATIONS | BOSTON   |       |        |           |      |            |         |         |
 (15 rows)

続いて、

  • FROM句でのサブクエリ

を確認しました。

・SQL文と結果 (社員の所属数が多い順に、部署と社員数を取得)

SELECT 
    COUNT(A.EMPNO)  AS COUNTS
   ,A.DEPT_DEPTNO   AS DEPTNO
  FROM
   (SELECT 
        DEPT.DEPTNO AS DEPT_DEPTNO
       ,EMP.EMPNO   AS EMPNO
      FROM
        DEPT DEPT
        LEFT OUTER JOIN EMP EMP ON (DEPT.DEPTNO = EMP.DEPTNO)
    ) A
  GROUP BY A.DEPT_DEPTNO
  ORDER BY 1 DESC
;

  count | dept_deptno
 -------+-------------
      6 |          30
      5 |          20
      3 |          10
      0 |          40
 (4 rows)

higayasuohigayasuo2004/05/28 18:07どうもありがとうございました。m(_ _)m

manholemanhole2004/05/28 21:30お役に立てて何よりです (*^_^*)

MohmedMohmed2013/11/25 17:06Kudos to you! I hadn't thgouht of that! http://pakteo.com [url=http://uobeniit.com]uobeniit[/url] [link=http://rcrjkhcny.com]rcrjkhcny[/link]

2004-05-23

DBデータのキャッシュ (http://d.hatena.ne.jp/higayasuo/20040523#1085279892) 14:32

SQL*Plusなどから更新をかけた場合、キャッシュには反映されないのでしょうか? SQL*Plusに限らず、他システムからのDB更新が反映されないのは困る、と思います。

キャッシュの有効期限を自由にできれば良いのかなー。もしくは非常に狭い範囲に限定するとか。(1リクエスト単位でのみキャッシュする、とか)

追記:

ひがさんの日記のコメントに、結果セット単位でキャッシュする、って書かれていました。ですから上記の心配は杞憂で済みそうです。

fetchを速くするためのキャッシュなのですね。(先読みキャッシュと認識しました。)

HenrietaHenrieta2013/11/25 10:44I don't even know what to say, this made things so much <a href="http://ctdipkiwlmq.com">eaiesr!</a>

BatuhanBatuhan2013/11/25 16:59At last! Someone who unddtsranes! Thanks for posting! http://boathuck.com [url=http://ckjppqmzlix.com]ckjppqmzlix[/url] [link=http://flzgvulwb.com]flzgvulwb[/link]

2004-05-20

ELSE 01:36

進化の過程を新しい順に拾いました。

S2Daoはめちゃめちゃ便利だと思ってるのですけれど、イマイチ各界の反応が薄い気がするのはなんでなんだろ…? ダイコンのインパクトが強すぎなのか~!?

皆さんS2JDBCで十分なのかしら。それとも今までの資産が充分にあるのかなぁ。

# S2Dao見てると今までの資産を捨てる気になれます!

ManuelaManuela2013/11/25 04:08Kneowldge wants to be free, just like these articles! http://fegkmukivw.com [url=http://zfgneewmlg.com]zfgneewmlg[/url] [link=http://jvrweqy.com]jvrweqy[/link]

MaksimMaksim2013/11/25 17:30Ho ho, who woudla thunk it, right? http://fsgiabtz.com [url=http://famgtjqrg.com]famgtjqrg[/url] [link=http://xuovjqcjm.com]xuovjqcjm[/link]

|
2004 | 05 | 06 | 07 | 08 | 09 |