1 22 23 package org.xquark.extractor.runtime; 24 25 import java.util.ArrayList ; 26 import java.util.List ; 27 28 import org.xquark.extractor.algebra.Mapper; 29 import org.xquark.extractor.sql.SqlExpression; 30 import org.xquark.extractor.sql.StatementInfo; 31 import org.xquark.xquery.normalize.TransformXQueryExpression; 32 import org.xquark.xquery.parser.XQueryModule; 33 34 38 public class Query { 39 40 private String _query = null; 41 private List _cQuery = null; 42 private QueryFactory _compiler = null; 43 private XQueryModule _module = null; 44 45 50 public Query(String query, QueryFactory compiler, List compiledQuery, XQueryModule module) { 51 _query = query; 53 _compiler = compiler; 54 _cQuery = compiledQuery; 55 _module = module; 56 } 57 58 62 65 public List getCompiledQuery() { 66 return _cQuery; 67 } 68 69 72 public String getQuery() { 73 return _query; 74 } 75 76 79 public XQueryModule getModule() { 80 return _module; 81 } 82 83 public static class CompiledExpression { 84 public SQLExecutionInfo sqlInfoTree = null; 85 public TransformXQueryExpression expr = null; 86 public CompiledExpression(SQLExecutionInfo sqlInfoTree, TransformXQueryExpression expr) { 87 this.sqlInfoTree = sqlInfoTree; 88 this.expr = expr; 89 } 90 } 91 92 96 public static class SQLExecutionInfo { 97 public SqlExpression sql = null; 98 public StatementInfo sInfo = null; 99 public Mapper mapper = null; 100 public List childrenQueries = null; 101 public int[] idPosition = null; 102 public int idCount = -1; 103 104 public SQLExecutionInfo() { 105 } 106 public SQLExecutionInfo(SqlExpression sql, Mapper mapper) { 107 this.sql = sql; 108 this.mapper = mapper; 109 } 110 public void addChild(SQLExecutionInfo child) { 111 if (childrenQueries == null) 112 childrenQueries = new ArrayList (); 113 childrenQueries.add(child); 114 } 115 public boolean isUnion() { 116 return (sql == null); 117 } 118 } 119 } 120 | Popular Tags |