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
データが保持する値のゲッター
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
- 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:
- 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:
- category
カテゴリー番号
- Type:
int
- scale
スケール
- Type:
float
- docfrequency
文書頻度
- Type:
int
- CATEGORY_ESSENTIAL = 1
- CATEGORY_ESSENTIAL_RELATED = 4
- CATEGORY_HELPFUL = 3
- CATEGORY_HELPFUL_RELATED = 6
- CATEGORY_IMPORTANT = 2
- CATEGORY_IMPORTANT_RELATED = 5
- CATEGORY_PROHIBITIVE = 7
- CATEGORY_PROHIBITIVE_RELATED = 8
- 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に相当するクラスのインスタンスを得る
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:
- 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をあらわすクラス.
- 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 – 汎用機能パッケージ