Merge branch 'master' into no-glib

This commit is contained in:
Evan Miller 2020-08-05 18:49:24 -04:00
commit 68d3a22e77
4 changed files with 13 additions and 14 deletions

View File

@ -270,6 +270,11 @@ quote_with_squotes(const gchar* value)
return quote_generic(value, '\'', '\''); return quote_generic(value, '\'', '\'');
} }
static int mdb_col_is_shortdate(const MdbColumn *col) {
const char *format = mdb_col_get_prop(col, "Format");
return format && !strcmp(format, "Short Date");
}
MDB_DEPRECATED(char*, MDB_DEPRECATED(char*,
mdb_get_coltype_string(MdbBackend *backend, int col_type)) mdb_get_coltype_string(MdbBackend *backend, int col_type))
{ {
@ -299,7 +304,6 @@ mdb_coltype_takes_length(MdbBackend *backend, int col_type))
return backend->types_table[col_type].needs_length; return backend->types_table[col_type].needs_length;
} }
const MdbBackendType* const MdbBackendType*
mdb_get_colbacktype(const MdbColumn *col) { mdb_get_colbacktype(const MdbColumn *col) {
MdbBackend *backend = col->table->entry->mdb->default_backend; MdbBackend *backend = col->table->entry->mdb->default_backend;
@ -309,8 +313,7 @@ mdb_get_colbacktype(const MdbColumn *col) {
if (col_type == MDB_LONGINT && col->is_long_auto && backend->type_autonum) if (col_type == MDB_LONGINT && col->is_long_auto && backend->type_autonum)
return backend->type_autonum; return backend->type_autonum;
if (col_type == MDB_DATETIME && backend->type_shortdate) { if (col_type == MDB_DATETIME && backend->type_shortdate) {
const char *format = mdb_col_get_prop(col, "Format"); if (mdb_col_is_shortdate(col))
if (format && !strcmp(format, "Short Date"))
return backend->type_shortdate; return backend->type_shortdate;
} }
return &backend->types_table[col_type]; return &backend->types_table[col_type];
@ -841,7 +844,7 @@ generate_table_schema(FILE *outfile, MdbCatalogEntry *entry, char *dbnamespace,
else if (!strcmp(defval, "No")) else if (!strcmp(defval, "No"))
fputs("FALSE", outfile); fputs("FALSE", outfile);
else if (!g_ascii_strcasecmp(defval, "date()")) { else if (!g_ascii_strcasecmp(defval, "date()")) {
if (!strcmp(mdb_col_get_prop(col, "Format"), "Short Date")) if (mdb_col_is_shortdate(col))
fputs(mdb->default_backend->short_now, outfile); fputs(mdb->default_backend->short_now, outfile);
else else
fputs(mdb->default_backend->long_now, outfile); fputs(mdb->default_backend->long_now, outfile);

View File

@ -33,15 +33,6 @@ static gint mdb_col_comparer(MdbColumn **a, MdbColumn **b)
return 0; return 0;
} }
unsigned char mdb_col_needs_size(int col_type)
{
if (col_type == MDB_TEXT) {
return TRUE;
} else {
return FALSE;
}
}
MdbTableDef *mdb_alloc_tabledef(MdbCatalogEntry *entry) MdbTableDef *mdb_alloc_tabledef(MdbCatalogEntry *entry)
{ {
MdbTableDef *table; MdbTableDef *table;

View File

@ -950,6 +950,9 @@ static SQLRETURN SQL_API _SQLColAttributes(
break; break;
} }
break; break;
case SQL_DESC_UPDATABLE:
*pfDesc = SQL_ATTR_READONLY;
break;
default: default:
strcpy(sqlState, "HYC00"); // Driver not capable strcpy(sqlState, "HYC00"); // Driver not capable
ret = SQL_ERROR; ret = SQL_ERROR;

View File

@ -138,6 +138,8 @@ main(int argc, char **argv)
/* Process options */ /* Process options */
if (quote_char) if (quote_char)
quote_char = escapes(quote_char); quote_char = escapes(quote_char);
else if (insert_dialect && !strcmp(insert_dialect, "postgres"))
quote_char = g_strdup("'");
else else
quote_char = g_strdup("\""); quote_char = g_strdup("\"");