doquedb.common package

Submodules

doquedb.common.abstracts module

abstracts.py – データ型をあらわすクラスの基底クラスのモジュール

class:

Data

class:

ArrayData

class:

ScalarData

class doquedb.common.abstracts.ArrayData(element_type: int)

Bases: Data, ABC

配列データ型をあらわすクラス共通の基底クラス.

Parameters:

element_type (int) – 配列要素の :obj: DataType

__element_type

配列要素の :obj: DataType

Type:

int

_array

配列データ

Type:

list

clear() None

全ての要素を削除.

property element_type: int

DataType)のゲッター.

Type:

配列要素のデータタイプ(

Type:

obj

class doquedb.common.abstracts.Data(type)

Bases: ABC

データ型をあらわすクラス共通の基底クラス.

Parameters:

type (int) – データタイプ

__type

データタイプ

Type:

int

property element_type: int

DataType)を得る.

Notes

常にUNDEFINDを返す. :obj: `ArrayData`で上書きする.

Type:

配列要素のデータタイプ(

Type:

obj

property type: int

DataType のゲッター.

Type:

データタイプ

Type:

obj

property value: Any

データが保持する値のゲッター

class doquedb.common.abstracts.ScalarData(type_: int)

Bases: Data, ABC

スカラーデータ型をあらわすクラス共通の基底クラス.

Parameters:

type – データタイプ

doquedb.common.arraydata module

arraydata.py – :class: ArrayData を基底とするクラスの実装モジュール.

class:

DataArrayData

class:

IntegerArrayData

class:

ResultSetMetaData

class:

StringArrayData

class doquedb.common.arraydata.DataArrayData(value: DataArrayData | None = None)

Bases: ArrayData, Serializable

Data配列型をあらわすクラス.

Parameters:

value (Optional[DataArrayData]) – 値

_array

配列

Type:

list

add_element(element_: Data) None

配列の末尾に要素を追加する.

Parameters:

element (Data) – 挿入される要素

property array: List[Data]

``self._array``のゲッター

assign(data: DataArrayData) None

中身をアサインする

Parameters:

data (DataArrayData) – アサインするデータ

property class_id: int

クラスIDのゲッター.

clone() object

オブジェクトのコピーを作成して返す.

Returns:

コピーされたオブジェクト

Return type:

object

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.arraydata.IntegerArrayData(value: List[IntegerData] | IntegerArrayData = None)

Bases: ArrayData, Serializable

int配列型をあらわすクラス.

Parameters:

value (Optional['IntegerArrayData']) – 値

_array

配列

Type:

list

add_element(element_: IntegerData) None

配列の末尾に要素を追加する.

Parameters:

element (int) – 挿入される要素

property class_id: int

クラスIDのゲッター.

clone() object

オブジェクトのコピーを作成して返す.

Returns:

コピーされたオブジェクト

Return type:

object

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.arraydata.ResultSetMetaData(value: ResultSetMetaData | None = None)

Bases: ArrayData, Serializable

リザルトセットのメタデータをあらわすクラス.

Parameters:

value (Optional['ResultSetMetaData']) – 値

_array

配列

Type:

list

add_element(element_: ColumnMetaData) None

配列の末尾に要素を追加する.

Parameters:

element (ColumnMetaData) – 挿入される要素

property class_id: int

クラスIDのゲッター.

clone() object

オブジェクトのコピーを作成して返す.

Returns:

コピーされたオブジェクト

Return type:

object

create_tuple_data() DataArrayData

メタデータから適切なデータ型が格納されたDataArrayDataを得る.

Returns:

データ型が格納されたタプル

Return type:

DataArrayData

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.arraydata.StringArrayData(value: StringArrayData | None = None)

Bases: ArrayData, Serializable

string配列型をあらわすクラス.

Parameters:

value (Optional['StringArrayData']) – 値

_array

配列

Type:

list

add_element(element_: str) None

配列の末尾に要素を追加する.

Parameters:

element (str) – 挿入される要素

property class_id: int

クラスIDのゲッター.

clone() object

オブジェクトのコピーを作成して返す.

Returns:

コピーされたオブジェクト

Return type:

object

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

doquedb.common.constants module

constants.py – IDやタイプ値など定数定義のモジュール

dict:

class_ids

dict:

datatypes

dict:

sqltypes

class:

Language

class:

Country

class doquedb.common.constants.ClassID(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

DoqueDBのCommonのクラスID.

BINARY_DATA = 16
COLUMN_META_DATA = 27
COMPRESSED_BINARY_DATA = 22
COMPRESSED_STRING_DATA = 21
DATA_ARRAY_DATA = 15
DATE_DATA = 10
DATE_TIME_DATA = 11
DECIMAL_DATA = 8
DOUBLE_DATA = 7
ERROR_LEVEL = 30
EXCEPTION_DATA = 18
FLOAT_DATA = 6
INTEGER64_DATA = 4
INTEGER_ARRAY_DATA = 12
INTEGER_DATA = 2
LANGUAGE_DATA = 25
NONE = 0
NULL_DATA = 17
REQUEST = 24
RESULTSET_META_DATA = 28
STATUS = 1
STRING_ARRAY_DATA = 14
STRING_DATA = 9
UNSIGNED_INTEGER64_DATA = 5
UNSIGNED_INTEGER_ARRAY_DATA = 13
UNSIGNED_INTEGER_DATA = 3
WORD_DATA = 29
class doquedb.common.constants.Country

Bases: object

国・地域関連. ModCountry::iso3166 の各国・地域コードと同値のフィールドをもつ.

AD = 5
AE = 223
AF = 1
AG = 9
AI = 7
AL = 2
AM = 11
AN = 152
AO = 6
AQ = 8
AR = 10
AS = 4
AT = 14
AU = 13
AW = 12
AZ = 15
BA = 27
BB = 19
BD = 18
BE = 21
BF = 34
BG = 33
BH = 17
BI = 35
BJ = 23
BM = 24
BN = 32
BO = 26
BR = 30
BS = 16
BT = 25
BV = 29
BW = 28
BY = 20
BZ = 22
CA = 38
CC = 46
CD = 49
CF = 41
CG = 50
CH = 206
CI = 53
CK = 51
CL = 43
CM = 37
CN = 44
CO = 47
CR = 52
CU = 55
CV = 39
CX = 45
CY = 56
CZ = 57
DE = 82
DJ = 59
DK = 58
DM = 60
DO = 61
DZ = 3
EC = 63
EE = 68
EG = 64
EH = 236
ER = 67
ES = 197
ET = 69
FI = 73
FJ = 72
FK = 70
FM = 140
FO = 71
FR = 74
FX = 75
GA = 79
GB = 224
GD = 87
GE = 81
GF = 76
GH = 83
GI = 84
GL = 86
GM = 80
GN = 91
GP = 88
GQ = 66
GR = 85
GS = 196
GT = 90
GU = 89
GW = 92
GY = 93
HK = 97
HM = 95
HN = 96
HR = 54
HT = 94
HU = 98
ID = 101
IE = 104
IL = 105
IN = 100
IO = 31
IQ = 103
IR = 102
IS = 99
IT = 106
JM = 107
JO = 109
JP = 108
KE = 111
KG = 116
KH = 36
KI = 112
KM = 48
KN = 180
KP = 113
KR = 114
KW = 115
KY = 40
KZ = 110
LA = 117
LAST = 241
LB = 119
LC = 181
LI = 123
LK = 198
LR = 121
LS = 120
LT = 124
LU = 125
LV = 118
LY = 122
MA = 145
MC = 142
MD = 141
MG = 128
MH = 134
MK = 127
ML = 132
MM = 147
MN = 143
MO = 126
MP = 160
MQ = 135
MR = 136
MS = 144
MT = 133
MU = 137
MV = 131
MW = 129
MX = 139
MY = 130
MZ = 146
NA = 148
NC = 153
NE = 156
NF = 159
NG = 157
NI = 155
NL = 151
NO = 161
NP = 150
NR = 149
NU = 158
NZ = 154
OM = 162
PA = 166
PE = 169
PF = 77
PG = 167
PH = 170
PK = 163
PL = 172
PM = 200
PN = 171
PR = 174
PS = 165
PT = 173
PW = 164
PY = 168
QA = 175
RE = 176
RO = 177
RU = 178
RW = 179
SA = 186
SB = 193
SC = 188
SD = 201
SE = 205
SG = 190
SH = 199
SI = 192
SJ = 203
SK = 191
SL = 189
SM = 184
SN = 187
SO = 194
SR = 202
ST = 185
SV = 65
SY = 207
SZ = 204
TC = 219
TD = 42
TF = 78
TG = 212
TH = 211
TJ = 209
TK = 213
TL = 62
TM = 218
TN = 216
TO = 214
TR = 217
TT = 215
TV = 220
TW = 208
TZ = 210
UA = 222
UG = 221
UM = 226
UNDEFINED = 0
US = 225
UY = 227
UZ = 228
VA = 230
VC = 182
VE = 231
VG = 233
VI = 234
VN = 232
VU = 229
WF = 235
WS = 183
YE = 237
YT = 138
YU = 238
ZA = 195
ZM = 239
ZW = 240
code_symbol = ('undefined', 'af', 'al', 'dz', 'as', 'ad', 'ao', 'ai', 'aq', 'ag', 'ar', 'am', 'aw', 'au', 'at', 'az', 'bs', 'bh', 'bd', 'bb', 'by', 'be', 'bz', 'bj', 'bm', 'bt', 'bo', 'ba', 'bw', 'bv', 'br', 'io', 'bn', 'bg', 'bf', 'bi', 'kh', 'cm', 'ca', 'cv', 'ky', 'cf', 'td', 'cl', 'cn', 'cx', 'cc', 'co', 'km', 'cd', 'cg', 'ck', 'cr', 'ci', 'hr', 'cu', 'cy', 'cz', 'dk', 'dj', 'dm', 'do', 'tl', 'ec', 'eg', 'sv', 'gq', 'er', 'ee', 'et', 'fk', 'fo', 'fj', 'fi', 'fr', 'fx', 'gf', 'pf', 'tf', 'ga', 'gm', 'ge', 'de', 'gh', 'gi', 'gr', 'gl', 'gd', 'gp', 'gu', 'gt', 'gn', 'gw', 'gy', 'ht', 'hm', 'hn', 'hk', 'hu', 'is', 'in', 'id', 'ir', 'iq', 'ie', 'il', 'it', 'jm', 'jp', 'jo', 'kz', 'ke', 'ki', 'kp', 'kr', 'kw', 'kg', 'la', 'lv', 'lb', 'ls', 'lr', 'ly', 'li', 'lt', 'lu', 'mo', 'mk', 'mg', 'mw', 'my', 'mv', 'ml', 'mt', 'mh', 'mq', 'mr', 'mu', 'yt', 'mx', 'fm', 'md', 'mc', 'mn', 'ms', 'ma', 'mz', 'mm', 'na', 'nr', 'np', 'nl', 'an', 'nc', 'nz', 'ni', 'ne', 'ng', 'nu', 'nf', 'mp', 'no', 'om', 'pk', 'pw', 'ps', 'pa', 'pg', 'py', 'pe', 'ph', 'pn', 'pl', 'pt', 'pr', 'qa', 're', 'ro', 'ru', 'rw', 'kn', 'lc', 'vc', 'ws', 'sm', 'st', 'sa', 'sn', 'sc', 'sl', 'sg', 'sk', 'si', 'sb', 'so', 'za', 'gs', 'es', 'lk', 'sh', 'pm', 'sd', 'sr', 'sj', 'sz', 'se', 'ch', 'sy', 'tw', 'tj', 'tz', 'th', 'tg', 'tk', 'to', 'tt', 'tn', 'tr', 'tm', 'tc', 'tv', 'ug', 'ua', 'ae', 'gb', 'us', 'um', 'uy', 'uz', 'vu', 'va', 've', 'vn', 'vg', 'vi', 'wf', 'eh', 'ye', 'yu', 'zm', 'zw')
static is_valid(code_: int) bool

国・地域コードが範囲内であるかどうかを確認する.

Parameters:

code (int) – 国・地域コード

Returns:

国・地域コードが範囲内の場合True. 範囲外の場合False

Return type:

bool

static to_code(symbol: str) int

シンボルから対応する国・地域コードを返す.

Parameters:

symbol (str) – 国・地域コードを示す文字列(シンボル)

Returns:

国・地域コード

Return type:

int

static to_symbol(code_: int) int

国・地域コードから対応するシンボルを返す

Parameters:

code (int) – 国・地域コード

Returns:

国・地域コードを示す文字列(シンボル)

Return type:

int

class doquedb.common.constants.DataType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

データ型のタイプ.

ARRAY = 2000
BINARY = 1011
BITSET = 1012
COLUMN_META_DATA = 1015
DATA = 1000
DATE = 1009
DATE_TIME = 1010
DECIMAL = 1008
DOUBLE = 1007
FLOAT = 1006
INTEGER = 1001
INTEGER64 = 1003
LANGUAGE = 1014
NULL = 3000
OBJECTID = 1013
STRING = 1005
UNDEFINED = 9999
WORD = 1016
class doquedb.common.constants.Language

Bases: object

言語種別関連

AA = 1
AB = 2
AF = 3
AM = 4
AR = 5
AS = 6
AY = 7
AZ = 8
BA = 9
BE = 10
BG = 11
BH = 12
BI = 13
BN = 14
BO = 15
BR = 16
CA = 17
CO = 18
CS = 19
CY = 20
DA = 21
DE = 22
DZ = 23
EL = 24
EN = 25
EO = 26
ES = 27
ET = 28
EU = 29
FA = 30
FI = 31
FJ = 32
FO = 33
FR = 34
FY = 35
GA = 36
GD = 37
GL = 38
GN = 39
GU = 40
HA = 41
HE = 42
HI = 43
HR = 44
HU = 45
HY = 46
IA = 47
ID = 48
IE = 49
IK = 50
IS = 51
IT = 52
IU = 53
JA = 54
JW = 55
KA = 56
KK = 57
KL = 58
KM = 59
KN = 60
KO = 61
KS = 62
KU = 63
KY = 64
LA = 65
LAST = 140
LN = 66
LO = 67
LT = 68
LV = 69
MG = 70
MI = 71
MK = 72
ML = 73
MN = 74
MO = 75
MR = 76
MS = 77
MT = 78
MY = 79
NA = 80
NE = 81
NL = 82
NO = 83
OC = 84
OM = 85
OR = 86
PA = 87
PL = 88
PS = 89
PT = 90
QU = 91
RM = 92
RN = 93
RO = 94
RU = 95
RW = 96
SA = 97
SD = 98
SG = 99
SH = 100
SI = 101
SK = 102
SL = 103
SM = 104
SN = 105
SO = 106
SQ = 107
SR = 108
SS = 109
ST = 110
SU = 111
SV = 112
SW = 113
TA = 114
TE = 115
TG = 116
TH = 117
TI = 118
TK = 119
TL = 120
TN = 121
TO = 122
TR = 123
TS = 124
TT = 125
TW = 126
UG = 127
UK = 128
UNDEFINED = 0
UR = 129
UZ = 130
VI = 131
VO = 132
WO = 133
XH = 134
YI = 135
YO = 136
ZA = 137
ZH = 138
ZU = 139
code_symbol = ('undefined', 'aa', 'ab', 'af', 'am', 'ar', 'as', 'ay', 'az', 'ba', 'be', 'bg', 'bh', 'bi', 'bn', 'bo', 'br', 'ca', 'co', 'cs', 'cy', 'da', 'de', 'dz', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fa', 'fi', 'fj', 'fo', 'fr', 'fy', 'ga', 'gd', 'gl', 'gn', 'gu', 'ha', 'he', 'hi', 'hr', 'hu', 'hy', 'ia', 'id', 'ie', 'ik', 'is', 'it', 'iu', 'ja', 'jw', 'ka', 'kk', 'kl', 'km', 'kn', 'ko', 'ks', 'ku', 'ky', 'la', 'ln', 'lo', 'lt', 'lv', 'mg', 'mi', 'mk', 'ml', 'mn', 'mo', 'mr', 'ms', 'mt', 'my', 'na', 'ne', 'nl', 'no', 'oc', 'om', 'or', 'pa', 'pl', 'ps', 'pt', 'qu', 'rm', 'rn', 'ro', 'ru', 'rw', 'sa', 'sd', 'sg', 'sh', 'si', 'sk', 'sl', 'sm', 'sn', 'so', 'sq', 'sr', 'ss', 'st', 'su', 'sv', 'sw', 'ta', 'te', 'tg', 'th', 'ti', 'tk', 'tl', 'tn', 'to', 'tr', 'ts', 'tt', 'tw', 'ug', 'uk', 'ur', 'uz', 'vi', 'vo', 'wo', 'xh', 'yi', 'yo', 'za', 'zh', 'zu')
static is_valid(code_: int) bool

言語種別コードが範囲内であるかどうかを確認する.

Parameters:

code (int) – 言語種別コード

Returns:

言語種別コードが範囲内の場合True. 範囲外の場合False

Return type:

bool

static to_code(symbol: str) int

シンボルから対応する言語種別コードを返す.

Parameters:

symbol (str) – 言語種別コードを示す文字列(シンボル)

Returns:

言語種別コード

Return type:

int

static to_symbol(code_: int) int

言語種別コードから対応するシンボルを返す

Parameters:

code (int) – 言語種別コード

Returns:

言語種別コードを示す文字列(シンボル)

Return type:

int

class doquedb.common.constants.SQLType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

SQLデータ型のタイプ.

BIG_INT = 13
BINARY = 5
BINARY_LARGE_OBJECT = 9
BINARY_VARYING = 6
BOOLEAN = 18
CHARACTER = 1
CHARACTER_LARGE_OBJECT = 7
CHARACTER_VARYING = 2
DATE = 19
DECIMAL = 14
DOUBLE_PRECISION = 17
FLOAT = 15
INTEGER = 12
LANGUAGE = 22
NATIONAL_CHARACTER = 3
NATIONAL_CHARACTER_LARGE_OBJECT = 8
NATIONAL_CHARACTER_VARYING = 4
NUMERIC = 10
REAL = 16
SMALL_INT = 11
TIME = 20
TIMESTAMP = 21
UNKNOWN = 0
WORD = 23

doquedb.common.data module

data.py – :class: Data を基底とするクラスの実装モジュール.

class:

BinaryData

class:

WordData

class doquedb.common.data.BinaryData(value: bytes | BinaryData = None)

Bases: Data, Serializable

バイナリ型をあらわすクラス

Parameters:

value (Union[bytes, 'BinaryData']) –

value

Type:

bytes

property class_id: int
clone() object

オブジェクトのコピーを作成して返す.

Returns:

コピーされたオブジェクト

Return type:

object

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

property value: bytes

値のゲッター.

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.data.WordData(value: str | WordData = None)

Bases: Data, Serializable

ワードをあらわすクラス

Parameters:
  • term (str) – 単語

  • value (Optional['WordData']) –

term

単語

Type:

str

language

言語

Type:

LanguageSet

category

カテゴリー番号

Type:

int

scale

スケール

Type:

float

docfrequency

文書頻度

Type:

int

CATEGORY_ESSENTIAL = 1
CATEGORY_HELPFUL = 3
CATEGORY_IMPORTANT = 2
CATEGORY_PROHIBITIVE = 7
CATEGORY_UNDEFINED = 0
property category: int

カテゴリーのゲッター.

property class_id: int

クラスIDのゲッター.

clone() object

オブジェクトのコピーを作成して返す.

Returns:

コピーされたオブジェクト

Return type:

object

property docfrequency: int

文書頻度のゲッター.

property language: LanguageSet

言語のゲッター

property languagestr: str

言語文字列のゲッター.

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

property scale: float

スケールのゲッター.

property term: str

単語のゲッター.

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

doquedb.common.instance module

instance.py – class_idに相当するクラスのインスタンスを得る

class doquedb.common.instance.Instance

Bases: object

クラスID(:obj: ClassID)に相当するクラスのインスタンスを得る

static get(id: int) Any

クラスID(:obj: ClassID)に相当するSerializableのサブクラスのインスタンスを得る

Parameters:

id (int) – クラスID

Returns:

obj:

Serializable のサブクラス

Return type:

Serializable

static get_data(type_: type, value: Any) Data
object_map = None
python_to_trobject_map = None

doquedb.common.iostream module

iostream.py – DoqueDBと互換性のある入出力ストリームモジュール

class doquedb.common.iostream.InputStream(istream: BinaryIO)

Bases: object

DoqueDBとの互換性のある入力ストリームクラス.

Parameters:

socket (socket.socket) – ソケット

__socket

ソケット

Type:

socket.socket

close() None

ストリームをクローズする.

Notes

仮の実装

read(bufsize: int) bytes

ストリームから``bufsize``だけ読込む.

Parameters:

bufsize (int) – バッファーサイズ

Returns:

読込んだ値

Return type:

bytes

read_char() str

1文字(2バイト)のデータを読込む.

Returns:

読込んだ文字のバイト列

Return type:

bytes

read_double() float

8バイトのデータを読込んでdouble(=float)型に変換する.

Returns:

読込んだ値

Return type:

float

read_float() float

4バイトのデータを読込んでfloat型に変換する.

Returns:

読込んだ値

Return type:

float

read_int() int

4バイトのデータを読込んでint型に変換する.

Returns:

読込んだ値

Return type:

int

read_long() int

8バイトのデータを読込んでint型に変換する.

Returns:

読込んだ値

Return type:

int

read_object(data: Serializable | None = None) Serializable | None

DoqueDBとの互換性を維持し、Serializableのサブクラスを読み込む.

Parameters:

data (Optional[Serializable]) – データを格納するSerializableオブジェクト

read_short() int

2バイトのデータを読込んでint型に変換する.

Returns:

読込んだ値

Return type:

int

class doquedb.common.iostream.OutputStream(ostream: BinaryIO)

Bases: object

DoqueDBとの互換性のある出力ストリームクラス.

Parameters:

socket (socket.socket) – ソケット

__socket

ソケット

Type:

socket.socket

__buffer

出力バッファー

Type:

List[bytes]

close() None

ストリームをフラッシュしてクローズする.

flush() None

出力をフラッシュする.

write(b: bytes) None

ストリームに書き込む.

Parameters:

b (bytes) – 書き込む値

write_char(v: int) None

1文字書き込む.

Parameters:

v (int) – 書き込む値

write_double(v: float) None

double型を書き込む.

Parameters:

v (float) – 書き込む値

write_float(v: float) None

float型を書き込む.

Parameters:

v (float) – 書き込む値

write_int(v: int) None

int型を書き込む.

Parameters:

v (int) – 書き込む値

write_long(v: int) None

long型を書き込む.

Parameters:

v (int) – 書き込む値

write_object(object_: Serializable | None = None) None

DoqueDBとの互換性を維持し、Serializableのサブクラス書き込む.

Parameters:

object (Serializable) – 書き込むSerializableのサブクラス

write_short(v: int) None

int型を書き込む.

Parameters:

v (int) – 書き込む値

doquedb.common.language module

language.py – 言語を扱うクラスのモジュール

class:

LanguageTag

class:

LanguageSet

class doquedb.common.language.LanguageSet(arg: str | LanguageSet = None)

Bases: object

複数の言語タグ(以下言語セット)を扱うクラス.

Parameters:
  • arg (Union[str, 'LanguageSet']) –

  • language_set_symbol (str) –

  • 言語セット ((LanguageSet)) –

taglist

言語タグを積むリスト

Type:

list

size

登録された言語タグの数

Type:

int

LANGUAGE_COUNTRY_SEPARATOR = '-'
TAG_SEPARATOR = '+'
add(arg: int | LanguageTag) None

言語セットに指定言語を追加する.

Parameters:
  • arg (Union[int, LanguageTag]) –

  • 追加する言語の種別コード ((int)) –

  • 追加する言語タグ ((LanguageTag)) –

Raises:
clear() None

言語セットをクリアする.

is_contained(arg: int | LanguageTag) bool

指定言語が含まれているかどうかを調べる.

Parameters:
  • arg (Union[int, LanguageTag]) –

  • 調べる対象言語の種別コード ((int)) –

  • 調べる対象言語タグ ((LanguageTag)) –

Returns:

True 含まれている

False 含まれていない

Return type:

bool

Raises:
read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

round() LanguageSet

言語タグから国・地域コードを除いた言語セットを取得する.

Returns:

このオブジェクトの言語タグから国・地域コードを除いた言語セット

Return type:

LangaugeSet

set(arg: str | LanguageSet = None) None

言語セットを設定する.

Parameters:
  • arg (Union[str], LanguageTag]) –

  • 言語セットを示す文字列 ((str)) –

  • 言語セット ((LanguageSet)) –

property size: int

言語タグ数のゲッター

property taglist: list

言語セットのリストのゲッター

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.language.LanguageTag(language_code: int = None, country_code: int = None)

Bases: object

言語種別と国・地域種別のペア(言語タグ)を表現するクラス.

Parameters:
  • language_code (int) – 言語種別コード

  • countrycode (int) – 国・地域コード

language_code

言語種別コード

Type:

int

country_code

国・地域コード

Type:

int

clone() object

オブジェクトのコピーを作成して返す.

Returns:

コピーされたオブジェクト

Return type:

object

property country_code: int

国・地域コードのゲッター

property language_code: int

言語種別コードのゲッター

doquedb.common.scalardata module

scalardata.py – :class: ScalarData を基底とするクラスの実装モジュール.

class:

DateData

class:

DateTimeData

class:

DecimalData

class:

DoubleData

class:

FLoatData

class:

Integer64Data

class:

IntegerData

class:

LanguageData

class:

NullData

class:

StringData

class doquedb.common.scalardata.DateData(value: date | DateData = None)

Bases: ScalarData, Serializable

date型をあらわすクラス.

Parameters:

value (Union[date, 'DateData']) – 値

value

Type:

date

property class_id: int

クラスIDのゲッター.

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

property value: date

値(date)のゲッター.

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.scalardata.DateTimeData(value: datetime | DateTimeData = None)

Bases: ScalarData, Serializable

datetime型をあらわすクラス.

Parameters:

value (Union[datetime, 'DateTimeData']) – 値

value

Type:

datetime

millisecond

ミリ秒

Type:

int

property class_id: int

クラスIDのゲッター.

property millisecond: int

値(datetime)のゲッター.

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

property value: datetime

値(datetime)のゲッター.

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.scalardata.DecimalData(value: str | DecimalData = None)

Bases: ScalarData, Serializable

decimal型をあらわすクラス.

Parameters:

value (Union[str, 'DecimalData']) – 値

value

Type:

str

_precision

全体の桁数

Type:

int

_scale

小数点以下の桁数

Type:

int

MINUS = '-'
PERIOD = '.'
PLUS = '+'
property class_id: int

クラスIDのゲッター.

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

property value: str

値(str)のゲッター.

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.scalardata.DoubleData(value: float | DoubleData = None)

Bases: ScalarData, Serializable

double型をあらわすクラス.

Parameters:

value (Union[float, 'DoubleData']) – 値

value

Type:

double

Notes

Python では float = 倍精度浮動小数点数(double)なので float で実装する.

property class_id: int

クラスIDのゲッター.

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

property value: float

値(float)のゲッター.

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.scalardata.FloatData(value: float | FloatData = None)

Bases: ScalarData, Serializable

float型をあらわすクラス.

Parameters:

value (Union[float, 'FloatData']) – 値

value

Type:

float

Notes

Pythonには単精度不動小数点がないため、float(倍精度浮動小数点)で実装する.

property class_id: int

クラスIDのゲッター.

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

property value: float

値(float)のゲッター.

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.scalardata.Integer64Data(value: int | Integer64Data = None)

Bases: ScalarData, Serializable

long型をあらわすクラス.

Parameters:

value (Union[int, 'Integer64Data']) – 値

value

Type:

int

Note

pythonのint型にビット幅はない. ``value``が64bitよりも大きい場合 :func: write_object でエラーとなる.

property class_id: int

クラスIDのゲッター.

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

property value: int

値(int)のゲッター.

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.scalardata.IntegerData(value: int | IntegerData = None)

Bases: ScalarData, Serializable

int型をあらわすクラス.

Parameters:

value (Union[int, 'IntegerData']) – 値

value

Type:

int

Note

pythonのint型にビット幅はない. ``value``が32bitよりも大きい場合 :func: write_object でエラーとなる.

property class_id: int

クラスIDのゲッター.

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

property value: int

値(int)のゲッター.

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.scalardata.LanguageData(value: str | LanguageData = None)

Bases: ScalarData, Serializable

Language型をあらわすクラス.

Parameters:

value (Union[str, 'LanguageData']) – 値

value

Type:

LanguageSet

property class_id: int

クラスIDのゲッター.

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

property value: LanguageSet

値(LanguageSet)のゲッター.

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.scalardata.NullData

Bases: ScalarData, Serializable

NULLをあらわすクラス.

nulldata

NullDataのインスタンス

Type:

NullData

property class_id: int

クラスIDのゲッター.

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.scalardata.StringData(value: str | StringData = None)

Bases: ScalarData, Serializable

string型をあらわすクラス.

Parameters:

value (Union[str, 'StringData']) – 値

value

Type:

str

property class_id: int

クラスIDのゲッター.

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

property value: str

値(str)のゲッター.

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

doquedb.common.serialdata module

serialdata.py – :class: Serializable を基底とするクラスの実装モジュール.

class:

ColumnMetaData

class:

Request

class:

Status

class:

ErrorLevel

class:

ExceptionData

class doquedb.common.serialdata.ColumnMetaData(metadata: ColumnMetaData | None = None)

Bases: Serializable

カラムのメタデータを表すクラス

Parameters:

metadata (Optional[ColumnMetaData]) – 元となるカラムのメタデータ

__type

SQLデータ型

Type:

int

__typename

データ型名

Type:

str

__colname

カラム名

Type:

str

__tablename

テーブル名

Type:

str

__dbname

データベース名

Type:

str

__column_aliasname

カラム別名

Type:

str

__table_aliasname

テーブル別名

Type:

str

__displaysize

最大表示サイズ

Type:

int

__precision

10進桁数

Type:

int

__scale

小数点以下の桁数

Type:

int

__cardinality

配列要素数

Type:

int

__flag

属性

Type:

int

property cardinality: int

配列要素数のゲッター

property class_id: int

class_id を得る.

property colname: str

カラム名のゲッター

property column_aliasname: str

カラム別名のゲッター

data_map = {'BINARY': <class 'doquedb.common.data.BinaryData'>, 'DATE': <class 'doquedb.common.scalardata.DateData'>, 'DATE_TIME': <class 'doquedb.common.scalardata.DateTimeData'>, 'DECIMAL': <class 'doquedb.common.scalardata.DecimalData'>, 'DOUBLE': <class 'doquedb.common.scalardata.DoubleData'>, 'INTEGER': <class 'doquedb.common.scalardata.IntegerData'>, 'INTEGER64': <class 'doquedb.common.scalardata.Integer64Data'>, 'LANGUAGE': <class 'doquedb.common.scalardata.LanguageData'>, 'STRING': <class 'doquedb.common.scalardata.StringData'>, 'WORD': <class 'doquedb.common.data.WordData'>}
property dbname: str

データベース名のゲッター

property displaysize: int

最大表示サイズのゲッター

property flag: int

属性のゲッター

get_datainstance() DataArrayData | StringData | BinaryData | IntegerData | Integer64Data | DecimalData | DoubleData | DateData | DateTimeData | LanguageData | WordData | None

適切なデータインスタンスを得る.

Returns:

データインスタンス

Return type:

AnyData

get_datatype(type: int) int

datatype を得る.

Returns:

データタイプ値

Return type:

int

property is_array: bool

配列かどうか

property is_autoincrement: bool

自動採番かどうか

property is_case_insensitive: bool

大文字小文字が区別されないかどうか

property is_readonly: bool

読み出し専用かどうか

property is_unique: bool

ユニークかどうか

property is_unsigned: bool

符号なしかどうか

property isnot_nullable: bool

NULL をセットできないかどうか

property isnot_searchable: bool

検索不可かどうか

property precision: int

10進桁数のゲッター

read_object(input: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

property scale: int

小数点以下の桁数のゲッター

property table_aliasname: str

テーブル別名のゲッター

property tablename: str

テーブル名のゲッター

property type: int

SQLデータ型のゲッター

property typename: str

データ型名のゲッター

write_object(output: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.serialdata.ErrorLevel(level_: int = -1)

Bases: Serializable

エラーレベルをあらわすクラス

Parameters:

level (int) – エラーレベル値

__level

エラーレベル値

Type:

int

SYSTEM = 2
UNDEFINED = -1
USER = 1
property class_id: int
is_userlevel() bool

ユーザレベルかどうか

property level: int
read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.serialdata.ExceptionData(errno_: int = 0)

Bases: Serializable

例外データをあらわすクラス

Parameters:

errno (int) – エラー番号

__errno

エラー番号

Type:

int

__args

引数

Type:

list

__modulename

モジュール名

Type:

str

__linenumber

行番号

Type:

int

property class_id: int
property errno: int

エラー番号のゲッター

property error_message: str

エラーメッセージのゲッター

read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.serialdata.Request(request_: int = -1)

Bases: Serializable

リクエストをあらわすクラス

Parameters:

request (int) – リクエスト値

__request

リクエスト値

Type:

int

property class_id: int
read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

property request: int

リクエスト値のゲッター

request_map = {'AVAILABILITY_TARGET_DATABASE': 1, 'AVAILABILITY_TARGET_SERVER': 0, 'BEGIN_CONNECTION': 1, 'BEGIN_SESSION': 3, 'BEGIN_SESSION2': 17, 'BEGIN_WORKER': 5, 'CANCEL_WORKER': 6, 'CHANGE_OWN_PASSWORD': 21, 'CHANGE_PASSWORD': 22, 'CHECK_AVAILABILITY': 14, 'CREATE_USER': 19, 'DROP_USER': 20, 'END_CONNECTION': 2, 'END_SESSION': 4, 'END_SESSION2': 18, 'ERASE_PREPARE_STATEMENT': 11, 'ERASE_PREPARE_STATEMENT2': 16, 'EXECUTE_PREPARE_STATEMENT': 10, 'EXECUTE_STATEMENT': 8, 'NO_REUSE_CONNECTION': 13, 'PREPARE_STATEMENT': 9, 'PREPARE_STATEMENT2': 15, 'QUERY_PRODUCT_VERSION': 201, 'REUSE_CONNECTION': 12, 'SHUTDOWN': 7, 'SHUTDOWN2': 23, 'SYNC': 101, 'UNDEFINED': -1}
write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

class doquedb.common.serialdata.Status(status_: int = -1)

Bases: Serializable

ステータスをあらわすクラス

Parameters:

status (int) – ステータス値

__status

ステータス値

Type:

int

property class_id: int
read_object(input_: InputStream) None

ストリームからオブジェクトを読込む.

Parameters:

input (InputStream) – 入力用のストリーム

property status: int
status_map = {'CANCELED': 2, 'ERROR': 1, 'HAS_MORE_DATA': 3, 'SUCCESS': 0, 'UNDEFINED': -1}
write_object(output_: OutputStream) None

ストリームにオブジェクトを書き出す.

Parameters:

output (OutputStream) – 出力用のストリーム

doquedb.common.serializable module

serializable.py – DoqueDBと互換性を持ったシリアライズインターフェース

class doquedb.common.serializable.Serializable

Bases: ABC

シリアル化インターフェース

DoqueDBと互換性を保持しつつシリアル化を行うためのインターフェース. odbcのデータ型クラスは、 本インターフェースを継承する必要がある.

abstract property class_id: int
abstract read_object(input_: InputStream) None

ストリームから読込む.

abstract write_object(output_: OutputStream) None

ストリームに書込む.

doquedb.common.unicodestr module

unicodestr.py – :class: `UnicodeString`の実装モジュール

class doquedb.common.unicodestr.UnicodeString

Bases: object

ModUnicodeStringに対応するクラス

static read_object(input_: InputStream) str

ストリームから読込む.

Parameters:

input (InputStream) – 入力用のストリーム

Returns:

ストリームから読込んだstrクラス

Return type:

str

static write_object(output_: OutputStream, data: str) None

ストリームに書き出す.

Parameters:

input (InputStream) – 出力用のストリーム

Module contents

common – 汎用機能パッケージ