Examples of SimpleResultSet


Examples of org.h2.tools.SimpleResultSet

    /**
     * Write a CSV file.
     */
    static void write() throws SQLException {
        SimpleResultSet rs = new SimpleResultSet();
        rs.addColumn("NAME", Types.VARCHAR, 255, 0);
        rs.addColumn("EMAIL", Types.VARCHAR, 255, 0);
        rs.addColumn("PHONE", Types.VARCHAR, 255, 0);
        rs.addRow("Bob Meier", "bob.meier@abcde.abc", "+41123456789");
        rs.addRow("John Jones", "john.jones@abcde.abc", "+41976543210");
        Csv.getInstance().write("data/test.csv", rs, null);
    }
View Full Code Here

Examples of org.h2.tools.SimpleResultSet

            if (!parseStatement)
            {
               try
               {
                   // send dataset:
                   SimpleResultSet rs = new SimpleResultSet();
                   rs.addColumn("max_identifier_length", Types.VARCHAR, 255, 0);
                  rs.addRow(new Object[] { "63" });

                   ResultSetMetaData meta = rs.getMetaData();
                   sendRowDescription(meta);
                   while (rs.next())
                   {
                      sendDataRow(rs);
                   }
                   sendCommandComplete(s, 0);
                   s = "";
               }
               catch(Exception e) {}
            }
        }
        // ignore show escape_string_warning: 
        else if (lower.startsWith("show escape_string_warning"))
        {
            if (!parseStatement)
            {
               try
               {
                   // send dataset:
                   SimpleResultSet rs = new SimpleResultSet();
                   rs.addColumn("escape_string_warning", Types.VARCHAR, 255, 0);
                  rs.addRow(new Object[] { "on" });

                   ResultSetMetaData meta = rs.getMetaData();
                   sendRowDescription(meta);
                   while (rs.next())
                   {
                      sendDataRow(rs);
                   }
                   sendCommandComplete(s, 0);
                   s = "";
               }
               catch(Exception e) {}
            }
        }

        // ignore setting encoding:
        else if (lower.startsWith("set client_encoding to"))
        {
            if (!parseStatement)
            {
                sendCommandComplete(s, 0);
                s = "";
            }
            else
            {
                s = "CALL PG_CATALOG.DUMMY_PROCEDURE('')";
            }
        }
        // ignore all LISTEN, NOTIFY & transaction-related commands:
        else if (lower.startsWith("begin") || lower.startsWith("end") || lower.startsWith("commit") || lower.startsWith("start transaction") || lower.startsWith("rollback") || lower.startsWith("notify") || lower.startsWith("listen") || lower.startsWith("unlisten"))       
        {
            if (!parseStatement)
            {
                sendCommandComplete(s, 0);
                s = "";
            }
            // else - replace with relly callable statement:
            else
            {
                // start transaction:
                if (lower.startsWith("begin") || lower.startsWith("start transaction"))
                {               
                    s = "CALL PG_CATALOG.DUMMY_PROCEDURE('START TRANSACTION')";
                }
                // commit:
                else if (lower.startsWith("commit") || lower.startsWith("end"))
                {
                    s = "CALL PG_CATALOG.DUMMY_PROCEDURE('COMMIT')";
                }
                // rollback:
                else if (lower.startsWith("rollback"))
                {
                    s = "CALL PG_CATALOG.DUMMY_PROCEDURE('ROLLBACK')";
                }
                // else:
                else
                {
                    s = "CALL PG_CATALOG.DUMMY_PROCEDURE('')";
                }
            }
        }
        // if not specified FROM clause - replace with pg_catalog.dual table
        // TODO: use regex for better pattern matching
        else if (lower.startsWith("select ") && lower.indexOf("from ") == -1)
        {
            // replace NULL with cast(NULL as char(1))
            s = replaceAll(s, "NULL", "cast(NULL as char(1))");
            // replace current_schema() with current_schema:
            s = replaceAll(s, "current_schema()", "current_schema");
            s = s + " from pg_catalog.dual";
        }
        // columns discovery ODBC query:
        // TODO: ensure that this query will also work in new ODBC provider versions
        else if (lower.startsWith("select n.nspname, c.relname, a.attname, a.atttypid, t.typname, a.attnum, a.attlen, a.atttypmod, a.attnotnull,"))
        {
            // replaced query:
            String replacedQuery = "select * from pg_catalog.internal_columns_view ";

            // where clause:
            String whereClause = "";

            // if search by oid:
            Matcher m = COLUMNS_Q_SEARCH_BY_IDS_1.matcher(s);
            if (m.matches())
            {
                whereClause = " oid = " + m.group(1) + " ";

                m = COLUMNS_Q_SEARCH_BY_IDS_1.matcher(s);
                if (m.find())
                {
                    if (whereClause != "")
                        whereClause += " and ";
                    whereClause += " ordinal_position = " + m.group(1) + " ";
                }
            }
            // else:
            else
            {
                m = COLUMNS_Q_SCHEMA.matcher(s);               
                if (m.find())
                {
                    if (whereClause != "")
                        whereClause += " and ";

                    // remove \\_ escaping:
                    whereClause += " nspname " + m.group(1) + " '" + m.group(2).toString().replace("\\\\_", "_").toUpperCase() + "'";
                }

                m = COLUMNS_Q_TABLE.matcher(s);
                if (m.find())
                {
                    if (whereClause != "")
                        whereClause += " and ";

                    // remove \\_ escaping:
                    whereClause += " relname " + m.group(1) + " '" + m.group(2).toString().replace("\\\\_", "_").toUpperCase() + "'";
                }
            }

            if (whereClause != "")
                replacedQuery += " where " + whereClause;

            replacedQuery += " order by nspname, relname, attnum";
            s = replacedQuery;                       
       
        // ODBC indexes view (ignore it at the moment):
        else if (lower.startsWith("select c.relname, i.indkey, i.indisunique, i.indisclustered, a.amname, c.relhasrules, n.nspname, c.oid from pg_catalog.pg_index"))
        {
            if (!parseStatement)
            {
                try
                {
                    // send dataset:
                    SimpleResultSet rs = new SimpleResultSet();
                    rs.addColumn("RELNAME", Types.VARCHAR, 255, 0);
                    rs.addColumn("INDKEY", Types.INTEGER, 0, 0);
                    rs.addColumn("INDISUNIQUE", Types.BOOLEAN, 0, 0);
                    rs.addColumn("INDISCLUSTERED", Types.BOOLEAN, 0, 0);
                    rs.addColumn("AMNAME", Types.VARCHAR, 0, 0);
                    rs.addColumn("RELHASRULES", Types.BOOLEAN, 0, 0);
                    rs.addColumn("NSPNAME", Types.VARCHAR, 0, 0);
                    rs.addColumn("OID", Types.INTEGER, 0, 0);

                    ResultSetMetaData meta = rs.getMetaData();
                    sendRowDescription(meta);
                    while (rs.next())
                    {
                       sendDataRow(rs);
                    }
                    sendCommandComplete(s, 0);
                    s = "";
View Full Code Here

Examples of org.h2.tools.SimpleResultSet

        return vr;
    }

    private static SimpleResultSet getSimpleResultSet(ResultInterface rs,  int maxrows) {
        int columnCount = rs.getVisibleColumnCount();
        SimpleResultSet simple = new SimpleResultSet();
        for (int i = 0; i < columnCount; i++) {
            String name = rs.getColumnName(i);
            int sqlType = DataType.convertTypeToSQLType(rs.getColumnType(i));
            int precision = MathUtils.convertLongToInt(rs.getColumnPrecision(i));
            int scale = rs.getColumnScale(i);
            simple.addColumn(name, sqlType, precision, scale);
        }
        rs.reset();
        for (int i = 0; i < maxrows && rs.next(); i++) {
            Object[] list = new Object[columnCount];
            for (int j = 0; j < columnCount; j++) {
                list[j] = rs.currentRow()[j].getObject();
            }
            simple.addRow(list);
        }
        return simple;
    }
View Full Code Here

Examples of org.h2.tools.SimpleResultSet

            case BLOB:
                return LobStorage.createSmallLob(BLOB, StringUtils.convertHexToBytes(s.trim()));
            case ARRAY:
                return ValueArray.get(new Value[]{ValueString.get(s)});
            case RESULT_SET: {
                SimpleResultSet rs = new SimpleResultSet();
                rs.addColumn("X", Types.VARCHAR, s.length(), 0);
                rs.addRow(s);
                return ValueResultSet.get(rs);
            }
            case UUID:
                return ValueUuid.get(s);
            default:
View Full Code Here

Examples of org.h2.tools.SimpleResultSet

    public Value copyToTemp() {
        return this;
    }

    public ResultSet getResultSet() {
        SimpleResultSet rs = new SimpleResultSet();
        rs.addColumn("X", DataType.convertTypeToSQLType(getType()), MathUtils.convertLongToInt(getPrecision()), getScale());
        rs.addRow(getObject());
        return rs;
    }
View Full Code Here

Examples of org.h2.tools.SimpleResultSet

                list[i] = readValue();
            }
            return ValueArray.get(list);
        }
        case Value.RESULT_SET: {
            SimpleResultSet rs = new SimpleResultSet();
            int columns = readVarInt();
            for (int i = 0; i < columns; i++) {
                rs.addColumn(readString(), readVarInt(), readVarInt(), readVarInt());
            }
            while (true) {
                if (readByte() == 0) {
                    break;
                }
                Object[] o = new Object[columns];
                for (int i = 0; i < columns; i++) {
                    o[i] = readValue().getObject();
                }
                rs.addRow(o);
            }
            return ValueResultSet.get(rs);
        }
        default:
            if (type >= INT_0_15 && type < INT_0_15 + 16) {
View Full Code Here

Examples of org.h2.tools.SimpleResultSet

            return meta.getUDTs(p[1], p[2], p[3], types);
        } else if (isBuiltIn(sql, "@version_columns")) {
            String[] p = split(sql);
            return meta.getVersionColumns(p[1], p[2], p[3]);
        } else if (isBuiltIn(sql, "@memory")) {
            SimpleResultSet rs = new SimpleResultSet();
            rs.addColumn("Type", Types.VARCHAR, 0, 0);
            rs.addColumn("KB", Types.VARCHAR, 0, 0);
            rs.addRow("Used Memory", "" + Utils.getMemoryUsed());
            rs.addRow("Free Memory", "" + Utils.getMemoryFree());
            return rs;
        } else if (isBuiltIn(sql, "@info")) {
            SimpleResultSet rs = new SimpleResultSet();
            rs.addColumn("KEY", Types.VARCHAR, 0, 0);
            rs.addColumn("VALUE", Types.VARCHAR, 0, 0);
            rs.addRow("conn.getCatalog", conn.getCatalog());
            rs.addRow("conn.getAutoCommit", "" + conn.getAutoCommit());
            rs.addRow("conn.getTransactionIsolation", "" + conn.getTransactionIsolation());
            rs.addRow("conn.getWarnings", "" + conn.getWarnings());
            String map;
            try {
                map = "" + conn.getTypeMap();
            } catch (SQLException e) {
                map = e.toString();
            }
            rs.addRow("conn.getTypeMap", "" + map);
            rs.addRow("conn.isReadOnly", "" + conn.isReadOnly());
            rs.addRow("conn.getHoldability", "" + conn.getHoldability());
            addDatabaseMetaData(rs, meta);
            return rs;
        } else if (isBuiltIn(sql, "@attributes")) {
            String[] p = split(sql);
            return meta.getAttributes(p[1], p[2], p[3], p[4]);
        } else if (isBuiltIn(sql, "@super_tables")) {
            String[] p = split(sql);
            return meta.getSuperTables(p[1], p[2], p[3]);
        } else if (isBuiltIn(sql, "@super_types")) {
            String[] p = split(sql);
            return meta.getSuperTypes(p[1], p[2], p[3]);
        } else if (isBuiltIn(sql, "@prof_stop")) {
            if (profiler != null) {
                profiler.stopCollecting();
                SimpleResultSet rs = new SimpleResultSet();
                rs.addColumn("Top Stack Trace(s)", Types.VARCHAR, 0, 0);
                rs.addRow(profiler.getTop(3));
                profiler = null;
                return rs;
            }
        }
        return null;
View Full Code Here

Examples of org.h2.tools.SimpleResultSet

                    "<table cellspacing=0 cellpadding=0 id=\"editTable\">");
        } else {
            buff.append("<table cellspacing=0 cellpadding=0>");
        }
        if (metadata) {
            SimpleResultSet r = new SimpleResultSet();
            r.addColumn("#", Types.INTEGER, 0, 0);
            r.addColumn("label", Types.VARCHAR, 0, 0);
            r.addColumn("catalog", Types.VARCHAR, 0, 0);
            r.addColumn("schema", Types.VARCHAR, 0, 0);
            r.addColumn("table", Types.VARCHAR, 0, 0);
            r.addColumn("column", Types.VARCHAR, 0, 0);
            r.addColumn("type", Types.INTEGER, 0, 0);
            r.addColumn("typeName", Types.VARCHAR, 0, 0);
            r.addColumn("class", Types.VARCHAR, 0, 0);
            r.addColumn("precision", Types.INTEGER, 0, 0);
            r.addColumn("scale", Types.INTEGER, 0, 0);
            r.addColumn("displaySize", Types.INTEGER, 0, 0);
            r.addColumn("autoIncrement", Types.BOOLEAN, 0, 0);
            r.addColumn("caseSensitive", Types.BOOLEAN, 0, 0);
            r.addColumn("currency", Types.BOOLEAN, 0, 0);
            r.addColumn("nullable", Types.INTEGER, 0, 0);
            r.addColumn("readOnly", Types.BOOLEAN, 0, 0);
            r.addColumn("searchable", Types.BOOLEAN, 0, 0);
            r.addColumn("signed", Types.BOOLEAN, 0, 0);
            r.addColumn("writable", Types.BOOLEAN, 0, 0);
            r.addColumn("definitelyWritable", Types.BOOLEAN, 0, 0);
            ResultSetMetaData m = rs.getMetaData();
            for (int i = 1; i <= m.getColumnCount(); i++) {
                r.addRow(i,
                        m.getColumnLabel(i),
                        m.getCatalogName(i),
                        m.getSchemaName(i),
                        m.getTableName(i),
                        m.getColumnName(i),
View Full Code Here

Examples of org.h2.tools.SimpleResultSet

                list[i] = readValue();
            }
            return ValueArray.get(componentType, list);
        }
        case Value.RESULT_SET: {
            SimpleResultSet rs = new SimpleResultSet();
            int columns = readInt();
            for (int i = 0; i < columns; i++) {
                rs.addColumn(readString(), readInt(), readInt(), readInt());
            }
            while (true) {
                if (!readBoolean()) {
                    break;
                }
                Object[] o = new Object[columns];
                for (int i = 0; i < columns; i++) {
                    o[i] = readValue().getObject();
                }
                rs.addRow(o);
            }
            return ValueResultSet.get(rs);
        }
        default:
            throw DbException.get(ErrorCode.CONNECTION_BROKEN_1, "type=" + type);
View Full Code Here

Examples of org.h2.tools.SimpleResultSet

    public static ResultSet linkSchema(Connection conn, String targetSchema, String driver, String url, String user,
            String password, String sourceSchema) {
        Connection c2 = null;
        Statement stat = null;
        ResultSet rs = null;
        SimpleResultSet result = new SimpleResultSet();
        result.addColumn("TABLE_NAME", Types.VARCHAR, Integer.MAX_VALUE, 0);
        try {
            c2 = JdbcUtils.getConnection(driver, url, user, password);
            stat = conn.createStatement();
            stat.execute("CREATE SCHEMA IF NOT EXISTS " + StringUtils.quoteIdentifier(targetSchema));
            rs = c2.getMetaData().getTables(null, sourceSchema, null, null);
            while (rs.next()) {
                String table = rs.getString("TABLE_NAME");
                StringBuilder buff = new StringBuilder();
                buff.append("DROP TABLE IF EXISTS ").
                    append(StringUtils.quoteIdentifier(targetSchema)).
                    append('.').
                    append(StringUtils.quoteIdentifier(table));
                stat.execute(buff.toString());
                buff = new StringBuilder();
                buff.append("CREATE LINKED TABLE ").
                    append(StringUtils.quoteIdentifier(targetSchema)).
                    append('.').
                    append(StringUtils.quoteIdentifier(table)).
                    append('(').
                    append(StringUtils.quoteStringSQL(driver)).
                    append(", ").
                    append(StringUtils.quoteStringSQL(url)).
                    append(", ").
                    append(StringUtils.quoteStringSQL(user)).
                    append(", ").
                    append(StringUtils.quoteStringSQL(password)).
                    append(", ").
                    append(StringUtils.quoteStringSQL(table)).
                    append(')');
                stat.execute(buff.toString());
                result.addRow(table);
            }
        } catch (SQLException e) {
            throw DbException.convert(e);
        } finally {
            JdbcUtils.closeSilently(rs);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.