dataset_delete_vars (struct dataset *ds, struct variable **vars, size_t n)
{
dict_delete_vars (ds->dict, vars, n);
-
- if (ds->source)
- {
- struct case_map *map = case_map_to_compact_dict (ds->d, 0);
- ds->source = case_map_create_input_translator (map, ds->source);
- }
+ ds->source = case_map_create_input_translator (
+ case_map_to_compact_dict (ds->dict, 0), ds->source);
dict_compact_values (ds->dict);
+ caseinit_clear (ds->caseinit);
+ caseinit_mark_as_preinited (ds->caseinit, ds->dict);
+ return true;
}
/* Returns a number unique to DS. It can be used to distinguish one dataset
*chain = ds->stack[--ds->n_stack];
}
+bool
+proc_has_transformations (const struct dataset *ds)
+{
+ return ds->permanent_trns_chain.n || ds->temporary_trns_chain.n;
+}
+
static enum trns_result
store_case_num (void *var_, struct ccase **cc, casenumber case_num)
{