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
- 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:
- 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
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
メタデータ
- 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: