dataimport/massive_store.py
changeset 10865 2537df9fdd27
parent 10864 b7f4acf0473b
child 10867 ca73ee6d24ad
equal deleted inserted replaced
10864:b7f4acf0473b 10865:2537df9fdd27
    88                  drop_index=True,
    88                  drop_index=True,
    89                  pg_schema='public',
    89                  pg_schema='public',
    90                  iid_maxsize=1024, uri_param_name='rdf:about',
    90                  iid_maxsize=1024, uri_param_name='rdf:about',
    91                  eids_seq_range=10000, eids_seq_start=None,
    91                  eids_seq_range=10000, eids_seq_start=None,
    92                  on_commit_callback=None, on_rollback_callback=None,
    92                  on_commit_callback=None, on_rollback_callback=None,
    93                  slave_mode=False, build_entities=False,
    93                  slave_mode=False,
    94                  source=None):
    94                  source=None):
    95         """ Create a MassiveObject store, with the following attributes:
    95         """ Create a MassiveObject store, with the following attributes:
    96 
    96 
    97         - cnx: CubicWeb cnx
    97         - cnx: CubicWeb cnx
    98         - autoflush_metadata: Boolean.
    98         - autoflush_metadata: Boolean.
   109         - eids_seq_start: Int. Set the eids sequence value (if None, nothing is done).
   109         - eids_seq_start: Int. Set the eids sequence value (if None, nothing is done).
   110         - iid_maxsize: Int. Max size of the iid, used to create the
   110         - iid_maxsize: Int. Max size of the iid, used to create the
   111                     iid_eid convertion table.
   111                     iid_eid convertion table.
   112         - uri_param_name: String. If given, will use this parameter to get cw_uri
   112         - uri_param_name: String. If given, will use this parameter to get cw_uri
   113                           for entities.
   113                           for entities.
   114         - build_entities: Boolean. If True, create_entity returns a CW etype object
       
   115           (but WITHOUT eid !).
       
   116         """
   114         """
   117         super(MassiveObjectStore, self).__init__(cnx)
   115         super(MassiveObjectStore, self).__init__(cnx)
   118         self.logger = logging.getLogger('dataio.relationmixin')
   116         self.logger = logging.getLogger('dataio.relationmixin')
   119         self._cnx = cnx
   117         self._cnx = cnx
   120         self.sql = cnx.system_sql
   118         self.sql = cnx.system_sql
   135         self.drop_index = drop_index
   133         self.drop_index = drop_index
   136         self.slave_mode = slave_mode
   134         self.slave_mode = slave_mode
   137         self.size_constraints = get_size_constraints(cnx.vreg.schema)
   135         self.size_constraints = get_size_constraints(cnx.vreg.schema)
   138         self.default_values = get_default_values(cnx.vreg.schema)
   136         self.default_values = get_default_values(cnx.vreg.schema)
   139         self._dbh = PGHelper(self._cnx, pg_schema or 'public')
   137         self._dbh = PGHelper(self._cnx, pg_schema or 'public')
   140         self._build_entities = build_entities
       
   141         self._data_entities = defaultdict(list)
   138         self._data_entities = defaultdict(list)
   142         self._data_relations = defaultdict(list)
   139         self._data_relations = defaultdict(list)
   143         self._now = datetime.now()
   140         self._now = datetime.now()
   144         self._default_cwuri = make_uid('_auto_generated')
   141         self._default_cwuri = make_uid('_auto_generated')
   145         self.uri_param_name = uri_param_name
   142         self.uri_param_name = uri_param_name