⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changes.html

📁 perl教程
💻 HTML
📖 第 1 页 / 共 5 页
字号:
  <span class="variable">Changed</span> <span class="variable">ShowErrorStatement</span> <span class="variable">to</span> <span class="variable">apply</span> <span class="variable">to</span> <span class="variable">more</span> <span class="variable">$dbh</span> <span class="variable">methods</span><span class="operator">.</span>
  <span class="variable">Changed</span> <span class="variable">DBI_TRACE</span> <span class="variable">env</span> <span class="variable">var</span> <span class="variable">so</span> <span class="variable">just</span> <span class="variable">does</span> <span class="variable">this</span> <span class="variable">at</span> <span class="variable">load</span> <span class="keyword">time</span><span class="operator">:</span>
    <span class="variable">DBI</span><span class="operator">-&gt;</span><span class="variable">trace</span><span class="operator">(</span><span class="keyword">split</span> <span class="string">'='</span><span class="operator">,</span> <span class="variable">$ENV</span><span class="operator">{</span><span class="string">DBI_TRACE</span><span class="operator">}</span><span class="operator">,</span> <span class="number">2</span><span class="operator">);</span>
  <span class="variable">Improved</span> <span class="string">"invalid number of parameters"</span> <span class="variable">error</span> <span class="variable">message</span><span class="operator">.</span>
  <span class="variable">Added</span> <span class="variable">DBI::common</span> <span class="variable">as</span> <span class="variable">base</span> <span class="variable">class</span> <span class="keyword">for</span> <span class="variable">DBI::db</span><span class="operator">,</span> <span class="variable">DBD::st</span> <span class="variable">etc</span><span class="operator">.</span>
  <span class="variable">Moved</span> <span class="variable">methods</span> <span class="variable">common</span> <span class="variable">to</span> <span class="variable">all</span> <span class="variable">handles</span> <span class="variable">into</span> <span class="variable">DBI::common</span><span class="operator">.</span>
</pre>
<pre>
  Major tracing enhancement:</pre>
<pre>
  <span class="variable">Added</span> <span class="variable">$h</span><span class="operator">-&gt;</span><span class="variable">parse_trace_flags</span><span class="operator">(</span><span class="string">"foo|SQL|7"</span><span class="operator">)</span> <span class="variable">to</span> <span class="keyword">map</span> <span class="variable">a</span> <span class="variable">group</span> <span class="variable">of</span>
    <span class="variable">trace</span> <span class="variable">flags</span> <span class="variable">into</span> <span class="variable">the</span> <span class="variable">corresponding</span> <span class="variable">trace</span> <span class="variable">flag</span> <span class="variable">bits</span><span class="operator">.</span>
  <span class="variable">Added</span> <span class="variable">automatic</span> <span class="variable">calling</span> <span class="variable">of</span> <span class="variable">parse_trace_flags</span><span class="operator">()</span> <span class="keyword">if</span>
    <span class="variable">setting</span> <span class="variable">the</span> <span class="variable">trace</span> <span class="variable">level</span> <span class="variable">to</span> <span class="variable">a</span> <span class="variable">non</span><span class="operator">-</span><span class="variable">numeric</span> <span class="variable">value</span><span class="operator">:</span>
    <span class="variable">$h</span><span class="operator">-&gt;</span><span class="operator">{</span><span class="string">TraceLevel</span><span class="operator">}</span><span class="operator">=</span><span class="string">"foo|SQL|7"</span><span class="operator">;</span> <span class="variable">$h</span><span class="operator">-&gt;</span><span class="variable">trace</span><span class="operator">(</span><span class="string">"foo|SQL|7"</span><span class="operator">);</span>
    <span class="variable">DBI</span><span class="operator">-&gt;</span><span class="keyword">connect</span><span class="operator">(</span><span class="string">"dbi:Driver(TraceLevel=SQL|foo):..."</span><span class="operator">,</span> <span class="operator">...);</span>
    <span class="variable">Currently</span> <span class="keyword">no</span> <span class="variable">trace</span> <span class="variable">flags</span> <span class="variable">have</span> <span class="variable">been</span> <span class="keyword">defined</span><span class="operator">.</span>
  <span class="variable">Added</span> <span class="variable">to</span><span class="operator">,</span> <span class="keyword">and</span> <span class="variable">reworked</span><span class="operator">,</span> <span class="variable">the</span> <span class="variable">trace</span> <span class="variable">documentation</span><span class="operator">.</span>
  <span class="variable">Added</span> <span class="variable">dbivport</span><span class="operator">.</span><span class="variable">h</span> <span class="keyword">for</span> <span class="variable">driver</span> <span class="variable">authors</span> <span class="variable">to</span> <span class="keyword">use</span><span class="operator">.</span>
</pre>
<pre>
  Major driver additions that Jeff Zucker and I have been working on:</pre>
<pre>
  Added DBI::SQL::Nano a 'smaller than micro' SQL parser
    with an SQL::Statement compatible API. If SQL::Statement
    is installed then DBI::SQL::Nano becomes an empty subclass
    of SQL::Statement, unless the DBI_SQL_NANO env var is true.
  Added DBD::File, modified to use DBI::SQL::Nano.
  Added DBD::DBM, an SQL interface to DBM files using DBD::File.</pre>
<pre>
  Documentation changes:</pre>
<pre>
  Corrected typos in docs thanks to Steffen Goeldner.
  Corrected execute_for_fetch example thanks to Dean Arnold.</pre>
<p>
</p>
<h2><a name="changes_in_dbi_1_41__svn_rev_130___22nd_february_2004">Changes in DBI 1.41 (svn rev 130),    22nd February 2004</a></h2>
<pre>
  <span class="variable">Fixed</span> <span class="variable">execute_for_array</span><span class="operator">()</span> <span class="variable">so</span> <span class="variable">tuple_status</span> <span class="variable">parameter</span> <span class="variable">is</span> <span class="variable">optional</span>
    <span class="variable">as</span> <span class="variable">per</span> <span class="variable">docs</span><span class="operator">,</span> <span class="variable">thanks</span> <span class="variable">to</span> <span class="variable">Ed</span> <span class="variable">Avis</span><span class="operator">.</span>
  <span class="variable">Fixed</span> <span class="variable">execute_for_array</span><span class="operator">()</span> <span class="variable">docs</span> <span class="variable">to</span> <span class="variable">say</span> <span class="variable">that</span> <span class="variable">it</span> <span class="variable">returns</span> <span class="keyword">undef</span> <span class="keyword">if</span>
    <span class="variable">any</span> <span class="variable">of</span> <span class="variable">the</span> <span class="variable">execute</span><span class="operator">()</span> <span class="variable">calls</span> <span class="variable">fail</span><span class="operator">.</span>
  <span class="variable">Fixed</span> <span class="variable">take_imp_data</span><span class="operator">()</span> <span class="variable">test</span> <span class="variable">on</span> <span class="variable">m68k</span> <span class="variable">reported</span> <span class="variable">by</span> <span class="variable">Christian</span> <span class="variable">Hammers</span><span class="operator">.</span>
  <span class="variable">Fixed</span> <span class="variable">write_typeinfo_pm</span> <span class="variable">inconsistencies</span> <span class="variable">in</span> <span class="variable">DBI::DBD::Metadata</span>
    <span class="variable">thanks</span> <span class="variable">to</span> <span class="variable">Andy</span> <span class="variable">Hassall</span><span class="operator">.</span>
  <span class="variable">Fixed</span> <span class="variable">$h</span><span class="operator">-&gt;</span><span class="operator">{</span><span class="string">TraceLevel</span><span class="operator">}</span> <span class="variable">to</span> <span class="keyword">not</span> <span class="keyword">return</span> <span class="variable">DBI</span><span class="operator">-&gt;</span><span class="variable">trace</span> <span class="variable">trace</span> <span class="variable">level</span>
    <span class="variable">which</span> <span class="variable">it</span> <span class="variable">used</span> <span class="variable">to</span> <span class="keyword">if</span> <span class="variable">DBI</span><span class="operator">-&gt;</span><span class="variable">trace</span> <span class="variable">trace</span> <span class="variable">level</span> <span class="variable">was</span> <span class="variable">higher</span><span class="operator">.</span>
</pre>
<pre>
  Changed set_err() to append to errstr, with a leading &quot;\n&quot; if it's
    not empty, so that multiple error/warning messages are recorded.
  Changed trace to limit elements dumped when an array reference is
    returned from a method to the max(40, $DBI::neat_maxlen/10)
    so that fetchall_arrayref(), for example, doesn't flood the trace.
  Changed trace level to be a four bit integer (levels 0 thru 15)
    and a set of topic flags (no topics have been assigned yet).
  Changed column_info() to check argument count.
  Extended bind_param() TYPE attribute specification to imply
    standard formating of value, eg SQL_DATE implies 'YYYY-MM-DD'.</pre>
<pre>
  <span class="variable">Added</span> <span class="variable">way</span> <span class="keyword">for</span> <span class="variable">drivers</span> <span class="variable">to</span> <span class="variable">indicate</span> <span class="string">'success with info'</span> <span class="keyword">or</span> <span class="string">'warning'</span>
    <span class="variable">by</span> <span class="variable">setting</span> <span class="variable">err</span> <span class="variable">to</span> <span class="string">"0"</span> <span class="keyword">for</span> <span class="variable">warning</span> <span class="keyword">and</span> <span class="string">""</span> <span class="keyword">for</span> <span class="variable">information</span><span class="operator">.</span>
    <span class="variable">Both</span> <span class="keyword">values</span> <span class="variable">are</span> <span class="variable">false</span> <span class="keyword">and</span> <span class="variable">so</span> <span class="variable">don't</span> <span class="variable">trigger</span> <span class="variable">RaiseError</span> <span class="variable">etc</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="keyword">for</span> <span class="variable">the</span> <span class="variable">original</span> <span class="variable">idea</span><span class="operator">.</span>
  <span class="variable">Added</span> <span class="variable">$h</span><span class="operator">-&gt;</span><span class="operator">{</span><span class="string">HandleSetErr</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">to</span> <span class="variable">be</span> <span class="variable">called</span> <span class="variable">at</span> <span class="variable">the</span>
    <span class="variable">point</span> <span class="variable">that</span> <span class="variable">an</span> <span class="variable">error</span><span class="operator">,</span> <span class="keyword">warn</span><span class="operator">,</span> <span class="keyword">or</span> <span class="variable">info</span> <span class="variable">state</span> <span class="variable">is</span> <span class="variable">recorded</span><span class="operator">.</span>
    <span class="variable">The</span> <span class="variable">code</span> <span class="variable">can</span> <span class="variable">alter</span> <span class="variable">the</span> <span class="variable">err</span><span class="operator">,</span> <span class="variable">errstr</span><span class="operator">,</span> <span class="keyword">and</span> <span class="variable">state</span> <span class="keyword">values</span>
    <span class="operator">(</span><span class="variable">e</span><span class="operator">.</span><span class="variable">g</span><span class="operator">.,</span> <span class="variable">to</span> <span class="variable">promote</span> <span class="variable">an</span> <span class="variable">error</span> <span class="variable">to</span> <span class="variable">a</span> <span class="variable">warning</span><span class="operator">,</span> <span class="keyword">or</span> <span class="variable">the</span> <span class="keyword">reverse</span><span class="operator">).</span>
  <span class="variable">Added</span> <span class="variable">$h</span><span class="operator">-&gt;</span><span class="operator">{</span><span class="string">PrintWarn</span><span class="operator">}</span> <span class="variable">attribute</span> <span class="variable">to</span> <span class="variable">enable</span> <span class="variable">printing</span> <span class="variable">of</span> <span class="variable">warnings</span>
    <span class="variable">recorded</span> <span class="variable">by</span> <span class="variable">the</span> <span class="variable">driver</span><span class="operator">.</span> <span class="variable">Defaults</span> <span class="variable">to</span> <span class="variable">same</span> <span class="variable">value</span> <span class="variable">as</span> <span class="variable">$^W</span> <span class="operator">(</span><span class="variable">perl</span> <span class="keyword">-w</span><span class="operator">).</span>
  <span class="variable">Added</span> <span class="variable">$h</span><span class="operator">-&gt;</span><span class="operator">{</span><span class="string">ErrCount</span><span class="operator">}</span> <span class="variable">attribute</span><span class="operator">,</span> <span class="variable">incremented</span> <span class="variable">whenever</span> <span class="variable">an</span> <span class="variable">error</span> <span class="variable">is</span>
    <span class="variable">recorded</span> <span class="variable">by</span> <span class="variable">the</span> <span class="variable">driver</span> <span class="variable">via</span> <span class="variable">set_err</span><span class="operator">().</span>
  <span class="variable">Added</span> <span class="variable">$h</span><span class="operator">-&gt;</span><span class="operator">{</span><span class="string">Executed</span><span class="operator">}</span> <span class="variable">attribute</span><span class="operator">,</span> <span class="variable">set</span> <span class="keyword">if</span> <span class="keyword">do</span><span class="operator">()/</span><span class="variable">execute</span><span class="operator">()</span> <span class="variable">called</span><span class="operator">.</span>
  <span class="variable">Added</span> <span class="operator">\</span><span class="variable">%attr</span> <span class="variable">parameter</span> <span class="variable">to</span> <span class="variable">foreign_key_info</span><span class="operator">()</span> <span class="variable">method</span><span class="operator">.</span>
  <span class="variable">Added</span> <span class="keyword">ref</span> <span class="variable">count</span> <span class="variable">of</span> <span class="variable">inner</span> <span class="variable">handle</span> <span class="variable">to</span> <span class="string">"DESTROY ignored for outer"</span> <span class="variable">msg</span><span class="operator">.</span>
  <span class="variable">Added</span> <span class="variable">Win32</span> <span class="variable">build</span> <span class="variable">config</span> <span class="variable">checks</span> <span class="variable">to</span> <span class="variable">DBI::DBD</span> <span class="variable">thanks</span> <span class="variable">to</span> <span class="variable">Andy</span> <span class="variable">Hassall</span><span class="operator">.</span>
  <span class="variable">Added</span> <span class="variable">bind_col</span> <span class="variable">to</span> <span class="variable">Driver</span><span class="operator">.</span><span class="variable">xst</span> <span class="variable">so</span> <span class="variable">drivers</span> <span class="variable">can</span> <span class="variable">define</span> <span class="variable">their</span> <span class="variable">own</span><span class="operator">.</span>
  <span class="variable">Added</span> <span class="variable">TYPE</span> <span class="variable">attribute</span> <span class="variable">to</span> <span class="variable">bind_col</span> <span class="keyword">and</span> <span class="variable">specified</span> <span class="variable">the</span> <span class="variable">expected</span>
    <span class="variable">driver</span> <span class="variable">behaviour</span><span class="operator">.</span>
</pre>
<pre>
  <span class="variable">Major</span> <span class="variable">update</span> <span class="variable">to</span> <span class="variable">signal</span> <span class="variable">handling</span> <span class="variable">docs</span> <span class="variable">thanks</span> <span class="variable">to</span> <span class="variable">Lincoln</span> <span class="variable">Baxter</span><span class="operator">.</span>
  <span class="variable">Corrected</span> <span class="variable">dbiproxy</span> <span class="variable">usage</span> <span class="variable">doc</span> <span class="variable">thanks</span> <span class="variable">to</span> <span class="variable">Christian</span> <span class="variable">Hammers</span><span class="operator">.</span>
  <span class="variable">Corrected</span> <span class="variable">type_info_all</span> <span class="keyword">index</span> <span class="variable">hash</span> <span class="variable">docs</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>
  <span class="variable">Corrected</span> <span class="variable">type_info</span> <span class="variable">COLUMN_SIZE</span> <span class="variable">to</span> <span class="variable">chars</span> <span class="keyword">not</span> <span class="variable">bytes</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">Corrected</span> <span class="variable">get_info</span><span class="operator">()</span> <span class="variable">docs</span> <span class="variable">to</span> <span class="variable">include</span> <span class="variable">details</span> <span class="variable">of</span> <span class="variable">DBI::Const::GetInfoType</span><span class="operator">.</span>
  <span class="variable">Clarified</span> <span class="variable">that</span> <span class="variable">$sth</span><span class="operator">-&gt;</span><span class="operator">{</span><span class="string">PRECISION</span><span class="operator">}</span> <span class="variable">is</span> <span class="variable">OCTET_LENGTH</span> <span class="keyword">for</span> <span class="variable">char</span> <span class="variable">types</span><span class="operator">.</span>
</pre>
<p>
</p>
<h2><a name="changes_in_dbi_1_40__7th_january_2004">Changes in DBI 1.40,    7th January 2004</a></h2>
<pre>
  <span class="variable">Fixed</span> <span class="variable">handling</span> <span class="variable">of</span> <span class="variable">CachedKids</span> <span class="variable">when</span> <span class="variable">DESTROYing</span> <span class="variable">threaded</span> <span class="variable">handles</span><span class="operator">.</span>
  <span class="variable">Fixed</span> <span class="variable">sql_user_name</span><span class="operator">()</span> <span class="variable">in</span> <span class="variable">DBI::DBD::Metadata</span> <span class="operator">(</span><span class="variable">used</span> <span class="variable">by</span> <span class="variable">write_getinfo_pm</span><span class="operator">)</span>
    <span class="variable">to</span> <span class="keyword">use</span> <span class="variable">$dbh</sp

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -