summaryrefslogtreecommitdiff
path: root/storage/connect/tabxml.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'storage/connect/tabxml.cpp')
-rw-r--r--storage/connect/tabxml.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/storage/connect/tabxml.cpp b/storage/connect/tabxml.cpp
index 81c19ff1a4f..dcebe18dd36 100644
--- a/storage/connect/tabxml.cpp
+++ b/storage/connect/tabxml.cpp
@@ -148,14 +148,21 @@ PQRYRES XMLColumns(PGLOBAL g, char *db, char *tab, PTOS topt, bool info)
/* Open the input file. */
/*********************************************************************/
if (!(fn = GetStringTableOption(g, topt, "Filename", NULL))) {
- strcpy(g->Message, MSG(MISSING_FNAME));
- return NULL;
- } else {
- lvl = GetIntegerTableOption(g, topt, "Level", GetDefaultDepth());
- lvl = GetIntegerTableOption(g, topt, "Depth", lvl);
- lvl = (lvl < 0) ? 0 : (lvl > 16) ? 16 : lvl;
+ if (topt->http) // REST table can have default filename
+ fn = GetStringTableOption(g, topt, "Subtype", NULL);
+
+ if (!fn) {
+ strcpy(g->Message, MSG(MISSING_FNAME));
+ return NULL;
+ } else
+ topt->subtype = NULL;
+
} // endif fn
+ lvl = GetIntegerTableOption(g, topt, "Level", GetDefaultDepth());
+ lvl = GetIntegerTableOption(g, topt, "Depth", lvl);
+ lvl = (lvl < 0) ? 0 : (lvl > 16) ? 16 : lvl;
+
if (trace(1))
htrc("File %s lvl=%d\n", topt->filename, lvl);