Constructor | Description |
---|---|
ColumnMetadataStage(TapRunner tapRunner,
MetadataHolder metaHolder,
int maxTables) |
Constructor.
|
Modifier and Type | Method | Description |
---|---|---|
java.lang.String |
getDescription() |
Returns a short one-line description of this stage.
|
static java.lang.String |
normaliseColumnName(java.lang.String colName) |
Returns the essence of a column name.
|
void |
run(Reporter reporter,
uk.ac.starlink.vo.EndpointSet endpointSet) |
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 java.lang.String getDescription()
Stage
getDescription
in interface Stage
public void run(Reporter reporter, uk.ac.starlink.vo.EndpointSet endpointSet)
Stage
public static java.lang.String normaliseColumnName(java.lang.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 © 2018 Central Laboratory of the Research Councils. All Rights Reserved.