devtools/dataimport.py
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Thu, 25 Mar 2010 13:59:47 +0100
branchstable
changeset 5013 ad91f93bbb93
parent 4847 9466604ef448
child 5421 8167de96c523
permissions -rw-r--r--
[source storage] refactor source sql generation and results handling to allow repository side callbacks for instance with the BytesFileSystemStorage, before this change: * fspath, _fsopen function were stored procedures executed on the database -> files had to be available both on the repository *and* the database host * we needed implementation for each handled database Now, those function are python callbacks executed when necessary on the repository side, on data comming from the database. The litle cons are: * you can't do anymore restriction on mapped attributes * you can't write queries which will return in the same rset column some mapped attributes (or not mapped the same way) / some not This seems much acceptable since: * it's much more easy to handle when you start having the db on another host than the repo * BFSS works seemlessly on any backend now * you don't bother that much about the cons (at least in the bfss case): you usually don't do any restriction on Bytes... Bonus points: BFSS is more efficient (no queries under the cover as it was done in the registered procedure) and we have a much nicer/efficient fspath implementation. IMO, that rocks :D
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4847
9466604ef448 move devtools.dataimport at the cw level since we don't want cubes using it to depends on cubicweb-dev
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4818
diff changeset
     1
# pylint: disable-msg=W0614,W0401
9466604ef448 move devtools.dataimport at the cw level since we don't want cubes using it to depends on cubicweb-dev
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4818
diff changeset
     2
from warnings import warn
9466604ef448 move devtools.dataimport at the cw level since we don't want cubes using it to depends on cubicweb-dev
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4818
diff changeset
     3
warn('moved to cubicweb.dataimport', DeprecationWarning, stacklevel=2)
9466604ef448 move devtools.dataimport at the cw level since we don't want cubes using it to depends on cubicweb-dev
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 4818
diff changeset
     4
from cubicweb.dataimport import *