Added support for name normalisation when generating code for PostgreSQL so that generated artefact names are consistently exported in lowercase.

This commit is contained in:
Jose Hernandez
2021-07-31 15:47:05 +01:00
parent ce4cf5acbf
commit afc6f4888b
5 changed files with 90 additions and 8 deletions

View File

@@ -39,6 +39,7 @@ typedef const void * gconstpointer;
typedef uint8_t guint8;
typedef guint32 GQuark;
typedef guint32 gunichar;
typedef signed int gssize;
typedef guint (*GHashFunc)(gconstpointer);
typedef int (*GCompareFunc)(gconstpointer, gconstpointer);
@@ -143,6 +144,7 @@ void g_printerr(const gchar *format, ...);
gint g_unichar_to_utf8(gunichar c, gchar *dst);
gchar *g_locale_to_utf8(const gchar *opsysstring, size_t len,
size_t *bytes_read, size_t *bytes_written, GError **error);
gchar *g_utf8_strdown(const gchar *str, gssize len);
/* GString */
GString *g_string_new(const gchar *init);

View File

@@ -235,6 +235,7 @@ typedef struct {
const char *table_comment_statement;
const char *per_table_comment_statement;
gchar* (*quote_schema_name)(const gchar*, const gchar*);
gchar* (*normalise_case)(const gchar*);
} MdbBackend;
typedef struct {
@@ -569,7 +570,8 @@ void mdb_register_backend(MdbHandle *mdb, char *backend_name, guint32 capabiliti
const char *drop_statement, const char *constaint_not_empty_statement,
const char *column_comment_statement, const char *per_column_comment_statement,
const char *table_comment_statement, const char *per_table_comment_statement,
gchar* (*quote_schema_name)(const gchar*, const gchar*));
gchar* (*quote_schema_name)(const gchar*, const gchar*),
gchar* (*normalise_case)(const gchar*));
int mdb_set_default_backend(MdbHandle *mdb, const char *backend_name);
int mdb_print_schema(MdbHandle *mdb, FILE *outfile, char *tabname, char *dbnamespace, guint32 export_options);
void mdb_print_col(FILE *outfile, gchar *col_val, int quote_text, int col_type, int bin_len, char *quote_char, char *escape_char, int flags);