mirror of
https://github.com/mdbtools/mdbtools.git
synced 2025-05-04 13:19:32 +08:00
patch from Terry Brown <terry_n_brown at yahoo.com> to not sanitize the schema in mdb-schema
This commit is contained in:
parent
fb179fc301
commit
4f73e1b295
@ -151,8 +151,10 @@ char* sanitize_name(const char* str)
|
|||||||
if (*str) {
|
if (*str) {
|
||||||
*p = isalpha(*str) ? *str : '_';
|
*p = isalpha(*str) ? *str : '_';
|
||||||
p++;
|
p++;
|
||||||
|
if (!isdigit(*str)) /* if it was a digit, keep it */
|
||||||
str++;
|
str++;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (*str) {
|
while (*str) {
|
||||||
*p = isalnum(*str) ? *str : '_';
|
*p = isalnum(*str) ? *str : '_';
|
||||||
p++;
|
p++;
|
||||||
@ -160,6 +162,7 @@ char* sanitize_name(const char* str)
|
|||||||
}
|
}
|
||||||
|
|
||||||
*p = 0;
|
*p = 0;
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,19 +132,18 @@ generate_table_schema(MdbCatalogEntry *entry, char *namespace, int sanitize)
|
|||||||
char* quoted_name;
|
char* quoted_name;
|
||||||
char* sql_sequences;
|
char* sql_sequences;
|
||||||
|
|
||||||
if (namespace) {
|
|
||||||
table_name = malloc(strlen(namespace)+strlen(entry->object_name)+1);
|
|
||||||
strcpy(table_name, namespace);
|
|
||||||
strcat(table_name, entry->object_name);
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
table_name = strdup(entry->object_name);
|
|
||||||
}
|
|
||||||
if (sanitize)
|
if (sanitize)
|
||||||
quoted_table_name = sanitize_name(table_name);
|
quoted_table_name = sanitize_name(entry->object_name);
|
||||||
else
|
else
|
||||||
quoted_table_name = mdb->default_backend->quote_name(table_name);
|
quoted_table_name = mdb->default_backend->quote_name(entry->object_name);
|
||||||
free(table_name);
|
|
||||||
|
if (namespace) {
|
||||||
|
table_name = malloc(strlen(namespace)+strlen(quoted_table_name)+1);
|
||||||
|
strcpy(table_name, namespace);
|
||||||
|
strcat(table_name, quoted_table_name);
|
||||||
|
free(quoted_table_name);
|
||||||
|
quoted_table_name = table_name;
|
||||||
|
}
|
||||||
|
|
||||||
/* drop the table if it exists */
|
/* drop the table if it exists */
|
||||||
fprintf (stdout, "DROP TABLE %s;\n", quoted_table_name);
|
fprintf (stdout, "DROP TABLE %s;\n", quoted_table_name);
|
||||||
|
Loading…
Reference in New Issue
Block a user