Search in sources :

Example 6 with SQLJudgeEngine

use of io.shardingjdbc.core.parsing.SQLJudgeEngine in project sharding-jdbc by shardingjdbc.

the class MasterSlaveStatement method executeUpdate.

@Override
public int executeUpdate(final String sql, final int[] columnIndexes) throws SQLException {
    int result = 0;
    SQLStatement sqlStatement = new SQLJudgeEngine(sql).judge();
    for (Connection each : connection.getConnections(sqlStatement.getType())) {
        Statement statement = each.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
        routedStatements.add(statement);
        result += statement.executeUpdate(sql, columnIndexes);
    }
    return result;
}
Also used : SQLJudgeEngine(io.shardingjdbc.core.parsing.SQLJudgeEngine) Statement(java.sql.Statement) SQLStatement(io.shardingjdbc.core.parsing.parser.sql.SQLStatement) Connection(java.sql.Connection) MasterSlaveConnection(io.shardingjdbc.core.jdbc.core.connection.MasterSlaveConnection) SQLStatement(io.shardingjdbc.core.parsing.parser.sql.SQLStatement)

Example 7 with SQLJudgeEngine

use of io.shardingjdbc.core.parsing.SQLJudgeEngine in project sharding-jdbc by shardingjdbc.

the class MasterSlaveStatement method executeQuery.

@Override
public ResultSet executeQuery(final String sql) throws SQLException {
    SQLStatement sqlStatement = new SQLJudgeEngine(sql).judge();
    Collection<Connection> connections = connection.getConnections(sqlStatement.getType());
    Preconditions.checkState(1 == connections.size(), "Cannot support executeQuery for DDL");
    Statement statement = connections.iterator().next().createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
    routedStatements.add(statement);
    return statement.executeQuery(sql);
}
Also used : SQLJudgeEngine(io.shardingjdbc.core.parsing.SQLJudgeEngine) Statement(java.sql.Statement) SQLStatement(io.shardingjdbc.core.parsing.parser.sql.SQLStatement) Connection(java.sql.Connection) MasterSlaveConnection(io.shardingjdbc.core.jdbc.core.connection.MasterSlaveConnection) SQLStatement(io.shardingjdbc.core.parsing.parser.sql.SQLStatement)

Example 8 with SQLJudgeEngine

use of io.shardingjdbc.core.parsing.SQLJudgeEngine in project sharding-jdbc by shardingjdbc.

the class MasterSlaveStatement method executeUpdate.

@Override
public int executeUpdate(final String sql) throws SQLException {
    int result = 0;
    SQLStatement sqlStatement = new SQLJudgeEngine(sql).judge();
    for (Connection each : connection.getConnections(sqlStatement.getType())) {
        Statement statement = each.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
        routedStatements.add(statement);
        result += statement.executeUpdate(sql);
    }
    return result;
}
Also used : SQLJudgeEngine(io.shardingjdbc.core.parsing.SQLJudgeEngine) Statement(java.sql.Statement) SQLStatement(io.shardingjdbc.core.parsing.parser.sql.SQLStatement) Connection(java.sql.Connection) MasterSlaveConnection(io.shardingjdbc.core.jdbc.core.connection.MasterSlaveConnection) SQLStatement(io.shardingjdbc.core.parsing.parser.sql.SQLStatement)

Example 9 with SQLJudgeEngine

use of io.shardingjdbc.core.parsing.SQLJudgeEngine in project sharding-jdbc by shardingjdbc.

the class MasterSlaveStatement method execute.

@Override
public boolean execute(final String sql, final int autoGeneratedKeys) throws SQLException {
    boolean result = false;
    SQLStatement sqlStatement = new SQLJudgeEngine(sql).judge();
    for (Connection each : connection.getConnections(sqlStatement.getType())) {
        Statement statement = each.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
        routedStatements.add(statement);
        result = statement.execute(sql, autoGeneratedKeys);
    }
    return result;
}
Also used : SQLJudgeEngine(io.shardingjdbc.core.parsing.SQLJudgeEngine) Statement(java.sql.Statement) SQLStatement(io.shardingjdbc.core.parsing.parser.sql.SQLStatement) Connection(java.sql.Connection) MasterSlaveConnection(io.shardingjdbc.core.jdbc.core.connection.MasterSlaveConnection) SQLStatement(io.shardingjdbc.core.parsing.parser.sql.SQLStatement)

Aggregations

MasterSlaveConnection (io.shardingjdbc.core.jdbc.core.connection.MasterSlaveConnection)9 SQLJudgeEngine (io.shardingjdbc.core.parsing.SQLJudgeEngine)9 SQLStatement (io.shardingjdbc.core.parsing.parser.sql.SQLStatement)9 Connection (java.sql.Connection)9 Statement (java.sql.Statement)9