| 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()
StagegetDescription in interface Stagepublic void run(Reporter reporter, uk.ac.starlink.vo.EndpointSet endpointSet)
Stagepublic 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.