KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > expression > expressionprimary > scalarsubquery


1 package com.daffodilwoods.daffodildb.server.sql99.expression.expressionprimary;
2
3 import com.daffodilwoods.daffodildb.server.sql99.common.*;
4 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator.*;
5 import com.daffodilwoods.daffodildb.server.sql99.dql.listenerevents.*;
6 import com.daffodilwoods.daffodildb.server.sql99.expression.rowvalueexpression.*;
7 import com.daffodilwoods.daffodildb.server.sql99.utils.*;
8 import com.daffodilwoods.daffodildb.utils.*;
9 import com.daffodilwoods.daffodildb.utils.field.*;
10 import com.daffodilwoods.database.resource.*;
11
12 public class scalarsubquery extends AbstractValueExpressionPrimary implements nonparenthesizedvalueexpressionprimary, valueexpressionprimary, rowvalueexpression {
13    public subquery _scalarsubquery0;
14
15    private boolean firstTime;
16    private int cardinality;
17
18    public Object JavaDoc run(Object JavaDoc object) throws com.daffodilwoods.database.resource.DException {
19       _Iterator iterator = (_Iterator) _scalarsubquery0.run(object);
20       if (iterator.first()) {
21          Object JavaDoc row = ( (_SelectIterator) iterator).getSelectColumnValues();
22          if (iterator.next()) {
23             throw new DException("DSE325", null);
24          }
25          return ( (Object JavaDoc[]) row)[0];
26       }
27       return new FieldLiteral(FieldUtility.NULLBUFFERRANGE, _scalarsubquery0._queryexpression0.getSelectedColumns()[0].getDatatype());
28    }
29
30    public ParameterInfo[] getParameterInfo() throws DException {
31       return _scalarsubquery0.getParameterInfo();
32    }
33
34    public AbstractRowValueExpression[] getChilds() {
35       AbstractRowValueExpression[] childs = new AbstractRowValueExpression[] { (AbstractRowValueExpression) (_scalarsubquery0)};
36       return childs;
37
38    }
39
40    public int getCardinality() throws DException {
41       if (_scalarsubquery0.getColumnCount() > 1) {
42          throw new DException("DSE7064", null);
43       }
44       return 1;
45    }
46
47    public String JavaDoc toString() {
48
49       StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
50       sb.append(" ");
51       sb.append(_scalarsubquery0);
52       return sb.toString();
53    }
54
55    public Object JavaDoc clone() throws CloneNotSupportedException JavaDoc {
56       scalarsubquery tempClass = new scalarsubquery();
57       tempClass._scalarsubquery0 = (subquery) _scalarsubquery0.clone();
58       return tempClass;
59    }
60
61    public byte[][] getByte(_VariableValues variableValues) throws DException {
62       throw new UnsupportedOperationException JavaDoc("Not Supported yet");
63    }
64
65    public Object JavaDoc getObject(_VariableValues variableValues) throws DException {
66       throw new UnsupportedOperationException JavaDoc("Not Supported yet");
67    }
68 }
69
Popular Tags