mirror of
https://github.com/mdbtools/mdbtools.git
synced 2025-05-03 20:47:57 +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) {
|
||||
*p = isalpha(*str) ? *str : '_';
|
||||
p++;
|
||||
if (!isdigit(*str)) /* if it was a digit, keep it */
|
||||
str++;
|
||||
}
|
||||
|
||||
while (*str) {
|
||||
*p = isalnum(*str) ? *str : '_';
|
||||
p++;
|
||||
@ -160,6 +162,7 @@ char* sanitize_name(const char* str)
|
||||
}
|
||||
|
||||
*p = 0;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -132,19 +132,18 @@ generate_table_schema(MdbCatalogEntry *entry, char *namespace, int sanitize)
|
||||
char* quoted_name;
|
||||
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)
|
||||
quoted_table_name = sanitize_name(table_name);
|
||||
quoted_table_name = sanitize_name(entry->object_name);
|
||||
else
|
||||
quoted_table_name = mdb->default_backend->quote_name(table_name);
|
||||
free(table_name);
|
||||
quoted_table_name = mdb->default_backend->quote_name(entry->object_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 */
|
||||
fprintf (stdout, "DROP TABLE %s;\n", quoted_table_name);
|
||||
|
Loading…
Reference in New Issue
Block a user