📄 changes.html
字号:
<pre>
Added documentation for dbi_profile_merge(), including how to
measure the time spent inside the DBI for an http request.</pre>
<p>
</p>
<h2><a name="changes_in_dbi_1_49__svn_rev_2287___29th_november_2005">Changes in DBI 1.49 (svn rev 2287), 29th November 2005</a></h2>
<pre>
Fixed assorted attribute handling bugs in DBD::Proxy.
Fixed croak() in DBD::NullP thanks to Sergey Skvortsov.
Fixed handling of take_imp_data() and dbi_imp_data attribute.
Fixed bugs in DBD::DBM thanks to Jeff Zucker.
Fixed bug in DBI::ProfileDumper thanks to Sam Tregar.
Fixed ping in DBD::Proxy thanks to George Campbell.
Fixed dangling ref in $sth after parent $dbh destroyed
with thanks to il@rol.ru for the bug report #13151
Fixed prerequisites to include Storable thanks to Michael Schwern.
Fixed take_imp_data to be more practical.</pre>
<pre>
Change to require perl 5.6.1 (as advertised in 2003) not 5.6.0.
Changed internals to be more strictly coded thanks to Andy Lester.
Changed warning about multiple copies of Driver.xst found in @INC
to ignore duplicated directories thanks to Ed Avis.
Changed Driver.xst to enable drivers to define an dbd_st_prepare_sv
function where the statement parameter is an SV. That enables
compiled drivers to support SQL strings that are UTF-8.
Changed "use DBI" to only set $DBI::connect_via if not already set.
Changed docs to clarify pre-method clearing of err values.</pre>
<pre>
<span class="variable">Added</span> <span class="variable">ability</span> <span class="keyword">for</span> <span class="variable">DBI::ProfileData</span> <span class="variable">to</span> <span class="variable">edit</span> <span class="variable">profile</span> <span class="variable">path</span> <span class="variable">on</span> <span class="variable">loading</span><span class="operator">.</span>
<span class="variable">This</span> <span class="variable">enables</span> <span class="variable">aggregation</span> <span class="variable">of</span> <span class="variable">different</span> <span class="variable">SQL</span> <span class="variable">statements</span> <span class="variable">into</span> <span class="variable">the</span> <span class="variable">same</span>
<span class="variable">profile</span> <span class="variable">node</span> <span class="operator">-</span> <span class="variable">very</span> <span class="variable">handy</span> <span class="variable">when</span> <span class="keyword">not</span> <span class="variable">using</span> <span class="variable">placeholders</span> <span class="keyword">or</span> <span class="variable">when</span> <span class="variable">working</span>
<span class="variable">multiple</span> <span class="variable">separate</span> <span class="variable">tables</span> <span class="keyword">for</span> <span class="variable">the</span> <span class="variable">same</span> <span class="variable">thing</span> <span class="operator">(</span><span class="variable">ie</span> <span class="variable">logtable_2005_11_28</span><span class="operator">)</span>
<span class="variable">Added</span> <span class="variable">$sth</span><span class="operator">-></span><span class="operator">{</span><span class="string">ParamTypes</span><span class="operator">}</span> <span class="variable">specification</span> <span class="variable">thanks</span> <span class="variable">to</span> <span class="variable">Dean</span> <span class="variable">Arnold</span><span class="operator">.</span>
<span class="variable">Added</span> <span class="variable">$h</span><span class="operator">-></span><span class="operator">{</span><span class="string">Callbacks</span><span class="operator">}</span> <span class="variable">attribute</span> <span class="variable">to</span> <span class="variable">enable</span> <span class="variable">code</span> <span class="variable">hooks</span> <span class="variable">to</span> <span class="variable">be</span> <span class="variable">invoked</span>
<span class="variable">when</span> <span class="variable">certain</span> <span class="variable">methods</span> <span class="variable">are</span> <span class="variable">called</span><span class="operator">.</span> <span class="variable">For</span> <span class="variable">example</span><span class="operator">:</span>
<span class="variable">$dbh</span><span class="operator">-></span><span class="operator">{</span><span class="string">Callbacks</span><span class="operator">}</span><span class="operator">-></span><span class="operator">{</span><span class="string">prepare</span><span class="operator">}</span> <span class="operator">=</span> <span class="keyword">sub</span><span class="variable"> </span><span class="operator">{</span> <span class="operator">...</span> <span class="operator">};</span>
<span class="variable">With</span> <span class="variable">thanks</span> <span class="variable">to</span> <span class="variable">David</span> <span class="variable">Wheeler</span> <span class="keyword">for</span> <span class="variable">the</span> <span class="variable">kick</span> <span class="variable">start</span><span class="operator">.</span>
<span class="variable">Added</span> <span class="variable">$h</span><span class="operator">-></span><span class="operator">{</span><span class="string">ChildHandles</span><span class="operator">}</span> <span class="operator">(</span><span class="variable">using</span> <span class="variable">weakrefs</span><span class="operator">)</span> <span class="variable">thanks</span> <span class="variable">to</span> <span class="variable">Sam</span> <span class="variable">Tregar</span>
<span class="variable">I've</span> <span class="variable">recoded</span> <span class="variable">it</span> <span class="variable">in</span> <span class="variable">C</span> <span class="variable">so</span> <span class="variable">there's</span> <span class="keyword">no</span> <span class="variable">significant</span> <span class="variable">performance</span> <span class="variable">impact</span><span class="operator">.</span>
<span class="variable">Added</span> <span class="variable">$h</span><span class="operator">-></span><span class="operator">{</span><span class="string">Type</span><span class="operator">}</span> <span class="variable">docs</span> <span class="operator">(</span><span class="variable">returns</span> <span class="string">'dr'</span><span class="operator">,</span> <span class="string">'db'</span><span class="operator">,</span> <span class="keyword">or</span> <span class="string">'st'</span><span class="operator">)</span>
<span class="variable">Adding</span> <span class="variable">trace</span> <span class="variable">message</span> <span class="variable">in</span> <span class="keyword">DESTROY</span> <span class="keyword">if</span> <span class="variable">InactiveDestroy</span> <span class="variable">enabled</span><span class="operator">.</span>
<span class="variable">Added</span> <span class="variable">%drhs</span> <span class="operator">=</span> <span class="variable">DBI</span><span class="operator">-></span><span class="variable">installed_drivers</span><span class="operator">();</span>
</pre>
<pre>
Ported DBI::ProfileDumper::Apache to mod_perl2 RC5+
thanks to Philip M. Golluci</pre>
<p>
</p>
<h2><a name="changes_in_dbi_1_48__svn_rev_928___14th_march_2005">Changes in DBI 1.48 (svn rev 928), 14th March 2005</a></h2>
<pre>
Fixed DBI::DBD::Metadata generation of type_info_all thanks to Steffen Goeldner
(driver authors who have used it should rerun it).</pre>
<pre>
Updated docs for NULL Value placeholders thanks to Brian Campbell.
Added multi-keyfield nested hash fetching to fetchall_hashref()
thanks to Zhuang (John) Li for polishing up my draft.
Added registered driver prefixes: amzn_ for DBD::Amazon and yaswi_ for DBD::Yaswi.</pre>
<p>
</p>
<h2><a name="changes_in_dbi_1_47__svn_rev_854___2nd_february_2005">Changes in DBI 1.47 (svn rev 854), 2nd February 2005</a></h2>
<pre>
Fixed DBI::ProxyServer to not create pid files by default.
References: Ubuntu Security Notice USN-70-1, CAN-2005-0077
Thanks to Javier Fern醤dez-Sanguino Pe馻 from the
Debian Security Audit Project, and Jonathan Leffler.
Fixed some tests to work with older Test::More versions.
Fixed setting $DBI::err/errstr in DBI::PurePerl.
Fixed potential undef warning from connect_cached().
Fixed $DBI::lasth handling for DESTROY so lasth points to
parent even if DESTROY called other methods.
Fixed DBD::Proxy method calls to not alter $@.
Fixed DBD::File problem with encoding pragma thanks to Erik Rijkers.</pre>
<pre>
<span class="variable">Changed</span> <span class="variable">error</span> <span class="variable">handling</span> <span class="variable">so</span> <span class="keyword">undef</span> <span class="variable">errstr</span> <span class="variable">doesn't</span> <span class="variable">cause</span> <span class="variable">warning</span><span class="operator">.</span>
<span class="variable">Changed</span> <span class="variable">DBI::DBD</span> <span class="variable">docs</span> <span class="variable">to</span> <span class="keyword">use</span> <span class="operator">=</span><span class="variable">head3</span><span class="operator">/=</span><span class="variable">head4</span> <span class="variable">pod</span> <span class="variable">thanks</span> <span class="variable">to</span>
<span class="variable">Jonathan</span> <span class="variable">Leffler</span><span class="operator">.</span> <span class="variable">This</span> <span class="variable">may</span> <span class="variable">generate</span> <span class="variable">warnings</span> <span class="keyword">for</span> <span class="variable">perl</span> <span class="number">5.6</span><span class="operator">.</span>
<span class="variable">Changed</span> <span class="variable">DBI::PurePerl</span> <span class="variable">to</span> <span class="variable">set</span> <span class="variable">autoflush</span> <span class="variable">on</span> <span class="variable">trace</span> <span class="variable">filehandle</span><span class="operator">.</span>
<span class="variable">Changed</span> <span class="variable">DBD::Proxy</span> <span class="variable">to</span> <span class="variable">treat</span> <span class="variable">Username</span> <span class="variable">as</span> <span class="variable">a</span> <span class="keyword">local</span> <span class="variable">attribute</span>
<span class="variable">so</span> <span class="variable">recent</span> <span class="variable">DBI</span> <span class="variable">version</span> <span class="variable">can</span> <span class="variable">be</span> <span class="variable">used</span> <span class="variable">with</span> <span class="variable">old</span> <span class="variable">DBI::ProxyServer</span><span class="operator">.</span>
<span class="variable">Changed</span> <span class="variable">driver</span> <span class="variable">handle</span> <span class="variable">caching</span> <span class="variable">in</span> <span class="variable">DBD::File</span><span class="operator">.</span>
<span class="variable">Added</span> <span class="variable">$GetInfoType</span><span class="operator">{</span><span class="string">SQL_DATABASE_NAME</span><span class="operator">}</span> <span class="variable">thanks</span> <span class="variable">to</span> <span class="variable">Steffen</span> <span class="variable">Goeldner</span><span class="operator">.</span>
</pre>
<pre>
Updated docs to recommend some common DSN string attributes.
Updated connect_cached() docs with issues and suggestions.
Updated docs for NULL Value placeholders thanks to Brian Campbell.
Updated docs for primary_key_info and primary_keys.
Updated docs to clarify that the default fetchrow_hashref behaviour,
of returning a ref to a new hash for each row, will not change.
Updated err/errstr/state docs for DBD authors thanks to Steffen Goeldner.
Updated handle/attribute docs for DBD authors thanks to Steffen Goeldner.
Corrected and updated LongReadLen docs thanks to Bart Lateur.
Added DBD::JDBC as a registered driver.</pre>
<p>
</p>
<h2><a name="changes_in_dbi_1_46__svn_rev_584___16th_november_2004">Changes in DBI 1.46 (svn rev 584), 16th November 2004</a></h2>
<pre>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -