Skip to content

Commit 9f40cf5

Browse files
committed
AJ-542:add test case about SimpleDBConnectionPool
1 parent 116c9dd commit 9f40cf5

File tree

1 file changed

+144
-1
lines changed

1 file changed

+144
-1
lines changed

test/com/xxdb/SimpleDBConnectionPoolTest.java

Lines changed: 144 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1201,7 +1201,150 @@ public void test_SimpleDBConnectionPool_insert_into_memoryTable_arrayVector_all_
12011201
}
12021202
pool.close();
12031203
}
1204-
1204+
@Test
1205+
public void test_SimpleDBConnectionPool_insert_into_dfs_arrayVector_all_dateType() throws IOException, InterruptedException {
1206+
config.setInitialPoolSize(100);
1207+
pool = new SimpleDBConnectionPool(config);
1208+
String script = "login(`admin, `123456); \n"+
1209+
"if(existsDatabase('dfs://test_append_type_tsdb1'))" +
1210+
"{ dropDatabase('dfs://test_append_type_tsdb1')} \n"+
1211+
"colNames=\"col\"+string(1..26);\n" +
1212+
"colTypes=[INT,BOOL[],CHAR[],SHORT[],INT[],LONG[],DATE[],MONTH[],TIME[],MINUTE[],SECOND[],DATETIME[],TIMESTAMP[],NANOTIME[],NANOTIMESTAMP[],FLOAT[],DOUBLE[],UUID[],DATEHOUR[],IPADDR[],INT128[],COMPLEX[],POINT[],DECIMAL32(2)[],DECIMAL64(7)[],DECIMAL128(19)[]];\n" +
1213+
"t1 = table(1:0,colNames,colTypes) ;\n" +
1214+
"db=database('dfs://test_append_type_tsdb1', RANGE, 0 5 11,,'TSDB') \n"+
1215+
"db.createPartitionedTable(t1, `pt, `col1,,`col1)\n";
1216+
DBConnection poolEntry = pool.getConnection();
1217+
poolEntry.run(script);
1218+
poolEntry.close();
1219+
DBConnection poolEntry1 = pool.getConnection();
1220+
String script1 = "col1 = 1..10;\n" +
1221+
"cbool = array(BOOL[]).append!(cut(take([true, false, NULL], 1000), 100))\n" +
1222+
"cchar = array(CHAR[]).append!(cut(take(char(-100..100 join NULL), 1000), 100))\n" +
1223+
"cshort = array(SHORT[]).append!(cut(take(short(-100..100 join NULL), 1000), 100))\n" +
1224+
"cint = array(INT[]).append!(cut(take(-100..100 join NULL, 1000), 100))\n" +
1225+
"clong = array(LONG[]).append!(cut(take(long(-100..100 join NULL), 1000), 100))\n" +
1226+
"cdouble = array(DOUBLE[]).append!(cut(take(-100..100 join NULL, 1000) + 0.254, 100))\n" +
1227+
"cfloat = array(FLOAT[]).append!(cut(take(-100..100 join NULL, 1000) + 0.254f, 100))\n" +
1228+
"cdate = array(DATE[]).append!(cut(take(2012.01.01..2012.02.29, 1000), 100))\n" +
1229+
"cmonth = array(MONTH[]).append!(cut(take(2012.01M..2013.12M, 1000), 100))\n" +
1230+
"ctime = array(TIME[]).append!(cut(take(09:00:00.000 + 0..99 * 1000, 1000), 100))\n" +
1231+
"cminute = array(MINUTE[]).append!(cut(take(09:00m..15:59m, 1000), 100))\n" +
1232+
"csecond = array(SECOND[]).append!(cut(take(09:00:00 + 0..999, 1000), 100))\n" +
1233+
"cdatetime = array(DATETIME[]).append!(cut(take(2012.01.01T09:00:00 + 0..999, 1000), 100))\n" +
1234+
"ctimestamp = array(TIMESTAMP[]).append!(cut(take(2012.01.01T09:00:00.000 + 0..999 * 1000, 1000), 100))\n" +
1235+
"cnanotime =array(NANOTIME[]).append!(cut(take(09:00:00.000000000 + 0..999 * 1000000000, 1000), 100))\n" +
1236+
"cnanotimestamp = array(NANOTIMESTAMP[]).append!(cut(take(2012.01.01T09:00:00.000000000 + 0..999 * 1000000000, 1000), 100))\n" +
1237+
"cuuid = array(UUID[]).append!(cut(take(uuid([\"5d212a78-cc48-e3b1-4235-b4d91473ee87\", \"5d212a78-cc48-e3b1-4235-b4d91473ee88\", \"5d212a78-cc48-e3b1-4235-b4d91473ee89\", \"\"]), 1000), 100))\n" +
1238+
"cdatehour = array(DATEHOUR[]).append!(cut(take(datehour(1..10 join NULL), 1000), 100))\n" +
1239+
"cipaddr = array(IPADDR[]).append!(cut(take(ipaddr([\"192.168.100.10\", \"192.168.100.11\", \"192.168.100.14\", \"\"]), 1000), 100))\n" +
1240+
"cint128 = array(INT128[]).append!(cut(take(int128([\"e1671797c52e15f763380b45e841ec32\", \"e1671797c52e15f763380b45e841ec33\", \"e1671797c52e15f763380b45e841ec35\", \"\"]), 1000), 100))\n" +
1241+
"ccomplex = array( COMPLEX[]).append!(cut(rand(complex(rand(100, 1000), rand(100, 1000)) join NULL, 1000), 100))\n" +
1242+
"cpoint = array(POINT[]).append!(cut(rand(point(rand(100, 1000), rand(100, 1000)) join NULL, 1000), 100))\n" +
1243+
"cdecimal32 = array(DECIMAL32(2)[]).append!(cut(decimal32(take(-100..100 join NULL, 1000) + 0.254, 3), 100))\n" +
1244+
"cdecimal64 = array(DECIMAL64(7)[]).append!(cut(decimal64(take(-100..100 join NULL, 1000) + 0.25467, 4), 100))\n" +
1245+
"cdecimal128 = array(DECIMAL128(19)[]).append!(cut(decimal128(take(-100..100 join NULL, 1000) + 0.25467, 5), 100))\n" +
1246+
"share table(col1, cbool, cchar, cshort, cint, clong, cdate, cmonth, ctime, cminute, csecond, cdatetime, ctimestamp, cnanotime, cnanotimestamp, cfloat, cdouble, cuuid, cdatehour,cipaddr, cint128, ccomplex,cpoint,cdecimal32,cdecimal64,cdecimal128) as data;\n" +
1247+
"pt = loadTable(\"dfs://test_append_type_tsdb1\",`pt)\n"+
1248+
"pt.append!(data)\n";
1249+
poolEntry1.run(script1);
1250+
poolEntry1.close();
1251+
Thread [] threads = new Thread[100];
1252+
for (int i = 0; i < 100 ; ++i) {
1253+
threads[i] = new Thread(() -> {
1254+
DBConnection poolEntry2 = pool.getConnection();
1255+
try {
1256+
BasicTable re1 = (BasicTable)poolEntry2.run("select count(*) from loadTable(\"dfs://test_append_type_tsdb1\",`pt);");
1257+
assertEquals("10",re1.getColumn(0).get(0).toString());
1258+
BasicTable re2 = (BasicTable)poolEntry2.run("select * from loadTable(\"dfs://test_append_type_tsdb1\",`pt);");
1259+
for(int j=0; j<10; j++){
1260+
assertEquals(String.valueOf(j+1),re2.getColumn(0).get(j).toString());
1261+
}
1262+
} catch (IOException e) {
1263+
throw new RuntimeException(e);
1264+
}
1265+
poolEntry2.close();
1266+
});
1267+
}
1268+
for (int i = 0; i < 100; i++) {
1269+
threads[i].start();
1270+
}
1271+
for (int i = 0; i < 100; i++){
1272+
threads[i].join();
1273+
}
1274+
pool.close();
1275+
}
1276+
@Test
1277+
public void test_SimpleDBConnectionPool_insert_into_DimensionTable_arrayVector_all_dateType() throws IOException, InterruptedException {
1278+
config.setInitialPoolSize(100);
1279+
pool = new SimpleDBConnectionPool(config);
1280+
String script = "login(`admin, `123456); \n"+
1281+
"if(existsDatabase('dfs://test_append_type_tsdb1'))" +
1282+
"{ dropDatabase('dfs://test_append_type_tsdb1')} \n"+
1283+
"colNames=\"col\"+string(1..26);\n" +
1284+
"colTypes=[INT,BOOL[],CHAR[],SHORT[],INT[],LONG[],DATE[],MONTH[],TIME[],MINUTE[],SECOND[],DATETIME[],TIMESTAMP[],NANOTIME[],NANOTIMESTAMP[],FLOAT[],DOUBLE[],UUID[],DATEHOUR[],IPADDR[],INT128[],COMPLEX[],POINT[],DECIMAL32(2)[],DECIMAL64(7)[],DECIMAL128(19)[]];\n" +
1285+
"t1 = table(1:0,colNames,colTypes) ;\n" +
1286+
"db=database('dfs://test_append_type_tsdb1', RANGE, 0 5 11,,'TSDB') \n"+
1287+
"db.createTable(t1, `pt,,`col1)\n";
1288+
DBConnection poolEntry = pool.getConnection();
1289+
poolEntry.run(script);
1290+
poolEntry.close();
1291+
DBConnection poolEntry1 = pool.getConnection();
1292+
String script1 = "col1 = 1..10;\n" +
1293+
"cbool = array(BOOL[]).append!(cut(take([true, false, NULL], 1000), 100))\n" +
1294+
"cchar = array(CHAR[]).append!(cut(take(char(-100..100 join NULL), 1000), 100))\n" +
1295+
"cshort = array(SHORT[]).append!(cut(take(short(-100..100 join NULL), 1000), 100))\n" +
1296+
"cint = array(INT[]).append!(cut(take(-100..100 join NULL, 1000), 100))\n" +
1297+
"clong = array(LONG[]).append!(cut(take(long(-100..100 join NULL), 1000), 100))\n" +
1298+
"cdouble = array(DOUBLE[]).append!(cut(take(-100..100 join NULL, 1000) + 0.254, 100))\n" +
1299+
"cfloat = array(FLOAT[]).append!(cut(take(-100..100 join NULL, 1000) + 0.254f, 100))\n" +
1300+
"cdate = array(DATE[]).append!(cut(take(2012.01.01..2012.02.29, 1000), 100))\n" +
1301+
"cmonth = array(MONTH[]).append!(cut(take(2012.01M..2013.12M, 1000), 100))\n" +
1302+
"ctime = array(TIME[]).append!(cut(take(09:00:00.000 + 0..99 * 1000, 1000), 100))\n" +
1303+
"cminute = array(MINUTE[]).append!(cut(take(09:00m..15:59m, 1000), 100))\n" +
1304+
"csecond = array(SECOND[]).append!(cut(take(09:00:00 + 0..999, 1000), 100))\n" +
1305+
"cdatetime = array(DATETIME[]).append!(cut(take(2012.01.01T09:00:00 + 0..999, 1000), 100))\n" +
1306+
"ctimestamp = array(TIMESTAMP[]).append!(cut(take(2012.01.01T09:00:00.000 + 0..999 * 1000, 1000), 100))\n" +
1307+
"cnanotime =array(NANOTIME[]).append!(cut(take(09:00:00.000000000 + 0..999 * 1000000000, 1000), 100))\n" +
1308+
"cnanotimestamp = array(NANOTIMESTAMP[]).append!(cut(take(2012.01.01T09:00:00.000000000 + 0..999 * 1000000000, 1000), 100))\n" +
1309+
"cuuid = array(UUID[]).append!(cut(take(uuid([\"5d212a78-cc48-e3b1-4235-b4d91473ee87\", \"5d212a78-cc48-e3b1-4235-b4d91473ee88\", \"5d212a78-cc48-e3b1-4235-b4d91473ee89\", \"\"]), 1000), 100))\n" +
1310+
"cdatehour = array(DATEHOUR[]).append!(cut(take(datehour(1..10 join NULL), 1000), 100))\n" +
1311+
"cipaddr = array(IPADDR[]).append!(cut(take(ipaddr([\"192.168.100.10\", \"192.168.100.11\", \"192.168.100.14\", \"\"]), 1000), 100))\n" +
1312+
"cint128 = array(INT128[]).append!(cut(take(int128([\"e1671797c52e15f763380b45e841ec32\", \"e1671797c52e15f763380b45e841ec33\", \"e1671797c52e15f763380b45e841ec35\", \"\"]), 1000), 100))\n" +
1313+
"ccomplex = array( COMPLEX[]).append!(cut(rand(complex(rand(100, 1000), rand(100, 1000)) join NULL, 1000), 100))\n" +
1314+
"cpoint = array(POINT[]).append!(cut(rand(point(rand(100, 1000), rand(100, 1000)) join NULL, 1000), 100))\n" +
1315+
"cdecimal32 = array(DECIMAL32(2)[]).append!(cut(decimal32(take(-100..100 join NULL, 1000) + 0.254, 3), 100))\n" +
1316+
"cdecimal64 = array(DECIMAL64(7)[]).append!(cut(decimal64(take(-100..100 join NULL, 1000) + 0.25467, 4), 100))\n" +
1317+
"cdecimal128 = array(DECIMAL128(19)[]).append!(cut(decimal128(take(-100..100 join NULL, 1000) + 0.25467, 5), 100))\n" +
1318+
"share table(col1, cbool, cchar, cshort, cint, clong, cdate, cmonth, ctime, cminute, csecond, cdatetime, ctimestamp, cnanotime, cnanotimestamp, cfloat, cdouble, cuuid, cdatehour,cipaddr, cint128, ccomplex,cpoint,cdecimal32,cdecimal64,cdecimal128) as data;\n" +
1319+
"pt = loadTable(\"dfs://test_append_type_tsdb1\",`pt)\n"+
1320+
"pt.append!(data)\n";
1321+
poolEntry1.run(script1);
1322+
poolEntry1.close();
1323+
Thread [] threads = new Thread[100];
1324+
for (int i = 0; i < 100 ; ++i) {
1325+
threads[i] = new Thread(() -> {
1326+
DBConnection poolEntry2 = pool.getConnection();
1327+
try {
1328+
BasicTable re1 = (BasicTable)poolEntry2.run("select count(*) from loadTable(\"dfs://test_append_type_tsdb1\",`pt);");
1329+
assertEquals("10",re1.getColumn(0).get(0).toString());
1330+
BasicTable re2 = (BasicTable)poolEntry2.run("select * from loadTable(\"dfs://test_append_type_tsdb1\",`pt);");
1331+
for(int j=0; j<10; j++){
1332+
assertEquals(String.valueOf(j+1),re2.getColumn(0).get(j).toString());
1333+
}
1334+
} catch (IOException e) {
1335+
throw new RuntimeException(e);
1336+
}
1337+
poolEntry2.close();
1338+
});
1339+
}
1340+
for (int i = 0; i < 100; i++) {
1341+
threads[i].start();
1342+
}
1343+
for (int i = 0; i < 100; i++){
1344+
threads[i].join();
1345+
}
1346+
pool.close();
1347+
}
12051348
@Test
12061349
public void test_SimpleDBConnectionPool_insert_into_dfs_all_dateType() throws IOException, InterruptedException {
12071350
config.setInitialPoolSize(100);

0 commit comments

Comments
 (0)