From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | vignesh C <vignesh21(at)gmail(dot)com> |
Cc: | Justin Pryzby <pryzby(at)telsasoft(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: proposal: possibility to read dumped table's name from file |
Date: | 2020-07-13 08:20:42 |
Message-ID: | CAFj8pRDU-CsvKjxEZ=SvuVjymFSEdS1pgLzxB7RTWSWnnqcLAA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
ne 12. 7. 2020 v 3:43 odesílatel vignesh C <vignesh21(at)gmail(dot)com> napsal:
> On Mon, Jul 6, 2020 at 10:05 AM Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
> wrote:
> >
> > here is support for comment's line - first char should be #
> >
>
> Few comments:
> + str = fgets(*lineptr + total_chars,
> + *n - total_chars,
> + fp);
> +
> + if (ferror(fp))
> + return -1;
>
> Should we include any error message in the above case.
>
> + else
> + break;
> + }
> +
> + if (ferror(fp))
> + return -1;
>
> Similar to above.
>
it should be ok, both variant finishing by
<-->if (ferror(fp))
<--><-->fatal("could not read from file \"%s\": %m", filename);
%m should to print related error message
>
> + /* check, if there is good enough space for
> next content */
> + if (*n - total_chars < 2)
> + {
> + *n += 1024;
> + *lineptr = pg_realloc(*lineptr, *n);
> + }
> We could use a macro in place of 1024.
>
done
> + if (objecttype == 't')
> + {
> + if (is_include)
> + {
> +
> simple_string_list_append(&table_include_patterns,
> +
> objectname);
> +
> dopt.include_everything = false;
> + }
> + else
> +
> simple_string_list_append(&table_exclude_patterns,
> +
> objectname);
> + }
> + else if (objecttype == 'n')
> + {
> + if (is_include)
> + {
> +
> simple_string_list_append(&schema_include_patterns,
> +
> objectname);
> +
> dopt.include_everything = false;
> + }
> + else
> +
> simple_string_list_append(&schema_exclude_patterns,
> +
> objectname);
> + }
> Some of the above code is repetitive in above, can the common code be
> made into a macro and called?
>
There are two same fragments and two different fragments. In this case I
don't think so using macro or auxiliary function can help with readability.
Current code is well structured and well readable.
>
> printf(_(" --extra-float-digits=NUM override default
> setting for extra_float_digits\n"));
> + printf(_(" --filter=FILENAME read object name
> filter expressions from file\n"));
> printf(_(" --if-exists use IF EXISTS when
> dropping objects\n"));
> Can this be changed to dump objects and data based on the filter
> expressions from the filter file.
>
I am sorry, I don't understand. This should work for data from specified by
filter without any modification.
attached updated patch
Regards
Pavel
> Regards,
> Vignesh
> EnterpriseDB: http://www.enterprisedb.com
>
Attachment | Content-Type | Size |
---|---|---|
pg_dump-filter-20200713-2.patch | text/x-patch | 9.8 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Khandekar | 2020-07-13 08:57:19 | Re: Auto-vectorization speeds up multiplication of large-precision numerics |
Previous Message | Daniel Gustafsson | 2020-07-13 08:12:54 | Re: Don't choke on files that are removed while pg_rewind runs. |