## Uses of Class
adql.query.ADQLQuery

- Packages that use ADQLQuery
  Package | Description
  --- | ---
  adql.db |
  adql.parser |
  adql.query |
  adql.query.constraint |
  adql.query.from |
  adql.translator |

- - ### Uses of ADQLQuery in adql.db

    Methods in adql.db with parameters of type ADQLQuery
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | DBChecker.`check​(ADQLQuery query)` | Check all the columns, tables and UDFs references inside the given query.
    `protected void` | DBChecker.`check​(ADQLQuery query, java.util.Stack<SearchColumnList> fathersList)` | Process several (semantic) verifications in the given ADQL query.
    `protected SearchColumnList` | DBChecker.`checkDBItems​(ADQLQuery query, java.util.Stack<SearchColumnList> fathersList, UnresolvedIdentifiersException errors)` | Check DB items (tables and columns) used in the given ADQL query.
    `protected void` | DBChecker.`checkGeometries​(ADQLQuery query, UnresolvedIdentifiersException errors)` | Check all geometries.
    `protected void` | DBChecker.`checkSubQueries​(ADQLQuery query, java.util.Stack<SearchColumnList> fathersList, SearchColumnList availableColumns, UnresolvedIdentifiersException errors)` | Search all sub-queries found in the given query but not in the clause FROM.
    `protected void` | DBChecker.`checkTypes​(ADQLQuery query, UnresolvedIdentifiersException errors)` | Search all operands whose the type is not yet known and try to resolve it now and to check whether it matches the type expected by the syntactic parser.
    `protected void` | DBChecker.`checkUDFs​(ADQLQuery query, UnresolvedIdentifiersException errors)` | Search all UDFs (User Defined Functions) inside the given query, and then check their signature against the list of allowed UDFs.
    `static DBTable` | DBChecker.`generateDBTable​(ADQLQuery subQuery, java.lang.String tableName)` | Generate a `DBTable` corresponding to the given sub-query with the given table name.
    `protected void` | DBChecker.`resolveColumns​(ADQLQuery query, java.util.Stack<SearchColumnList> fathersList, java.util.Map<DBTable,​ADQLTable> mapTables, SearchColumnList list, UnresolvedIdentifiersException errors)` | Search all column references inside the given query, resolve them thanks to the given tables' metadata, and if there is only one match, attach the matching metadata to them.
    `protected void` | DBChecker.`resolveCoordinateSystems​(ADQLQuery query, UnresolvedIdentifiersException errors)` | Search all explicit coordinate system declarations, check their syntax and whether they are allowed by this implementation.
    `protected void` | DBChecker.`resolveGeometryFunctions​(ADQLQuery query, DBChecker.BinarySearch<java.lang.String,​java.lang.String> binSearch, UnresolvedIdentifiersException errors)` | Search for all geometrical functions and check whether they are allowed.
    `protected void` | DBChecker.`resolveSTCSExpressions​(ADQLQuery query, DBChecker.BinarySearch<java.lang.String,​java.lang.String> binSearch, UnresolvedIdentifiersException errors)` | Search all STC-S expressions inside the given query, parse them (and so check their syntax) and then determine whether the declared coordinate system and the expressed region are allowed in this implementation.
    `protected java.util.Map<DBTable,​ADQLTable>` | DBChecker.`resolveTables​(ADQLQuery query, java.util.Stack<SearchColumnList> fathersList, UnresolvedIdentifiersException errors)` | Search all table references inside the given query, resolve them against the available tables, and if there is only one match, attach the matching metadata to them.

  - ### Uses of ADQLQuery in adql.parser

    Methods in adql.parser that return ADQLQuery
    Modifier and Type | Method | Description
    --- | --- | ---
    `ADQLQuery` | ADQLQueryFactory.`createQuery()` |
    `ADQLQuery` | ADQLParser.`parseQuery()` | Parses the query given at the creation of this parser or in the ReInit functions.
    `ADQLQuery` | ADQLParser.`parseQuery​(java.io.InputStream stream)` | Parses the query contained in the stream given in parameter.
    `ADQLQuery` | ADQLParser.`parseQuery​(java.lang.String q)` | Parses the query given in parameter.
    `ADQLQuery` | ADQLParser.`Query()` | Parses the ADQL query given at the parser creation or in the `ADQLParser.ReInit(java.io.InputStream)` or in the parseQuery functions.
    `ADQLQuery` | ADQLParser.`QueryExpression()` |
    `ADQLQuery` | ADQLParser.`SubQueryExpression()` |

    Methods in adql.parser with parameters of type ADQLQuery
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | QueryChecker.`check​(ADQLQuery query)` | Checks the given `ADQLQuery`.
    `Exists` | ADQLQueryFactory.`createExists​(ADQLQuery query)` |
    `In` | ADQLQueryFactory.`createIn​(ADQLOperand leftOp, ADQLQuery query, boolean notIn)` |
    `ADQLTable` | ADQLQueryFactory.`createTable​(ADQLQuery query, IdentifierItems.IdentifierItem alias)` |

  - ### Uses of ADQLQuery in adql.query

    Methods in adql.query that return ADQLQuery
    Modifier and Type | Method | Description
    --- | --- | ---
    `ADQLQuery` | SelectAllColumns.`getQuery()` | Gets the query whose all available columns must be selected.

    Methods in adql.query with parameters of type ADQLQuery
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | SelectAllColumns.`setQuery​(ADQLQuery query)` | Sets the query whose all available columns must be selected.

    Constructors in adql.query with parameters of type ADQLQuery
    Constructor | Description
    --- | ---
    `ADQLQuery​(ADQLQuery toCopy)` | Builds an ADQL query by copying the given one.
    `SelectAllColumns​(ADQLQuery query)` | Builds a `SelectItem` which selects all columns available in the given ADQL query.

  - ### Uses of ADQLQuery in adql.query.constraint

    Methods in adql.query.constraint that return ADQLQuery
    Modifier and Type | Method | Description
    --- | --- | ---
    `ADQLQuery` | Exists.`getSubQuery()` | Gets the sub-query of this EXISTS constraint.
    `ADQLQuery` | In.`getSubQuery()` | Gets the sub-query (right operand) of this IN constraint.

    Methods in adql.query.constraint with parameters of type ADQLQuery
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | Exists.`setSubQuery​(ADQLQuery query)` | Replaces the sub-query of this EXISTS constraint by the given one.
    `void` | In.`setSubQuery​(ADQLQuery newSubQuery)` | Replaces the sub-query (right operand) of this IN constraint.

    Constructors in adql.query.constraint with parameters of type ADQLQuery
    Constructor | Description
    --- | ---
    `Exists​(ADQLQuery query)` | Builds an Exists constraint instance.
    `In​(ADQLOperand op, ADQLQuery query)` | Builds an IN constraint with a sub-query.
    `In​(ADQLOperand op, ADQLQuery query, boolean notIn)` | Builds an IN constraint with a sub-query.

  - ### Uses of ADQLQuery in adql.query.from

    Methods in adql.query.from that return ADQLQuery
    Modifier and Type | Method | Description
    --- | --- | ---
    `ADQLQuery` | ADQLTable.`getSubQuery()` | Gets the sub-query used as table.

    Methods in adql.query.from with parameters of type ADQLQuery
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | ADQLTable.`setSubQuery​(ADQLQuery query)` | Sets the sub-query to use as table.

    Constructors in adql.query.from with parameters of type ADQLQuery
    Constructor | Description
    --- | ---
    `ADQLTable​(ADQLQuery query)` | Builds a reference to a sub-query.

  - ### Uses of ADQLQuery in adql.translator

    Methods in adql.translator with parameters of type ADQLQuery
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | ADQLTranslator.`translate​(ADQLQuery query)` |
    `java.lang.String` | JDBCTranslator.`translate​(ADQLQuery query)` |
    `java.lang.String` | SQLServerTranslator.`translate​(ADQLQuery query)` | For SQL Server, `SQLServerTranslator.translate(ClauseSelect)` must be overridden for TOP/LIMIT handling.