Public Member Functions | |
| def | __init__ |
| def | __del__ |
| def | __repr__ |
| def | __getitem__ |
| def | __getattr__ |
| def | connect_to_hosts |
| def | connect |
| def | disconnect |
| def | create_user |
| def | remove_user |
| def | get_snapshot |
| def | reset_snapshot |
| def | get_list |
| def | get_collection |
| def | get_collection_space |
| def | create_collection_space |
| def | drop_collection_space |
| def | list_collection_spaces |
| def | list_collections |
| def | list_replica_groups |
| def | get_replica_group_by_name |
| def | get_replica_group_by_id |
| def | create_replica_group |
| def | remove_replica_group |
| def | create_replica_cata_group |
| def | exec_update |
| def | exec_sql |
| def | transaction_begin |
| def | transaction_commit |
| def | transaction_rollback |
| def | flush_configure |
| def | create_procedure |
| def | remove_procedure |
| def | list_procedures |
| def | eval_procedure |
| def | backup_offline |
| def | list_backup |
| def | remove_backup |
| def | list_task |
| def | wait_task |
| def | cancel_task |
| def | set_session_attri |
| def | close_all_cursors |
| def | is_valid |
| def | get_datacenter |
Static Public Attributes | |
| string | HOST "localhost" |
| string | SERVICE "11810" |
| string | USER "" |
| string | PSW "" |
SequoiaDB Client Driver
The client support interfaces to connect to SequoiaDB.
In order to connect to SequoiaDB, you need use the class first.
And you should make sure the instance of it released when you don't use it
any more.
All operation need deal with the error code returned first, if it has.
Every error code is not SDB_OK(or 0), it means something error has appeared,
and user should deal with it according the meaning of error code printed.
@version: execute to get version
>>> import pysequoiadb
>>> print pysequoiadb.get_version()
@notice : The dict of built-in Python is hashed and non-ordered. so the
element in dict may not the order we make it. we make a dict and
print it like this:
...
>>> a = {"avg_age":24, "major":"computer science"}
>>> a
>>> {'major': 'computer science', 'avg_age': 24}
...
the elements order it is not we make it!!
therefore, we use bson.SON to make the order-sensitive dict if the
order is important such as operations in "$sort", "$group",
"split_by_condition", "aggregate","create_collection"...
In every scene which the order is important, please make it using
bson.SON and list. It is a subclass of built-in dict
and order-sensitive
| def pysequoiadb.client.client.__init__ | ( | self, | |
host = None, |
|||
service = None, |
|||
user = None, |
|||
psw = None, |
|||
ssl = False |
|||
| ) |
initialize when product a object.
it will try to connect to SequoiaDB using host and port given,
localhost and 11810 are the default value of host and port,
user and password are "".
Parameters:
Name Type Info:
host str The hostname or IP address of dbserver,
if None, "localhost" will be insteaded
service str/int The service name or port number of dbserver,
if None, "11810" will be insteaded
user str The user name to access to database,
if None, "" will be insteaded
psw str The user password to access to database,
if None, "" will be insteaded
ssl bool decide to use ssl or not, default is False.
Exceptions:
pysequoiadb.error.SDBTypeError
pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.__del__ | ( | self | ) |
release resource when del called. Exceptions: pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.__getattr__ | ( | self, | |
| name | |||
| ) |
support client.cs to access to collection space.
eg.
cc = client()
cs = cc.test # access to collection space named 'test'
and we should pass '__members__' and '__methods__',
becasue dir(cc) will invoke __getattr__("__members__") and
__getattr__("__methods__").
if success, a collection object will be returned, or None.
Exceptions:
pysequoiadb.error.SDBTypeError
pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.__getitem__ | ( | self, | |
| name | |||
| ) |
support [] to access to collection space. eg. cc = client() cs = cc['test'] # access to collection space named 'test'. Exceptions: pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.backup_offline | ( | self, | |
options = None |
|||
| ) |
Backup the whole database or specifed replica group.
Parameters:
Name Type Info:
options dict Contains a series of backup configuration
infomations. Backup the whole cluster if None.
The "options" contains 5 options as below.
All the elements in options are optional.
eg:
{ "GroupName":["rgName1", "rgName2"],
"Path":"/opt/sequoiadb/backup",
"Name":"backupName", "Description":description,
"EnsureInc":true, "OverWrite":true }
See Info as below.
Exceptions:
pysequoiadb.error.SDBTypeError
pysequoiadb.error.SDBBaseError
Info:
GroupName : The replica groups which to be backuped.
Path : The backup path, if not assign, use the backup path assigned in configuration file.
Name : The name for the backup.
Description : The description for the backup.
EnsureInc : Whether excute increment synchronization,
default to be false.
OverWrite : Whether overwrite the old backup file,
default to be false.
| def pysequoiadb.client.client.cancel_task | ( | self, | |
| task_id, | |||
| is_async | |||
| ) |
Cancel the specified task.
Parameters:
Name Type Info:
task_id long The task id to be canceled.
is_async bool The operation "cancel task" is async or not,
"True" for async, "False" for sync.
Exceptions:
pysequoiadb.error.SDBTypeError
pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.close_all_cursors | ( | self | ) |
Close all the cursors in current thread, we can't use those cursors to get data again. Exceptions: pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.connect | ( | self, | |
| host, | |||
| service, | |||
| kwargs | |||
| ) |
connect to specified database Parameters: Name Type Info: host str The host name or IP address of database server. service int/str The servicename of database server. **kwargs Useful options are below: - user str The user name to access to database. - password str The user password to access to database. Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.connect_to_hosts | ( | self, | |
| hosts, | |||
| kwargs | |||
| ) |
try to connect a host in specified hosts
Parameters:
Name Type Info:
hosts list The list contains hosts.
eg.
[ {'host':'localhost', 'service':'11810'},
{'host':'192.168.10.30', 'service':'11810'},
{'host':'192.168.20.63', 'service':11810}, ]
**kwargs Useful options are below:
- user str The user name to access to database.
- password str The user password to access to database.
- policy str The policy of select hosts. it must be string
of 'random' or 'one_by_one'.
Exceptions:
pysequoiadb.error.SDBTypeError
pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.create_collection_space | ( | self, | |
| cs_name, | |||
options = 0 |
|||
| ) |
Create collection space with specified pagesize.
Parameters:
Name Type Info:
cs_name str The name of collection space to be created.
options int/dict The options to create collection space.
-PageSize int The page size of collection space. See Info
as below.
-Domain str The domain of collection space to belongs
-LobPageSize int The page size when stored lob, see Info as below
Return values:
collection space object created.
Exceptions:
pysequoiadb.error.SDBTypeError
pysequoiadb.error.SDBBaseError
Info:
valid page size value:
0 : 64k default page size
4096 : 4k
8192 : 8k
16384 : 16k
32768 : 32k
65536 : 64k
valid LOB page size value:
0 : 256k default Lob page size
4096 : 4k
8192 : 8k
16384 : 16k
32768 : 32k
65536 : 64k
131072 : 128k
262144 : 256k
524288 : 512k
| def pysequoiadb.client.client.create_procedure | ( | self, | |
| code | |||
| ) |
Create a store procedures Parameters: Name Type Info: code str The JS code of store procedures. Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.create_replica_cata_group | ( | self, | |
| host, | |||
| service, | |||
| path, | |||
| configure | |||
| ) |
Create a catalog replica group. Parameters: Name Type Info: host str The hostname for the catalog replica group. service str The servicename for the catalog replica group. path str The path for the catalog replica group. configure dict The configurations for the catalog replica group. Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.create_replica_group | ( | self, | |
| group_name | |||
| ) |
Create the specified replica group. Parameters: Name Type Info: group_name str The name of replica group to be created. Return values: the replicagroup object created. Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.create_user | ( | self, | |
| name, | |||
| psw | |||
| ) |
Add an user in current database. Parameters: Name Type Info: name str The name of user to be created. psw str The password of user to be created. Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.disconnect | ( | self | ) |
disconnect to current server. Exceptions: pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.drop_collection_space | ( | self, | |
| cs_name | |||
| ) |
Remove the specified collection space. Parameters: Name Type Info: cs_name str The name of collection space to be dropped Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.eval_procedure | ( | self, | |
| name | |||
| ) |
Eval a func. Parameters: Name Type Info: name str The name of store procedure. Return values: cursor object of current eval. Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.exec_sql | ( | self, | |
| sql | |||
| ) |
Executing SQL command. Parameters: Name Type Info: sql str The SQL command. Return values: a cursor object of matching documents. Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.exec_update | ( | self, | |
| sql | |||
| ) |
Executing SQL command for updating. Parameters: Name Type Info: sql str The SQL command. Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.flush_configure | ( | self, | |
| options | |||
| ) |
Flush the options to configure file.
Parameters:
Name Type Info:
options dict The configure infomation, pass {"Global":true} or
{"Global":false} In cluster environment, passing
{"Global":true} will flush data's and catalog's
configuration file, while passing {"Global":false} will
flush coord's configuration file. In stand-alone
environment, both them have the same behaviour.
Exceptions:
pysequoiadb.error.SDBTypeError
pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.get_collection | ( | self, | |
| cl_full_name | |||
| ) |
Get the specified collection. Parameters: Name Type Info: cl_full_name str The full name of collection Return values: a collection object of query. Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.get_collection_space | ( | self, | |
| cs_name | |||
| ) |
Get the specified collection space. Parameters: Name Type Info: cs_name str The name of collection space. Return values: a collection space object of query. Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.get_datacenter | ( | self | ) |
get data center Return values: an object of data center Exceptions: pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.get_list | ( | self, | |
| list_type, | |||
| kwargs | |||
| ) |
Get the informations of specified type.
Parameters:
Name Type Info:
list_type int Type of list option, see Info as below.
**kwargs Useful options are below
- condition dict The matching rule, match all the documents
if None.
- selector dict The selective rule, return the whole
documents if None.
- order_by dict The ordered rule, never sort if None.
Return values:
a cursor object of query
Exceptions:
pysequoiadb.error.SDBTypeError
pysequoiadb.error.SDBBaseError
Info:
list type:
0 : Get all contexts list
1 : Get contexts list for the current session
2 : Get all sessions list
3 : Get the current session
4 : Get all collections list
5 : Get all collecion spaces' list
6 : Get storage units list
7 : Get replicaGroup list ( only applicable in sharding env )
8 : Get store procedure list
9 : Get domains list
10 : Get tasks list
11 : Get collection space list in domain
12 : Get collection list in domain
| def pysequoiadb.client.client.get_replica_group_by_id | ( | self, | |
| id | |||
| ) |
Get the specified replica group of specified group id. Parameters: Name Type Info: id str The id of replica group. Return values: the replicagroup object of query. Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.get_replica_group_by_name | ( | self, | |
| group_name | |||
| ) |
Get the specified replica group of specified group name. Parameters: Name Type Info: group_name str The name of replica group. Return values: the replicagroup object of query. Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.get_snapshot | ( | self, | |
| snap_type, | |||
| kwargs | |||
| ) |
Get the snapshots of specified type.
Parameters:
Name Type Info:
snap_typr str The type of snapshot, see Info as below
**kwargs Useful options are below
- condition dict The matching rule, match all the documents
if not provided.
- selector dict The selective rule, return the whole
document if not provided.
- order_by dict The ordered rule, result set is unordered
if not provided.
Return values:
a cursor object of query
Exceptions:
pysequoiadb.error.SDBTypeError
pysequoiadb.error.SDBBaseError
Info:
snapshot type:
0 : Get all contexts' snapshot
1 : Get the current context's snapshot
2 : Get all sessions' snapshot
3 : Get the current session's snapshot
4 : Get the collections' snapshot
5 : Get the collection spaces' snapshot
6 : Get database's snapshot
7 : Get system's snapshot
8 : Get catalog's snapshot
| def pysequoiadb.client.client.is_valid | ( | self | ) |
Judge whether the connection is valid. Return values: bool Exceptions: pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.list_backup | ( | self, | |
| options, | |||
| kwargs | |||
| ) |
List the backups.
Parameters:
Name Type Info:
options dict Contains configuration infomations for remove
backups, list all the backups in the
default backup path if None.
The "options" contains 3 options as below.
All the elements in options are optional.
eg:
{ "GroupName":["rgame1", "rgName2"],
"Path":"/opt/sequoiadb/backup",
"Name":"backupName" }
See Info as below.
**kwargs Useful option arw below
- condition dict The matching rule, return all the documents
if None.
- selector dict The selective rule, return the whole document
if None.
- order_by dict The ordered rule, never sort if None.
Return values:
a cursor object of backup list
Exceptions:
pysequoiadb.error.SDBTypeError
pysequoiadb.error.SDBBaseError
Info:
GroupName : Assign the backups of specifed replica groups to be list.
Path : Assign the backups in specifed path to be list,
if not assign, use the backup path asigned in the
configuration file.
Name : Assign the backups with specifed name to be list.
| def pysequoiadb.client.client.list_collection_spaces | ( | self | ) |
List all collection space of current database, include temporary collection space. Return values: a cursor object of collection spaces. Exceptions: pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.list_collections | ( | self | ) |
List all collections in current database. Return values: a cursor object of collection. Exceptions: pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.list_procedures | ( | self, | |
| condition | |||
| ) |
List store procedures. Parameters: Name Type Info: condition dict The condition of list. Return values: an cursor object of result Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.list_replica_groups | ( | self | ) |
List all replica groups of current database. Return values: a cursor object of replication groups. Exceptions: pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.list_task | ( | self, | |
| kwargs | |||
| ) |
List the tasks.
Parameters:
Name Type Info:
**kwargs Useful options are below
- condition dict The matching rule, return all the documents
if None.
- selector dict The selective rule, return the whole
document if None.
- order_by dict The ordered rule, never sort if None.
bson.SON may need if it is order-sensitive.
eg.
bson.SON([("name",-1), ("age":1)]) it will
be ordered descending by 'name' first, and
be ordered ascending by 'age'
- hint dict The hint, automatically match the optimal
hint if None.
Return values:
a cursor object of task list
Exceptions:
pysequoiadb.error.SDBTypeError
pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.remove_backup | ( | self, | |
| options | |||
| ) |
Remove the backups
Parameters:
Name Type Info:
options dict Contains configuration infomations for remove
backups, remove all the backups in the default
backup path if null. The "options" contains 3
options as below. All the elements in options are
optional.
eg:
{ "GroupName":["rgName1", "rgName2"],
"Path":"/opt/sequoiadb/backup",
"Name":"backupName" }
See Info as below.
Return values:
an cursor object of result
Exceptions:
pysequoiadb.error.SDBTypeError
pysequoiadb.error.SDBBaseError
Info:
GroupName : Assign the backups of specifed replica groups to be
remove.
Path : Assign the backups in specifed path to be remove, if not
assign, use the backup path asigned in the configuration
file.
Name : Assign the backups with specifed name to be remove.
| def pysequoiadb.client.client.remove_procedure | ( | self, | |
| name | |||
| ) |
Remove a store procedures.
Parameters:
Name Type Info:
name str The name of store procedure.
Exceptions:
pysequoiadb.error.SDBTypeError
pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.remove_replica_group | ( | self, | |
| group_name | |||
| ) |
Remove the specified replica group. Parameters: Name Type Info: group_name str The name of replica group to be removed Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.remove_user | ( | self, | |
| name, | |||
| psw | |||
| ) |
Remove the spacified user from current database. Parameters: Name Type Info: name str The name of user to be removed. psw str The password of user to be removed. Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.reset_snapshot | ( | self, | |
condition = None |
|||
| ) |
Reset the snapshot.
Parameters:
Name Type Info:
condition dict The matching rule, usually specifies the
node in sharding environment, in standalone
mode, this option is ignored.
Exceptions:
pysequoiadb.error.SDBTypeError
pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.set_session_attri | ( | self, | |
options = None |
|||
| ) |
Set the attributes of the session. Parameters: Name Type Info: options dict The configuration options for session. Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.transaction_begin | ( | self | ) |
Transaction begin. Exceptions: pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.transaction_commit | ( | self | ) |
Transaction commit. Exceptions: pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.transaction_rollback | ( | self | ) |
Transaction rollback Exceptions: pysequoiadb.error.SDBBaseError
| def pysequoiadb.client.client.wait_task | ( | self, | |
| task_ids, | |||
| num | |||
| ) |
Wait the tasks to finish. Parameters: Name Type Info: task_ids list The list of task id. num int The number of task id. Exceptions: pysequoiadb.error.SDBTypeError pysequoiadb.error.SDBBaseError
1.8.2