doquedb.driver package

Submodules

doquedb.driver.connection module

connection.py – DB-API 2.0 のコネクションクラス

class doquedb.driver.connection.Connection(hostname: str, portnum: int, protocol_ver: int, session: Session, user: str | None, password: str | None, master_id: int, charset: str, autocommit: bool = False)

Bases: object

DB-API 2.0 のコネクションクラス. 特定のデータベースとの接続 (セッション) を表現します。

Parameters:
  • hostname (str) – ホスト名

  • portnum (int) – ポート番号

  • protocol_ver (int) – プロトコルバージョン

  • session (Session) – セッション

  • user (str) – ユーザー名

  • password (str) – パスワード

  • master_id (int) – マスターID

  • charset (str) – 文字セット

  • autocommit (bool) – オートコミットのオンオフ. デフォルトはFalse

info

ホスト名、ポート番号、プロトコルバージョンのリスト

Type:

list

_session

セッション

Type:

Session

username

ユーザー名

Type:

str

password

パスワード

Type:

str

master_id

マスターID

Type:

int

charset

文字セット

Type:

str

in_autocommit

オートコミットのオンオフ

Type:

bool

is_closed

クローズしたかどうか

Type:

bool

readonly

読込み専用モードかどうか

Type:

bool

in_transaction

トランザクション中かどうか

Type:

bool

isolation_level

トランザクション遮断レベル

Type:

bool

begin_transaction(transaction_mode: int | None = None) None

トランザクションを開始する.

Parameters:

transaction_mode

obj:

`TransactionMode`内のいずれかのトランザクションモード

Notes

このメソッドは自動コミットモードが無効の時にのみ使用する.

property charset: str

文字コードのゲッター.

close() None

セッションのクローズ

自動解除を待たずにDoqueDBとのセッションのクローズ処理を直ちに行う。

commit() None

現在のトランザクションをコミットする.

Raises:
  • ProgrammingError – プログラミングの誤りによって発生するエラー

  • InterfaceError – 通信プロトコル周りのエラー時に発生

cursor(prepared: bool | None = False) Cursor

カーソルの生成

データベース操作のためのカーソルオブジェクトを生成する

Parameters:

prepared (Optional[bool]) – プリペアードステートメント利用フラグ. デフォルトはFalse

Returns:

カーソルオブジェクト

Return type:

Cursor

Raises:

ProgrammingError – 複数のカーソルを作成しようとした場合に発生

Notes

カーソルはコネクションに対して1つしか作成できない。 複数のカーソルを同時に作成したい場合はコネクションを新しく生成する必要がある。

property in_transaction: bool

トランザクションのオンオフのゲッター

property info: tuple

接続情報(ホスト名, ポート番号, プロトコルバージョン)のタプル

property is_autocommit: bool

オートコミットのオンオフのゲッター

property isolation_level: int

“トランザクション遮断レベルのゲッター

isolevel

alias of TransactionIsolationLevel

property master_id: int

マスターIDのゲッター

mode

alias of TransactionMode

property password: str | None

パスワードのゲッター

property readonly: bool

“読込み専用モードかどうか

rollback() None

現在のトランザクションをロールバックする.

Raises:

exceptions.InterfaceError – 通信プロトコル周りのエラー時に発生

set_readonly(readonly_: bool) None

読込み専用モードをセットする.

Parameters:

readonly (bool) – 読込み専用モードの設定値

Raises:
set_transaction_isolation(isolation_level: int) None

トランザクション遮断レベルを指定されたものに変更する.

Parameters:

isolation_level (int) –

obj:

`TransactionIsolationLevel`内のいずれかの定数値

Raises:
property username: str | None

ユーザー名のゲッター

class doquedb.driver.connection.TransactionIsolationLevel(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

トランザクション遮断レベルの列挙型クラス

TRANSACTION_READ_COMMITTED = 2
TRANSACTION_READ_UNCOMMITTED = 1
TRANSACTION_REPEATABLE_READ = 4
TRANSACTION_SERIALIZABLE = 8
TRANSACTION_USING_SNAPSHOT = 256
class doquedb.driver.connection.TransactionMode(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

トランザクションモードの列挙型クラス

TRANSACTION_MODE_READ_ONLY = 2
TRANSACTION_MODE_READ_ONLY_USING_SNAPSHOT = 3
TRANSACTION_MODE_READ_WRITE = 1

doquedb.driver.cursor module

cursor.py – DB-API 2.0 のカーソルクラス

class doquedb.driver.cursor.Cursor(connection: Connection)

Bases: object

カーソルクラス.

接続したデータベースとのセッションに対するカーソル機能を実装する.

__connection (

Obj: Connection): DB-APIのコネクションオブジェクト

arraysize

fetchmany()で何行フェッチするかの設定変数. Defaults to 1

Type:

int

_rowcount

フェッチした結果に対するカーソルの位置. オペレーションがない場合は-1。

Type:

int

_description

フェッチした行のカラムごとの特性を表す7つのシーケンスを、カラム数の分だけ保持するリスト. オペレーションがない場合はNone.

Type:

list

__metadata

メタデータ

__resultset

リザルトセット

Type:

Optional[ResultSet]

property arraysize: int
callproc(procname: str, parameters: list) None

ストアドプロシージャを呼び出す.

Parameters:
  • procname (str) – ストアドプロシージャ名

  • parameters (list) – 埋め込むパラメータのシーケンス.

Raises:

NotSupportedError – サポート外のメソッド呼び出し時に発生

Notes

DoqueDBはストアドプロシージャをサポートしていない.

cancel() None

実行をキャンセルする.

close() None

カーソルオブジェクトをクローズする.

property description: list

カラムごとの特性を表す7つのシーケンスのリストのゲッター

execute(operation: str, parameters: Tuple | None = None) None

オペレーションの実行メソッド.

Parameters:
  • operation (str) – 実行するSQL文.

  • parameters (Optional[Tuple[Any]]) – SQL文に埋め込むパラメータのシーケンス.

Raises:

ProgrammingError – paramstyleがqmark以外だった場合に発生

executemany(operation: str, param_sets: list) None

複数のオペレーションの実行メソッド.

受け取ったシーケンスの数だけオペレーションを実行する。

Parameters:
  • operation (str) – 実行するSQL文.

  • param_sets (list) – SQL文に埋め込むパラメータのシーケンスのシーケンス.

Examples

テーブル(test_table)に対してインサートを2回行う場合の例

>>> query = "INSERT INTO test_table VALUES (?, ?, ?)"
>>> param_sets = [(1, 'MONA', 3000), (2, 'XP', 1000),]
>>> executemany(query, param_sets)
fetchall() list | None

残っているリザルトセットを全て取得する.

Returns:

取得した行のリスト. Defaults to None.

Return type:

rows (list)

fetchmany(size: int = None) list | None

リザルトセットを複数行取得する.

size に指定された数だけ結果をフェッチする. size が指定されなかった場合 .arraysize を参照する.

Parameters:

size (int, optional) – 取得する行数. Defaults to None.

Returns:

取得した行のリスト.

Return type:

rows (list)

fetchone() tuple | None

リザルトセットの次の行を取得する.

Returns:

取得した行. 取得する行がなくなった場合 None.

Return type:

Optional[tuple]

property is_closed: bool

カーソルを閉じたかどうか

property rowcount: int

行番号のゲッター

setinputsize(sizes: list) None

.execute に渡すパラメータのためのメモリ領域を準備する.

Parameters:

sizes (list) – パラメータごとの型を保持するシーケンス.

Raises:

NotSupportedError – サポート外のメソッド呼び出し時に発生

Notes

未実装

setoutputsize(size: int, column=None) None

サイズが大きいカラムのためにバッファーを定義する.

Parameters:
  • size (int) – バッファーサイズ

  • column – バッファーを設定するカラム. Defaults to None.

Raises:

NotSupportedError – サポート外のメソッド呼び出し時に発生

Notes

未実装

class doquedb.driver.cursor.CursorPrepared(connection: Connection)

Bases: Cursor

プリペアステートメントに対応したカーソルクラス.

execute(operation: str, parameters: Tuple | None = None) None

オペレーションの実行メソッド.

Parameters:
  • operation (str) – 実行するSQL文.

  • parameters (Optional[Tuple[Any]]) – SQL文に埋め込むパラメータのシーケンス.

Raises:

ProgrammingError – paramstyleがqmark以外だった場合に発生

doquedb.driver.dbapi module

dbapi.py – DB-API 2.0 (PEP-249) の型オブジェクトやコンストラクタの実装モジュール

doquedb.driver.dbapi.DateFromTicks(ticks)
doquedb.driver.dbapi.ROWID

コンストラクタ

Binary (BINARY) Date (datetime.date) Time (datetime.time) TimeStamp (datetime.datetime) Language (LanguageData) Decimal (DecimalData)

doquedb.driver.dbapi.TimeFromTicks(ticks)
doquedb.driver.dbapi.TimestampFromTicks(ticks)
doquedb.driver.dbapi.paramstyle = 'qmark'

型オブジェクト

STRING (str): データベースの文字列カラムの型 BINARY (bytes): データベースのバイナリカラムの型 NUMBER (float)): データベースの数値カラムの型 DATETIME (datetime.datetime): データベースの日付/時間カラムの型 DECIMAL (DecimalData): データベースの”Decimal”カラムの型 LANGUAGE (LanguageData): データベースの言語カラムの型 WORD (WordData): データベースの単語タイプの索引の型 ROWID (int): データベースの”Row ID”カラムの型

Module contents

driver – DoqueDBアクセス用のドライバーパッケージ

doquedb.driver.connect_(hostname: str, portnum: int, dbname: str, charset: str, autocommit: bool, user: str | None = None, password: str | None = None) Connection

DoqueDBと接続する.

Parameters:
  • hostname (str) – ホスト名

  • portnum (int) – ポート番号

  • dbname (int) – データベース名

  • charset (str) – 文字セット

  • autocommit (bool) – オートコミット. デフォルトはFalse

  • user (str) – ユーザー名

  • password (str) – パスワード

Returns:

Connectionオブジェクト

Return type:

Connection