2009-03-02 10 views

Respuesta

1

La única que conozco es un tenedor de pytc pero parece que sólo han hecho un poco de refactorización y documentación de trabajo, por lo que probablemente todavía sólo hash y b-árbol de apoyo:

tc

Si esto no funciona, probablemente no tenga suerte. Creo que todas las vinculaciones tyrant solo usan el motor hash.

+0

Miré tc y no tienen s upport para la tabla tampoco. Creo que solo las vinculaciones de Perl y Ruby tienen soporte completo para todas las vinculaciones. – Bharani

4

que estaba en contacto con el autor de tc y me dijo lo siguiente:

la actualidad, el piloto de tablas (TDB) existen en el master branch (unit tests) y el fdb driver es que se desarrollan en una rama separada.

Probé el controlador de tabla para una pequeña prueba con éxito, planeo probarlo en tablas más grandes pronto.

2

he estado vigilando (y, a veces mejora) varios enlaces Python para TC durante más de un año, así que aquí está una versión actualizada lista de los mejores enlaces que coincidan con sus criterios.

  • Para Tokio gabinete, incluyendo tirano: tokyo-python
  • Para Tokio Tirano (pura-Python): pyrant

hay muchas alternativas rancios y/o incompletos.

+0

Por cierto, todo el trabajo reciente se hace en mi fork de Pyrant: http://bitbucket.org/neithere/pyrant –

2

Mi rama de pytc llamado "tc" tienen soporte para tablas (TDB) http://github.com/rsms/tc

Ejemplo básico:

>>> import tc 
>>> db = tc.TDB("slab.tdb", tc.TDBOWRITER | tc.TDBOCREAT) 
>>> db.put('some key', {'name': 'John Doe', 'age': '45', 'city': u'Internets'}) 
>>> rec = db.get('some key') 
>>> print rec['name'] 
John Doe 

consultas escénicas:

>>> import tc 
>>> db = tc.TDB("slab.tdb", tc.TDBOWRITER | tc.TDBOCREAT) 
>>> db.put('torgny', {'name': 'Torgny Korv', 'age': '31', 'colors': 'red,blue,green'}) 
>>> db.put('rosa', {'name': 'Rosa Flying', 'age': '29', 'colors': 'pink,blue,green'}) 
>>> db.put('jdoe', {'name': 'John Doe', 'age': '45', 'colors': 'red,green,orange'}) 
>>> q = db.query() 
>>> q.keys() 
['torgny', 'rosa', 'jdoe'] 
>>> q.filter('age', tc.TDBQCNUMGE, '30') 
>>> q.keys() 
['torgny', 'jdoe'] 
>>> q.filter('colors', tc.TDBQCSTROR, 'blue') 
>>> q.keys() 
['torgny'] 
>>> # new query: 
>>> q = db.query() 
>>> q.order('name') # Ascending order by default 
>>> q.keys() 
['jdoe', 'rosa', 'torgny'] 
>>> q.order(type=tc.TDBQONUMASC, column='age') 
>>> q.keys() 
['jdoe', 'torgny', 'rosa'] 

Más ejemplos en el TDB Prueba unitaria: http://github.com/rsms/tc/blob/master/lib/tc/test/tdb.py

Cuestiones relacionadas