]> git.tuebingen.mpg.de Git - adu.git/blobdiff - select.c
Do not close tables on each query.
[adu.git] / select.c
index 6b1fc93f7f2464b32cbb27620408c5504b60d05f..6318d7c47b67857302f8757ba7ed5ca31a175b33 100644 (file)
--- a/select.c
+++ b/select.c
@@ -686,13 +686,12 @@ int run_select_query(struct uid_range *admissible_uids, struct format_info *fi)
        if (ret < 0)
                goto out;
        check_signals();
-       ret = read_uid_file(admissible_uids);
+       ret = open_admissible_user_tables(admissible_uids);
        if (ret < 0)
                goto out;
        check_signals();
        ret = print_statistics(fi);
 out:
-       close_all_tables();
        if (output_file && output_file != stdout) {
                fclose(output_file);
                output_file = NULL;
@@ -802,9 +801,13 @@ int com_select(void)
        ret = parse_select_options(conf.select_options_arg, &params,
                &admissible_uids, &fi);
        if (ret > 0) {
+               ret = read_uid_file();
+               if (ret < 0)
+                       goto out;
                ret = run_select_query(admissible_uids, fi);
                free_format_info(fi);
        }
+out:
        select_cmdline_parser_free(&select_conf);
        return ret;
 }