Package org.hsqldb_voltpatches.result

Examples of org.hsqldb_voltpatches.result.Result


        }
    }

    public Object[] getValues(Session session) {

        Result r    = getResult(session, 2);
        int    size = r.getNavigator().getSize();

        if (size == 0) {
            return new Object[r.metaData.getColumnCount()];
        } else if (size == 1) {
            return r.getSingleRowData();
        } else {
            throw Error.error(ErrorCode.X_21000);
        }
    }
View Full Code Here


        }
    }

    public Object[] getSingleRowValues(Session session) {

        Result r    = getResult(session, 2);
        int    size = r.getNavigator().getSize();

        if (size == 0) {
            return null;
        } else if (size == 1) {
            return r.getSingleRowData();
        } else {
            throw Error.error(ErrorCode.X_21000);
        }
    }
View Full Code Here

    Result getResult(Session session, int maxRows) {

        int    currentMaxRows = unionType == UNION_ALL ? maxRows
                                                       : Integer.MAX_VALUE;
        Result first = leftQueryExpression.getResult(session, currentMaxRows);
        RowSetNavigatorData navigator =
            (RowSetNavigatorData) first.getNavigator();
        Result second = rightQueryExpression.getResult(session,
            currentMaxRows);
        RowSetNavigatorData rightNavigator =
            (RowSetNavigatorData) second.getNavigator();

        if (unionCorresponding) {
            RowSetNavigatorData rowSet = new RowSetNavigatorData(session,
                this);
View Full Code Here

            dataExpression.insertValuesIntoSubqueryTable(session, store);

            return;
        }

        Result result = queryExpression.getResult(session,
            isExistsPredicate ? 1
                              : 0);
        RowSetNavigatorData navigator =
            ((RowSetNavigatorData) result.getNavigator());

        if (uniqueRows) {
            navigator.removeDuplicates();
        }

        store = session.sessionData.getSubqueryRowStore(table);

        table.insertResult(store, result);
        result.getNavigator().close();
    }
View Full Code Here

    }

    public Object getValue(Session session) {

        int      variableCount = routine.getVariableCount();
        Result   result;
        int      extraArg    = routine.javaMethodWithConnection ? 1
                                                                : 0;
        Object[] data        = ValuePool.emptyObjectArray;
        Object   returnValue = null;
        boolean push = routine.isPSM() || routine.dataImpact != Routine.NO_SQL;

        if (extraArg + nodes.length > 0) {
            data = new Object[nodes.length + extraArg];

            if (extraArg > 0) {
                data[0] = session.getInternalConnection();
            }
        }

        for (int i = 0; i < nodes.length; i++) {
            Expression e     = nodes[i];
            Object     value = e.getValue(session, e.dataType);

            if (value == null) {
                if (routine.isNullInputOutput()) {
                    return null;
                }

                if (!routine.parameterNullable[i]) {
                    throw Error.error(ErrorCode.X_39004);
                }
            }

            if (routine.isPSM()) {
                data[i] = value;
            } else {
                data[i + extraArg] = e.dataType.convertSQLToJava(session,
                        value);
            }
        }

        if (push) {
            session.sessionContext.push();
        }

        if (routine.isPSM()) {
            session.sessionContext.routineArguments = data;
            session.sessionContext.routineVariables =
                ValuePool.emptyObjectArray;

            if (variableCount > 0) {
                session.sessionContext.routineVariables =
                    new Object[variableCount];
            }

            result = routine.statement.execute(session);

            if (result.isError()) {}
            else if (result.isSimpleValue()) {
                returnValue = result.getValueObject();
            } else {
                result = Result.newErrorResult(
                    Error.error(ErrorCode.X_2F005, routine.getName().name),
                    null);
            }
        } else {
            try {
                returnValue = routine.javaMethod.invoke(null, data);

                if (routine.returnsTable()) {

                    // convert ResultSet to table
                } else {
                    returnValue = dataType.convertJavaToSQL(session,
                            returnValue);
                }

                result = Result.updateZeroResult;
            } catch (InvocationTargetException e) {
                result = Result.newErrorResult(
                    Error.error(ErrorCode.X_46000, routine.getName().name),
                    null);
            } catch (IllegalAccessException e) {
                result = Result.newErrorResult(
                    Error.error(ErrorCode.X_46000, routine.getName().name),
                    null);
            } catch (Throwable e) {
                result = Result.newErrorResult(
                    Error.error(ErrorCode.X_46000, routine.getName().name),
                    null);
            }
        }

        if (push) {
            if (result.isError()) {
                session.rollbackToSavepoint();
            }

            session.sessionContext.pop();
        }

        if (result.isError()) {
            throw result.getException();
        }

        return returnValue;
    }
View Full Code Here

        resultOut.setPrepareOrExecuteProperties(sql, 0, 0, 0, resultSetType,
                resultSetConcurrency, resultSetHoldability, generatedKeys,
                generatedIndexes, generatedNames);

        Result in = connection.sessionProxy.execute(resultOut);

        if (in.isError()) {
            throw Util.sqlException(in);
        }
        statementID       = in.getStatementID();
        statementRetType  = in.getStatementType();
        resultMetaData    = in.metaData;
        parameterMetaData = in.parameterMetaData;
        parameterTypes    = parameterMetaData.getParameterTypes();
        parameterModes    = parameterMetaData.paramModes;
        rsScrollability   = in.rsScrollability;
        rsConcurrency     = in.rsConcurrency;
        rsHoldability     = in.rsHoldability;

        //
        int paramCount = parameterMetaData.getColumnCount();

        parameterValues = new Object[paramCount];
        parameterSet    = new boolean[paramCount];
        parameterStream = new boolean[paramCount];
        streamLengths   = new long[paramCount];

        //
        //
        for (int i = 0; i < paramCount; i++) {
            if (parameterTypes[i].isLobType()) {
                hasLOBs = true;

                break;
            }
        }

        //
        resultOut = Result.newPreparedExecuteRequest(parameterTypes,
                statementID);

        resultOut.setStatement(in.getStatement());

        // for toString()
        this.sql = sql;
    }
View Full Code Here

        if (resultIn == null) {
            return;
        }

        Result current = resultIn;

        while (current.getChainedResult() != null) {
            current = current.getUnlinkChainedResult();

            if (current.getType() == ResultConstants.WARNING) {
                SQLWarning w = Util.sqlWarning(current);

                if (rootWarning == null) {
                    rootWarning = w;
                } else {
                    rootWarning.setNextWarning(w);
                }
            } else if (current.getType() == ResultConstants.ERROR) {
                errorResult = current;
            } else if (current.getType() == ResultConstants.DATA) {
                generatedResult = current;
            }
        }

        if (resultIn.isData()) {
View Full Code Here

        }

        PersistentStore store = database.persistentStoreCollection.getStore(t);
        Session sys = database.sessionManager.newSysSession(
            SqlInvariants.INFORMATION_SCHEMA_HSQLNAME, session.getUser());
        Result rs = sys.executeDirectStatement(
            "SELECT DOMAIN_CATALOG, DOMAIN_SCHEMA, DOMAIN_NAME, TABLE_CATALOG, "
            + "TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS "
            + "WHERE DOMAIN_NAME IS NOT NULL;");

        t.insertSys(store, rs);
View Full Code Here

        }

        PersistentStore store = database.persistentStoreCollection.getStore(t);
        Session sys = database.sessionManager.newSysSession(
            SqlInvariants.INFORMATION_SCHEMA_HSQLNAME, session.getUser());
        Result rs = sys.executeDirectStatement(
            "SELECT UDT_CATALOG, UDT_SCHEMA, UDT_NAME, TABLE_CATALOG, "
            + "TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS "
            + "WHERE UDT_NAME IS NOT NULL;");

        t.insertSys(store, rs);
View Full Code Here

        PersistentStore store = database.persistentStoreCollection.getStore(t);

        //
        Session sys = database.sessionManager.newSysSession(
            SqlInvariants.INFORMATION_SCHEMA_HSQLNAME, session.getUser());
        Result rs = sys.executeDirectStatement(
            "select DISTINCT CONSTRAINT_CATALOG, CONSTRAINT_SCHEMA, "
            + "CONSTRAINT_NAME, TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME "
            + "from INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE");

        t.insertSys(store, rs);
View Full Code Here

TOP

Related Classes of org.hsqldb_voltpatches.result.Result

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.