Constructor and Description |
---|
ColumnMetadataStage(TapRunner tapRunner,
MetadataHolder metaHolder,
int maxTables)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
String |
getDescription()
Returns a short one-line description of this stage.
|
static String |
normaliseColumnName(String colName)
Returns the essence of a column name.
|
void |
run(Reporter reporter,
TapService tapService)
Performs the validation checks for this stage.
|
void |
setMaxTestTables(int maxTables)
Resets the limit on the number of tables to test.
|
public ColumnMetadataStage(TapRunner tapRunner, MetadataHolder metaHolder, int maxTables)
tapRunner
- object that can run TAP queriesmetaHolder
- provides table metadata at run timemaxTables
- limit on the number of tables to test,
or <=0 for no limitpublic void setMaxTestTables(int maxTables)
maxTables
- limit on the number of tables to test,
or <=0 for no limitpublic String getDescription()
Stage
getDescription
in interface Stage
public void run(Reporter reporter, TapService tapService)
Stage
public static String normaliseColumnName(String colName)
Currently, this does two things: flattens case and unquotes quoted names (delimited identifiers). This is a bit tricky or debatable or controversial. In general unquoting column names is not supposed to be something the client can do for itself, because there may be strange server-specific rules. But it's pretty clear how it would be done if it could be done, and pragmatically it doesn't make sense to flag an error if a column declared in the metadata with name '"size"' comes back in a result table with name 'size'. So this is probably the right thing to do for comparisons.
colName
- column nameCopyright © 2024 Central Laboratory of the Research Councils. All Rights Reserved.