@@ -1154,7 +1154,7 @@ def __init__(self, connection: Connection):
1154
1154
DbInfoCode .DB_PROVIDER : self .response .read_sized_int ,
1155
1155
DbInfoCode .PAGES_USED : self .response .read_sized_int ,
1156
1156
DbInfoCode .PAGES_FREE : self .response .read_sized_int ,
1157
- DbInfoCode .CRYPT_KEY : self ._info_string ,
1157
+ DbInfoCode .CRYPT_KEY : self ._single_info_string ,
1158
1158
DbInfoCode .CRYPT_STATE : self .__crypt_state ,
1159
1159
DbInfoCode .CONN_FLAGS : self .__con_state ,
1160
1160
DbInfoCode .BACKOUT_COUNT : self .__tbl_perf_count ,
@@ -1198,6 +1198,9 @@ def _info_string(self) -> str:
1198
1198
self .response .read_byte () # Cluster length
1199
1199
self .response .read_short () # number of strings
1200
1200
return self .response .read_pascal_string ()
1201
+ def _single_info_string (self ) -> str :
1202
+ self .response .read_byte () # Cluster length
1203
+ return self .response .read_pascal_string ()
1201
1204
def __user_names (self ) -> Dict [str , str ]:
1202
1205
self .response .rewind () # necessary to process names separated by info tag
1203
1206
usernames = []
@@ -1559,14 +1562,14 @@ def __init__(self, connection: Connection):
1559
1562
DbInfoCode .STMT_TIMEOUT_DB : self .response .read_sized_int ,
1560
1563
DbInfoCode .STMT_TIMEOUT_ATT : self .response .read_sized_int ,
1561
1564
DbInfoCode .PROTOCOL_VERSION : self .response .read_sized_int ,
1562
- DbInfoCode .CRYPT_PLUGIN : self ._info_string ,
1565
+ DbInfoCode .CRYPT_PLUGIN : self ._single_info_string ,
1563
1566
DbInfoCode .CREATION_TIMESTAMP_TZ : self .__creation_tstz ,
1564
- DbInfoCode .WIRE_CRYPT : self ._info_string ,
1567
+ DbInfoCode .WIRE_CRYPT : self ._single_info_string ,
1565
1568
DbInfoCode .FEATURES : self .__features ,
1566
1569
DbInfoCode .NEXT_ATTACHMENT : self .response .read_sized_int ,
1567
1570
DbInfoCode .NEXT_STATEMENT : self .response .read_sized_int ,
1568
- DbInfoCode .DB_GUID : self ._info_string ,
1569
- DbInfoCode .DB_FILE_ID : self ._info_string ,
1571
+ DbInfoCode .DB_GUID : self ._single_info_string ,
1572
+ DbInfoCode .DB_FILE_ID : self ._single_info_string ,
1570
1573
DbInfoCode .REPLICA_MODE : self .__replica_mode ,
1571
1574
})
1572
1575
def __creation_tstz (self ) -> datetime .datetime :
@@ -4974,7 +4977,7 @@ class ServerDbServices(ServerDbServices4):
4974
4977
"""Database-related actions and services [Firebird 5+].
4975
4978
"""
4976
4979
def upgrade (self , * , database : FILESPEC ) -> bytes :
4977
- """Perform database repair operation. **(SYNC service)**
4980
+ """Perform database ODS upgrade operation. **(SYNC service)**
4978
4981
4979
4982
Arguments:
4980
4983
database: Database specification or alias.
@@ -5501,7 +5504,7 @@ def info(self) -> ServerInfoProvider:
5501
5504
self .__info = ServerInfoProvider (self .encoding , self )
5502
5505
return self .__info
5503
5506
@property
5504
- def database (self ) -> Union [ServerDbServices3 , ServerDbServices ]:
5507
+ def database (self ) -> Union [ServerDbServices4 , ServerDbServices3 , ServerDbServices ]:
5505
5508
"""Access to various database-related actions and services.
5506
5509
"""
5507
5510
if self .__dbsvc is None :
0 commit comments