[Zodb-checkins]
SVN: ZODB/branches/pycon-multidb/src/ZODB/tests/multidb.txt
Reindent like other pure-doctest text files.
Tim Peters
tim.one at comcast.net
Sun Mar 20 16:40:14 EST 2005
Log message for revision 29597:
Reindent like other pure-doctest text files.
Changed:
U ZODB/branches/pycon-multidb/src/ZODB/tests/multidb.txt
-=-
Modified: ZODB/branches/pycon-multidb/src/ZODB/tests/multidb.txt
===================================================================
--- ZODB/branches/pycon-multidb/src/ZODB/tests/multidb.txt 2005-03-20 21:38:43 UTC (rev 29596)
+++ ZODB/branches/pycon-multidb/src/ZODB/tests/multidb.txt 2005-03-20 21:40:14 UTC (rev 29597)
@@ -20,91 +20,91 @@
Creating a multi-database starts with creating a named DB:
->>> from ZODB.tests.test_storage import MinimalMemoryStorage
->>> from ZODB import DB
->>> db = DB(MinimalMemoryStorage(), database_name='root')
+ >>> from ZODB.tests.test_storage import MinimalMemoryStorage
+ >>> from ZODB import DB
+ >>> db = DB(MinimalMemoryStorage(), database_name='root')
The database name is accessible afterwards and in a newly created collection:
->>> db.database_name
-'root'
->>> db.databases # doctest: +ELLIPSIS
-{'root': <ZODB.DB.DB object at ...>}
+ >>> db.database_name
+ 'root'
+ >>> db.databases # doctest: +ELLIPSIS
+ {'root': <ZODB.DB.DB object at ...>}
Adding a new database works like this:
->>> db2 = DB(MinimalMemoryStorage(),
-... database_name='notroot',
-... databases=db.databases)
+ >>> db2 = DB(MinimalMemoryStorage(),
+ ... database_name='notroot',
+ ... databases=db.databases)
The new db2 now shares the 'databases' dictionary with db and has two entries:
->>> db2.databases is db.databases
-True
->>> len(db2.databases)
-2
+ >>> db2.databases is db.databases
+ True
+ >>> len(db2.databases)
+ 2
Trying to insert a database with a name that is already in use will not work:
->>> db3 = DB(MinimalMemoryStorage(),
-... database_name='root',
-... databases=db.databases)
-Traceback (most recent call last):
- ...
-ValueError: database_name 'root' already in databases
+ >>> db3 = DB(MinimalMemoryStorage(),
+ ... database_name='root',
+ ... databases=db.databases)
+ Traceback (most recent call last):
+ ...
+ ValueError: database_name 'root' already in databases
Because that failed, db.databases wasn't changed:
->>> len(db.databases) # still 2
-2
+ >>> len(db.databases) # still 2
+ 2
You can (still) get a connection to a database this way:
->>> cn = db.open()
->>> cn # doctest: +ELLIPSIS
-<Connection at ...>
+ >>> cn = db.open()
+ >>> cn # doctest: +ELLIPSIS
+ <Connection at ...>
This is the only connection in this collection right now:
->>> cn.connections # doctest: +ELLIPSIS
-{'root': <Connection at ...>}
+ >>> cn.connections # doctest: +ELLIPSIS
+ {'root': <Connection at ...>}
Getting a connection to a different database from an existing connection in the
same database collection (this enables 'connection binding' within a given
thread/transaction/context ...):
->>> cn2 = cn.get_connection('notroot')
->>> cn2 # doctest: +ELLIPSIS
-<Connection at ...>
+ >>> cn2 = cn.get_connection('notroot')
+ >>> cn2 # doctest: +ELLIPSIS
+ <Connection at ...>
Now there are two connections in that collection:
->>> cn2.connections is cn.connections
-True
->>> len(cn2.connections)
-2
+ >>> cn2.connections is cn.connections
+ True
+ >>> len(cn2.connections)
+ 2
So long as this database group remains open, the same Connection objects
are returned:
->>> cn.get_connection('root') is cn
-True
->>> cn.get_connection('notroot') is cn2
-True
->>> cn2.get_connection('root') is cn
-True
->>> cn2.get_connection('notroot') is cn2
-True
+ >>> cn.get_connection('root') is cn
+ True
+ >>> cn.get_connection('notroot') is cn2
+ True
+ >>> cn2.get_connection('root') is cn
+ True
+ >>> cn2.get_connection('notroot') is cn2
+ True
Of course trying to get a connection for a database not in the group raises
an exception:
->>> cn.get_connection('no way')
-Traceback (most recent call last):
- ...
-KeyError: 'no way'
+ >>> cn.get_connection('no way')
+ Traceback (most recent call last):
+ ...
+ KeyError: 'no way'
Clean up:
->>> for a_db in db.databases.values():
-... a_db.close()
+ >>> for a_db in db.databases.values():
+ ... a_db.close()
More information about the Zodb-checkins
mailing list