Search in sources :

Example 11 with SQLStatement

use of io.shardingjdbc.core.parsing.parser.sql.SQLStatement in project sharding-jdbc by shardingjdbc.

the class MasterSlaveStatement method executeUpdate.

@Override
public int executeUpdate(final String sql, final int autoGeneratedKeys) 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, 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)

Example 12 with SQLStatement

use of io.shardingjdbc.core.parsing.parser.sql.SQLStatement 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 13 with SQLStatement

use of io.shardingjdbc.core.parsing.parser.sql.SQLStatement 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 14 with SQLStatement

use of io.shardingjdbc.core.parsing.parser.sql.SQLStatement 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 15 with SQLStatement

use of io.shardingjdbc.core.parsing.parser.sql.SQLStatement 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

SQLStatement (io.shardingjdbc.core.parsing.parser.sql.SQLStatement)16 Connection (java.sql.Connection)10 Statement (java.sql.Statement)10 MasterSlaveConnection (io.shardingjdbc.core.jdbc.core.connection.MasterSlaveConnection)9 SQLJudgeEngine (io.shardingjdbc.core.parsing.SQLJudgeEngine)9 InsertStatement (io.shardingjdbc.core.parsing.parser.sql.dml.insert.InsertStatement)3 Test (org.junit.Test)3 SQLParsingEngine (io.shardingjdbc.core.parsing.SQLParsingEngine)2 DatabaseProtocolPacket (io.shardingjdbc.proxy.transport.common.packet.DatabaseProtocolPacket)2 DALMergeEngine (io.shardingjdbc.core.merger.dal.DALMergeEngine)1 DQLMergeEngine (io.shardingjdbc.core.merger.dql.DQLMergeEngine)1 LexerEngine (io.shardingjdbc.core.parsing.lexer.LexerEngine)1 DALStatement (io.shardingjdbc.core.parsing.parser.sql.dal.DALStatement)1 SelectStatement (io.shardingjdbc.core.parsing.parser.sql.dql.select.SelectStatement)1 ColumnDefinition41Packet (io.shardingjdbc.proxy.transport.mysql.packet.command.text.query.ColumnDefinition41Packet)1 EofPacket (io.shardingjdbc.proxy.transport.mysql.packet.generic.EofPacket)1 ErrPacket (io.shardingjdbc.proxy.transport.mysql.packet.generic.ErrPacket)1 OKPacket (io.shardingjdbc.proxy.transport.mysql.packet.generic.OKPacket)1 SQLException (java.sql.SQLException)1 LinkedList (java.util.LinkedList)1