patch from Terry Brown <terry_n_brown at yahoo.com> to not sanitize the schema in mdb-schema

This commit is contained in:
Brian Bruns 2010-08-03 20:04:29 -04:00
parent fb179fc301
commit 4f73e1b295
2 changed files with 13 additions and 11 deletions

View File

@ -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;
}

View File

@ -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);