[prev in list] [next in list] [prev in thread] [next in thread]
List: monetdb-checkins
Subject: MonetDB: default - Code deduplication.
From: Sjoerd Mullender via checkin-list <checkin-list () monetdb ! org>
Date: 2024-01-24 13:38:54
Message-ID: hg.509848eaf33d.1706103534.-2906890311611917923 () dev ! monetdb ! org
[Download RAW message or body]
Changeset: 509848eaf33d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/509848eaf33d
Modified Files:
clients/mapiclient/dump.c
clients/mapiclient/msqldump.h
Branch: default
Log Message:
Code deduplication.
diffs (267 lines):
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -1213,33 +1213,18 @@ bailout:
return 1;
}
-int
+static int
describe_table(Mapi mid, const char *schema, const char *tname,
stream *toConsole, bool foreign, bool databaseDump)
{
int cnt, table_id = 0;
MapiHdl hdl = NULL;
- char *query = NULL, *view = NULL, *remark = NULL, *sname = NULL, *s = NULL, *t = \
NULL; + char *query = NULL, *view = NULL, *remark = NULL, *s = NULL, *t = NULL;
int type = 0;
int ca = 0;
size_t maxquerylen;
bool hashge;
- if (schema == NULL) {
- if ((sname = strchr(tname, '.')) != NULL) {
- size_t len = sname - tname + 1;
-
- sname = malloc(len);
- if (sname == NULL)
- goto bailout;
- strcpy_len(sname, tname, len);
- tname += len;
- } else if ((sname = get_schema(mid)) == NULL) {
- return 1;
- }
- schema = sname;
- }
-
hashge = has_hugeint(mid);
s = sescape(schema);
@@ -1537,8 +1522,6 @@ describe_table(Mapi mid, const char *sch
free(remark);
if (query != NULL)
free(query);
- if (sname != NULL)
- free(sname);
return 0;
bailout:
@@ -1559,8 +1542,6 @@ bailout2:
free(view);
if (remark)
free(remark);
- if (sname != NULL)
- free(sname);
if (query != NULL)
free(query);
if (s != NULL)
@@ -1738,8 +1719,8 @@ describe_schema(Mapi mid, const char *sn
}
static int
-dump_table_data(Mapi mid, const char *schema, const char *tname, stream *toConsole,
- bool useInserts, bool noescape)
+dump_table_data(Mapi mid, const char *schema, const char *tname,
+ stream *toConsole, bool useInserts, bool noescape)
{
int cnt, i;
int64_t rows;
@@ -1747,24 +1728,8 @@ dump_table_data(Mapi mid, const char *sc
char *query = NULL;
size_t maxquerylen;
unsigned char *string = NULL;
- char *sname = NULL;
char *s, *t;
- if (schema == NULL) {
- if ((sname = strchr(tname, '.')) != NULL) {
- size_t len = sname - tname + 1;
-
- sname = malloc(len);
- if (sname == NULL)
- goto bailout;
- strcpy_len(sname, tname, len);
- tname += len;
- } else if ((sname = get_schema(mid)) == NULL) {
- goto bailout;
- }
- schema = sname;
- }
-
maxquerylen = 5120 + 2*strlen(tname) + 2*strlen(schema);
query = malloc(maxquerylen);
if (query == NULL)
@@ -1938,8 +1903,6 @@ dump_table_data(Mapi mid, const char *sc
mapi_close_handle(hdl);
if (query != NULL)
free(query);
- if (sname != NULL)
- free(sname);
return 0;
bailout:
@@ -1955,8 +1918,6 @@ bailout:
mapi_explain(mid, stderr);
else if (mnstr_errnr(toConsole) == MNSTR_NO__ERROR)
fprintf(stderr, "malloc failure\n");
- if (sname != NULL)
- free(sname);
if (query != NULL)
free(query);
if (string != NULL)
@@ -1967,7 +1928,6 @@ bailout:
static int
dump_table_storage(Mapi mid, const char *schema, const char *tname, stream \
*toConsole) {
- char *sname = NULL;
char *query = NULL;
size_t maxquerylen;
MapiHdl hdl = NULL;
@@ -1975,21 +1935,6 @@ dump_table_storage(Mapi mid, const char
char *t = NULL;
int rc = 1;
- if (schema == NULL) {
- if ((sname = strchr(tname, '.')) != NULL) {
- size_t len = sname - tname + 1;
-
- sname = malloc(len);
- if (sname == NULL)
- goto bailout;
- strcpy_len(sname, tname, len);
- tname += len;
- } else if ((sname = get_schema(mid)) == NULL) {
- goto bailout;
- }
- schema = sname;
- }
-
maxquerylen = 5120 + 2*strlen(tname) + 2*strlen(schema);
query = malloc(maxquerylen);
s = sescape(schema);
@@ -2025,14 +1970,12 @@ dump_table_storage(Mapi mid, const char
free(s);
free(t);
mapi_close_handle(hdl); /* may be NULL */
- free(sname); /* may be NULL */
return rc;
}
static int
dump_table_access(Mapi mid, const char *schema, const char *tname, stream \
*toConsole) {
- char *sname = NULL;
char *query = NULL;
size_t maxquerylen;
MapiHdl hdl = NULL;
@@ -2040,21 +1983,6 @@ dump_table_access(Mapi mid, const char *
char *t = NULL;
int rc = 1;
- if (schema == NULL) {
- if ((sname = strchr(tname, '.')) != NULL) {
- size_t len = sname - tname + 1;
-
- sname = malloc(len);
- if (sname == NULL)
- goto bailout;
- strcpy_len(sname, tname, len);
- tname += len;
- } else if ((sname = get_schema(mid)) == NULL) {
- goto bailout;
- }
- schema = sname;
- }
-
maxquerylen = 5120 + 2*strlen(tname) + 2*strlen(schema);
query = malloc(maxquerylen);
s = sescape(schema);
@@ -2090,14 +2018,12 @@ dump_table_access(Mapi mid, const char *
free(s);
free(t);
mapi_close_handle(hdl); /* may be NULL */
- free(sname); /* may be NULL */
return rc;
}
static int
dump_table_defaults(Mapi mid, const char *schema, const char *tname, stream \
*toConsole) {
- char *sname = NULL;
char *query = NULL;
size_t maxquerylen;
MapiHdl hdl = NULL;
@@ -2105,21 +2031,6 @@ dump_table_defaults(Mapi mid, const char
char *t = NULL;
int rc = 1;
- if (schema == NULL && tname != NULL) {
- if ((sname = strchr(tname, '.')) != NULL) {
- size_t len = sname - tname + 1;
-
- sname = malloc(len);
- if (sname == NULL)
- goto bailout;
- strcpy_len(sname, tname, len);
- tname += len;
- } else if ((sname = get_schema(mid)) == NULL) {
- goto bailout;
- }
- schema = sname;
- }
-
maxquerylen = 512;
if (schema != NULL && tname != NULL) {
maxquerylen += 2*strlen(tname) + 2*strlen(schema);
@@ -2169,7 +2080,6 @@ dump_table_defaults(Mapi mid, const char
free(s);
free(t);
mapi_close_handle(hdl); /* may be NULL */
- free(sname); /* may be NULL */
return rc;
}
@@ -2178,8 +2088,24 @@ dump_table(Mapi mid, const char *schema,
bool describe, bool foreign, bool useInserts, bool databaseDump,
bool noescape)
{
+ char *sname = NULL;
int rc;
+ if (schema == NULL) {
+ if ((sname = strchr(tname, '.')) != NULL) {
+ size_t len = sname - tname + 1;
+
+ sname = malloc(len);
+ if (sname == NULL)
+ return 1;
+ strcpy_len(sname, tname, len);
+ tname += len;
+ } else if ((sname = get_schema(mid)) == NULL) {
+ return 1;
+ }
+ schema = sname;
+ }
+
rc = describe_table(mid, schema, tname, toConsole, foreign, databaseDump);
if (rc == 0)
rc = dump_table_storage(mid, schema, tname, toConsole);
@@ -2189,6 +2115,7 @@ dump_table(Mapi mid, const char *schema,
rc = dump_table_access(mid, schema, tname, toConsole);
if (rc == 0 && !databaseDump)
rc = dump_table_defaults(mid, schema, tname, toConsole);
+ free(sname); /* may be NULL, but that's OK */
return rc;
}
diff --git a/clients/mapiclient/msqldump.h b/clients/mapiclient/msqldump.h
--- a/clients/mapiclient/msqldump.h
+++ b/clients/mapiclient/msqldump.h
@@ -10,7 +10,6 @@
* Copyright 1997 - July 2008 CWI.
*/
-extern int describe_table(Mapi mid, const char *schema, const char *tname, stream \
*toConsole, bool foreign, bool databaseDump); extern int describe_sequence(Mapi mid, \
const char *schema, const char *sname, stream *toConsole); extern int \
describe_schema(Mapi mid, const char *sname, stream *toConsole); extern int \
dump_table(Mapi mid, const char *schema, const char *tname, stream *toConsole, bool \
describe, bool foreign, bool useInserts, bool databaseDump, bool noescape); \
_______________________________________________ checkin-list mailing list -- \
checkin-list@monetdb.org To unsubscribe send an email to \
checkin-list-leave@monetdb.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic