'Get global data for the container.
:returns: dict with keys: account, container, created_at,
put_timestamp, delete_timestamp, status_changed_at,
object_count, bytes_used, reported_put_timestamp,
reported_delete_timestamp, reported_object_count,
reported_bytes_used, hash, id, x_container_sync_point1,
x_container_sync_point2, and storage_policy_index.'

def get_info(self):

    self._commit_puts_stale_ok()
    with self.get() as conn:
        data = None
        trailing_sync = 'x_container_sync_point1,    x_container_sync_point2'
        trailing_pol = 'storage_policy_index'
        errors = set()
        while (not data):
            try:
                data = conn.execute(('\n                                                                                                SELECT    account,    container,    created_at,    put_timestamp,\n                                                                                                                delete_timestamp,    status_changed_at,\n                                                                                                                object_count,    bytes_used,\n                                                                                                                reported_put_timestamp,    reported_delete_timestamp,\n                                                                                                                reported_object_count,    reported_bytes_used,    hash,\n                                                                                                                id,    %s,    %s\n                                                                                                                FROM    container_stat\n                                                                                ' % (trailing_sync, trailing_pol))).fetchone()
            except sqlite3.OperationalError as err:
                err_msg = str(err)
                if (err_msg in errors):
                    raise
                errors.add(err_msg)
                if ('no    such    column:    storage_policy_index' in err_msg):
                    trailing_pol = '0    AS    storage_policy_index'
                elif ('no    such    column:    x_container_sync_point' in err_msg):
                    trailing_sync = '-1    AS    x_container_sync_point1,    -1    AS    x_container_sync_point2'
                else:
                    raise
        data = dict(data)
        self._storage_policy_index = data['storage_policy_index']
        self.account = data['account']
        self.container = data['container']
        return data
