
it.unibz.inf.ontop.iq.node.NativeNode Maven / Gradle / Ivy
package it.unibz.inf.ontop.iq.node;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSortedSet;
import it.unibz.inf.ontop.dbschema.QuotedID;
import it.unibz.inf.ontop.injection.IntermediateQueryFactory;
import it.unibz.inf.ontop.iq.LeafIQTree;
import it.unibz.inf.ontop.model.term.Variable;
import it.unibz.inf.ontop.model.type.DBTermType;
/**
* Represents a serialized query that can be executed by the DB engine
*
* See {@link IntermediateQueryFactory#createNativeNode} for creating a new instance.
*/
public interface NativeNode extends LeafIQTree {
/**
* Every variable is guaranteed to have a type
*/
ImmutableMap getTypeMap();
/**
* This set is sorted, useful for instance for using JDBC result sets
*/
@Override
ImmutableSortedSet getVariables();
/**
* Needed because certain DBs like Oracle impose constraints on the length of a column name,
* so the column name may differ from the variable name.
*/
ImmutableMap getColumnNames();
String getNativeQueryString();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy