use of com.ctrip.platform.dal.dao.StatementParameters in project dal by ctripcorp.
the class HATest method testFirstRetrySecondeFailOver.
@Test
public void testFirstRetrySecondeFailOver() {
hints = new DalHints();
Integer count = 0;
try {
count = database2.query(sql, new StatementParameters(), hints, new DalResultSetExtractor<Integer>() {
@Override
public Integer extract(ResultSet rs) throws SQLException {
if (0 == markCount) {
markCount++;
mockRetryThrows(hints.getHA());
}
if (1 == markCount) {
markCount++;
mockFailOverThrow(hints.getHA());
} else {
//Here fail over to the third slave
while (rs.next()) {
return rs.getInt(1);
}
}
return 0;
}
});
} catch (SQLException e) {
}
Assert.assertEquals(3, count == null ? 0 : count.intValue());
}
use of com.ctrip.platform.dal.dao.StatementParameters in project dal by ctripcorp.
the class ShardColModShardStrategyTest method testLocateDbShardByParameters.
@Test
public void testLocateDbShardByParameters() throws Exception {
DalConfigure configure = DalConfigureFactory.load();
ShardColModShardStrategy strategy = new ShardColModShardStrategy();
Map<String, String> settings = new HashMap<String, String>();
settings.put(ShardColModShardStrategy.COLUMNS, "id,id1");
settings.put(ShardColModShardStrategy.MOD, "2");
settings.put(ShardColModShardStrategy.TABLE_COLUMNS, "index,index1");
settings.put(ShardColModShardStrategy.TABLE_MOD, "4");
strategy.initialize(settings);
StatementParameters parameters = null;
parameters = new StatementParameters();
parameters.set(1, "id", Types.INTEGER, 0);
parameters.set(1, "abc", Types.INTEGER, 1);
parameters.set(1, "def", Types.INTEGER, 1);
assertEquals("0", strategy.locateDbShard(configure, logicDbName, new DalHints().setParameters(parameters)));
parameters = new StatementParameters();
parameters.set(1, "id", Types.INTEGER, 1);
parameters.set(1, "abc", Types.INTEGER, 1);
parameters.set(1, "def", Types.INTEGER, 1);
assertEquals("1", strategy.locateDbShard(configure, logicDbName, new DalHints().setParameters(parameters)));
parameters = new StatementParameters();
parameters.set(1, "id", Types.INTEGER, 2);
parameters.set(2, "abc", Types.INTEGER, 1);
parameters.set(3, "def", Types.INTEGER, 1);
assertEquals("0", strategy.locateDbShard(configure, logicDbName, new DalHints().setParameters(parameters)));
parameters = new StatementParameters();
parameters.set(1, "id", Types.INTEGER, 3);
parameters.set(2, "abc", Types.INTEGER, 1);
parameters.set(3, "def", Types.INTEGER, 1);
assertEquals("1", strategy.locateDbShard(configure, logicDbName, new DalHints().setParameters(parameters)));
parameters = new StatementParameters();
parameters.set(1, "id", Types.BIGINT, 100000000003L);
parameters.set(2, "abc", Types.INTEGER, 1);
parameters.set(3, "def", Types.INTEGER, 1);
assertEquals("1", strategy.locateDbShard(configure, logicDbName, new DalHints().setParameters(parameters)));
}
use of com.ctrip.platform.dal.dao.StatementParameters in project dal by ctripcorp.
the class DalTabelDaoShardByTableSqlSvrTest method tearDownAfterClass.
@AfterClass
public static void tearDownAfterClass() throws Exception {
DalHints hints = new DalHints();
String[] sqls = null;
//For Sql Server
hints = new DalHints();
StatementParameters parameters = new StatementParameters();
for (int i = 0; i < mod; i++) {
sqls = new String[] { String.format(DROP_TABLE_SQL_SQLSVR_TPL, i, i) };
for (int j = 0; j < sqls.length; j++) {
clientSqlSvr.update(sqls[j], parameters, hints);
}
}
}
use of com.ctrip.platform.dal.dao.StatementParameters in project dal by ctripcorp.
the class DalTabelDaoShardByTableSqlSvrTest method tearDown.
@After
public void tearDown() throws Exception {
String sql = "DELETE FROM " + TABLE_NAME;
StatementParameters parameters = new StatementParameters();
DalHints hints = new DalHints();
sql = "DELETE FROM " + TABLE_NAME;
parameters = new StatementParameters();
hints = new DalHints();
try {
for (int i = 0; i < mod; i++) {
clientSqlSvr.update(sql + "_" + i, parameters, hints);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
use of com.ctrip.platform.dal.dao.StatementParameters in project dal by ctripcorp.
the class DalTabelDaoShardByTableSqlSvrTest method setUpBeforeClass.
@BeforeClass
public static void setUpBeforeClass() throws Exception {
DalClientFactory.initClientFactory();
clientSqlSvr = DalClientFactory.getClient(DATABASE_NAME_SQLSVR);
DalHints hints = new DalHints();
String[] sqls = null;
// For SQL server
hints = new DalHints();
StatementParameters parameters = new StatementParameters();
for (int i = 0; i < mod; i++) {
sqls = new String[] { String.format(DROP_TABLE_SQL_SQLSVR_TPL, i, i), String.format(CREATE_TABLE_SQL_SQLSVR_TPL, i) };
for (int j = 0; j < sqls.length; j++) {
clientSqlSvr.update(sqls[j], parameters, hints);
}
}
clientSqlSvr.update(DROP_TABLE_SQL_SQLSVR_TPL_1, parameters, hints);
}
Aggregations