Tripletail

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

0.48 Mon Oct 19 10:35:26 JST 2009
	- FileSentinel に依存モジュールの watch を自動で行う機能を追加しました。
	 (Thanks to Haruka Kataoka.)
	- DB での mysql使用時に、テーブルのエイリアスに対する lock ができる
	 ように拡張しました。
	 (Thanks to Haruka Kataoka.)

0.47 Fri Jul 17 16:41:35 JST 2009
	- Template#existsFile メソッドを追加.
	- MemCached#setでリファレンスを保存できるように変更.
	- DBクラスのIniいるにおいて,mysql_read_default_file,mysql_read_default_group を指定することで my.cnf から設定を読み込む機能を追加.
	- 0.46で追加したDB再接続処理をpreRequestではなくinitRequestで行うように変更.
	  (preRequestの前に行われるフォームのデコード処理でセッション関連のDBアクセスが発生することがあるため)
	- InputFilterで文字コードを指定するオプションを追加.
	  文字コードを指定した場合はCCCパラメータを使用した自動判定は行われない.
	- Iniで特化指定を使用したときに、Iniファイルの上から順番に設定が使用されていなかった問題の修正
	- Ini#deleteGroup メソッドで特化指定を含んでいるときに全てのグループが削除されていなかった問題の修正
	- Ini#set メソッドにraw指定を追加

0.46 Tue May 26 16:56:32 JST 2009
	- FastCGIで長時間アクセスがない場合に,MySQLとのDB接続が

doc/Tripletail/DB.html  view on Meta::CPAN

<pre class="pod_verbatim"><code>  password = PASS</code></pre>

<p>
<span class="pod_lang">DBに接続する際のパスワードを設定する。
省略可能。

</span>
</p>

</dd>
<dt><a id="mysql_read_default_file"><span class="pod_lang"><code class="pod_iseq_C">mysql_read_default_file</code>

</span></a></dt>
<dd>
<pre class="pod_verbatim"><code>  mysql_read_default_file = .../tl_mysql.cnf</code></pre>

<p>
<span class="pod_lang">mysql クライアントライブラリが使用する設定ファイル my.cnf のパスを指定する。
パスの指定を .../ で始めることで、 ini ファイルからの相対パスとして指定する事も可能。
設定ファイルを使用する事で、 default-character-set 等の Tripletail::DB や DBD::mysql からは設定できない項目が設定できる。
また、設定ファイルで user, password, host 等の値を指定する場合は、 Ini パラメータ のDBコネクションの値を省略する事ができる。(dbname だけは省略できない)

</span>
</p>

</dd>
<dt><a id="mysql_read_default_group"><span class="pod_lang"><code class="pod_iseq_C">mysql_read_default_group</code>

</span></a></dt>
<dd>
<pre class="pod_verbatim"><code>  mysql_read_default_group = tripletail</code></pre>

<p>
<span class="pod_lang">mysql_read_default_file 指定時に、設定ファイル中のどのグループを使用するかを指定する。
グループを指定した場合は、 [client] グループの設定と指定したグループの設定の両方が有効になる。
グループを指定しない場合、 [client] グループの設定のみが有効となる。

</span>
</p>

</dd>
</dl>

<h3><a id="SQL_Server_Xe8Xa8XadXe5XaeX9a">

doc/Tripletail/DB.html  view on Meta::CPAN

<li><a href="#fetchHash">fetchHash</a></li>
<li><a href="#findTables">findTables</a></li>
<li><a href="#finish">finish</a></li>
<li><a href="#getDbh">getDbh</a></li>
<li><a href="#getLastInsertId">getLastInsertId</a></li>
<li><a href="#getTableColumns">getTableColumns</a></li>
<li><a href="#getType">getType</a></li>
<li><a href="#host">host</a></li>
<li><a href="#inTx">inTx</a></li>
<li><a href="#lock">lock</a></li>
<li><a href="#mysql_read_default_file">mysql_read_default_file</a></li>
<li><a href="#mysql_read_default_group">mysql_read_default_group</a></li>
<li><a href="#nameArray">nameArray</a></li>
<li><a href="#nameHash">nameHash</a></li>
<li><a href="#namequery">namequery</a></li>
<li><a href="#password">password</a></li>
<li><a href="#prepare/executeXe3X82X92Xe5X88X86Xe3X81X91Xe3X81XaaXe3X81X84Xe3X80X82fetchXe3X81XafXe5X88X86Xe3X81X91Xe3X82X8bXe3X81X93Xe3X81Xa8Xe3X82X82Xe3X81Xa7Xe3X81X8dXe3X82X8bXe3X80X82">prepare/executeを分けない。fetchは分けることもã...
<li><a href="#quote">quote</a></li>
<li><a href="#ret">ret</a></li>
<li><a href="#rollback">rollback</a></li>
<li><a href="#rows">rows</a></li>

lib/Tripletail/DB.pm  view on Meta::CPAN


DBに接続する際のユーザー名を設定する。

=item C<< password >>

  password = PASS

DBに接続する際のパスワードを設定する。
省略可能。

=item C<< mysql_read_default_file >>

  mysql_read_default_file = .../tl_mysql.cnf

mysql クライアントライブラリが使用する設定ファイル my.cnf のパスを指定する。
パスの指定を .../ で始めることで、 ini ファイルからの相対パスとして指定する事も可能。
設定ファイルを使用する事で、 default-character-set 等の Tripletail::DB や DBD::mysql からは設定できない項目が設定できる。
また、設定ファイルで user, password, host 等の値を指定する場合は、 Ini パラメータ のDBコネクションの値を省略する事ができる。(dbname だけは省略できない)

=item C<< mysql_read_default_group >>

  mysql_read_default_group = tripletail

mysql_read_default_file 指定時に、設定ファイル中のどのグループを使用するかを指定する。
グループを指定した場合は、 [client] グループの設定と指定したグループの設定の両方が有効になる。
グループを指定しない場合、 [client] グループの設定のみが有効となる。

=back

=head3 SQL Server 設定

試験的に SQL Server との接続が実装されています.
DBD::ODBC と, Linux であれば unixODBC + freetds で, Windows であれば
組み込みの ODBC マネージャで動作します.

lib/Tripletail/DB/Backend/MySQL.pm  view on Meta::CPAN

    my $host = $TL->INI->get($this->{inigroup} => 'host' => undef);
    if (defined($host) && $host ne '') {
        $opts->{host} = $host;
    }

    my $port = $TL->INI->get($this->{inigroup} => 'port' => undef);
    if (defined($port) && $port ne '') {
        $opts->{port} = $port;
    }

    # mysql_read_default_file, mysql_read_default_group オプションを渡す
    if (defined(my $default_file = $TL->INI->get_reloc($this->{inigroup} => 'mysql_read_default_file' => undef))) {
        if (!-e $default_file) {
            die __PACKAGE__."#connect: file $default_file does not exist. ($default_file が存在しません)".
              " ('mysql_read_default_file' in [$this->{inigroup}])\n";
        }
        $opts->{mysql_read_default_file} = $default_file;

        if (defined(my $default_group = $TL->INI->get($this->{inigroup} => 'mysql_read_default_group' => undef))) {
            $opts->{mysql_read_default_group} = $default_group;
        }
    }

    no warnings 'redefine';
    if (!$DBI::installed_drh{mysql}) {
        DBI->install_driver('mysql');
    }

t/db-mysql-readdefaultfile.t  view on Meta::CPAN

use File::Spec;

our %DBINFO;
our $configfile;

BEGIN{
	$configfile = File::Spec->rel2abs("tmp$$.cnf");

	%DBINFO = (
		dbname   => $ENV{MYSQL_DBNAME}  || 'test',
		mysql_read_default_file => $configfile,
		mysql_read_default_group => 'tripletail',
	);
};

sub createTestConfigFile {
	my %config = (
		user     => $ENV{MYSQL_USER}    || '',
		password => $ENV{MYSQL_PASS}    || '',
		host     => shift,
		'default-character-set' => shift,



( run in 0.422 second using v1.01-cache-2.11-cpan-05444aca049 )