mirror of
https://github.com/postgres/postgres.git
synced 2025-06-14 18:42:34 +03:00
> It quotes table names for vacuum and analyze, and uppercases the
> keywords for clarity. Yeah, this is basically what I meant, sorry I didn't get to it quicker. However, I tested it out a little and the patch you made doesn't work because it produces commands like: VACUUM ANALYZE "public.FooBar" Which doesn't work, so I made my own patch that creates commands like: VACUUM ANALYZE "public"."FooBar" This allows for mixed case schema names as well as tables. Adam, can you please give this a test as you are the person who caught the bug in the first place. Thanks, Matthew T. O'Connor
This commit is contained in:
@ -88,16 +88,21 @@ init_table_info(PGresult *res, int row, db_info * dbi)
|
|||||||
|
|
||||||
new_tbl->table_name = (char *)
|
new_tbl->table_name = (char *)
|
||||||
malloc(strlen(PQgetvalue(res, row, PQfnumber(res, "relname"))) +
|
malloc(strlen(PQgetvalue(res, row, PQfnumber(res, "relname"))) +
|
||||||
strlen(new_tbl->schema_name) + 2);
|
strlen(new_tbl->schema_name) + 6);
|
||||||
if (!new_tbl->table_name)
|
if (!new_tbl->table_name)
|
||||||
{
|
{
|
||||||
log_entry("init_table_info: malloc failed on new_tbl->table_name");
|
log_entry("init_table_info: malloc failed on new_tbl->table_name");
|
||||||
fflush(LOGOUTPUT);
|
fflush(LOGOUTPUT);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
strcpy(new_tbl->table_name, new_tbl->schema_name);
|
|
||||||
strcat(new_tbl->table_name, ".");
|
/* Put both the schema and table name in quotes so that
|
||||||
|
we can work with mixed case table names */
|
||||||
|
strcpy(new_tbl->table_name, "\"");
|
||||||
|
strcat(new_tbl->table_name, new_tbl->schema_name);
|
||||||
|
strcat(new_tbl->table_name, "\".\"");
|
||||||
strcat(new_tbl->table_name, PQgetvalue(res, row, PQfnumber(res, "relname")));
|
strcat(new_tbl->table_name, PQgetvalue(res, row, PQfnumber(res, "relname")));
|
||||||
|
strcat(new_tbl->table_name, "\"");
|
||||||
|
|
||||||
new_tbl->CountAtLastAnalyze =
|
new_tbl->CountAtLastAnalyze =
|
||||||
(atol(PQgetvalue(res, row, PQfnumber(res, "n_tup_ins"))) +
|
(atol(PQgetvalue(res, row, PQfnumber(res, "n_tup_ins"))) +
|
||||||
|
Reference in New Issue
Block a user