pytho****@googl*****
pytho****@googl*****
2011年 11月 24日 (木) 10:19:49 JST
2 new revisions: Revision: 8a46ab015bc4 Author: cocoatomo <cocoa****@gmail*****> Date: Wed Nov 23 17:13:15 2011 Log: library/sqlite3.rst translation completed http://code.google.com/p/python-doc-ja/source/detail?r=8a46ab015bc4 Revision: f2ca6c5bf9ab Author: cocoatomo <cocoa****@gmail*****> Date: Wed Nov 23 17:17:32 2011 Log: merge http://code.google.com/p/python-doc-ja/source/detail?r=f2ca6c5bf9ab ============================================================================== Revision: 8a46ab015bc4 Author: cocoatomo <cocoa****@gmail*****> Date: Wed Nov 23 17:13:15 2011 Log: library/sqlite3.rst translation completed http://code.google.com/p/python-doc-ja/source/detail?r=8a46ab015bc4 Modified: /library/sqlite3.rst ======================================= --- /library/sqlite3.rst Fri Mar 25 07:12:18 2011 +++ /library/sqlite3.rst Wed Nov 23 17:13:15 2011 @@ -84,7 +84,7 @@ >>> for row in c: ... print row ... - (u'2006-01-05', u'BUY', u'RHAT', 100, 35.140000000000001) + (u'2006-01-05', u'BUY', u'RHAT', 100, 35.14) (u'2006-03-28', u'BUY', u'IBM', 1000, 45.0) (u'2006-04-06', u'SELL', u'IBM', 500, 53.0) (u'2006-04-05', u'BUY', u'MSOFT', 1000, 72.0) @@ -143,7 +143,7 @@ 読み取るのはカラム名の中の最初の空白までの全てですので、カラム名として使 われるのは単純に "x" ということになります。 -.. function:: connect(database[, timeout, isolation_level, detect_types, factory]) +.. function:: connect(database[, timeout, detect_types, isolation_level, check_same_thread, factory, cached_statements]) ファイル *database* の SQLite データベースへの接続を開きます。 ``":memory:"`` という名前を使うことでディスクの代わりに RAM 上のデータベースへの接続を開くこともできます。 @@ -383,6 +383,23 @@ *handler* 引数に :const:`None` を渡して呼び出してください。 +.. method:: Connection.enable_load_extension(enabled) + + .. versionadded:: 2.7 + + このメソッドは SQLite エンジンが共有ライブラリから SQLite 拡張を読み込む のを許可したり、禁止したりします。 + SQLite 拡張は新しい関数や集計関数や仮想テーブルの実装を定義できます。 + 1つの有名な拡張は SQLite によって頒布されている全テキスト検索拡張です。 + + .. literalinclude:: ../includes/sqlite3/load_extension.py + +.. method:: Connection.load_extension(path) + + .. versionadded:: 2.7 + + このメソッドは共有ライブラリから SQLite 拡張を読み込みます。 + このメソッドを使う前に :meth:`enable_load_extension` で拡張の読み込みを 許可しておかなくてはなりません。 + .. attribute:: Connection.row_factory この属性を、カーソルとタプルの形での元の行のデータを受け取り最終的な行を 表す @@ -459,11 +476,9 @@ カーソルオブジェクト ==================== -.. class: Cursor - - .. A SQLite database cursor has the following attributes and methods: - - SQLite データベースのカーソルクラス。以下の属性やメソッドを持ちます。 +.. class:: Cursor + + :class:`Cursor` インスタンスは以下の属性やメソッドを持ちます。 .. method:: Cursor.execute(sql, [parameters]) @@ -665,7 +680,7 @@ >>> type(r) <type 'sqlite3.Row'> >>> r - (u'2006-01-05', u'BUY', u'RHAT', 100.0, 35.140000000000001) + (u'2006-01-05', u'BUY', u'RHAT', 100.0, 35.14) >>> len(r) 5 >>> r[2] @@ -920,3 +935,16 @@ トランザクションはコミットされます。 .. literalinclude:: ../includes/sqlite3/ctx_manager.py + + +既知の問題 +========== + +マルチスレッド +-------------- + +古いバージョンの SQLite はスレッド間でのコネクションの共有に問題がありまし た。 +その理由は、Python のモジュールではスレッド間のコネクションとカーソルの共有 ができないためです。 +依然としてそのようなことをしようとすると、実行時に例外を受け取るでしょう。 + +唯一の例外は :meth:`~Connection.interrupt` メソッドで、これだけが異なるスレ ッドから呼び出せます。 ============================================================================== Revision: f2ca6c5bf9ab Author: cocoatomo <cocoa****@gmail*****> Date: Wed Nov 23 17:17:32 2011 Log: merge http://code.google.com/p/python-doc-ja/source/detail?r=f2ca6c5bf9ab