Re: proposal: possibility to read dumped table's name from file - Mailing list pgsql-hackers
From | Pavel Stehule |
---|---|
Subject | Re: proposal: possibility to read dumped table's name from file |
Date | |
Msg-id | CAFj8pRDU-CsvKjxEZ=SvuVjymFSEdS1pgLzxB7RTWSWnnqcLAA@mail.gmail.com Whole thread Raw |
In response to | Re: proposal: possibility to read dumped table's name from file (vignesh C <vignesh21@gmail.com>) |
Responses |
Re: proposal: possibility to read dumped table's name from file
Re: proposal: possibility to read dumped table's name from file |
List | pgsql-hackers |
ne 12. 7. 2020 v 3:43 odesílatel vignesh C <vignesh21@gmail.com> napsal:
On Mon, Jul 6, 2020 at 10:05 AM Pavel Stehule <pavel.stehule@gmail.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);
<--><-->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
pgsql-hackers by date: