From 3b04b871eb1766c6ad7c9f8474a908a6c2f160fd Mon Sep 17 00:00:00 2001 From: zyyang Date: Mon, 1 Feb 2021 14:54:09 +0800 Subject: [PATCH] [TD-2822]: fix invalid result set pointer error --- .../java/com/taosdata/example/JDBCDemo.java | 50 +++++++++++++++++-- 1 file changed, 46 insertions(+), 4 deletions(-) diff --git a/tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/JDBCDemo.java b/tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/JDBCDemo.java index 07a21e79d1..c2b1fdb05a 100644 --- a/tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/JDBCDemo.java +++ b/tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/JDBCDemo.java @@ -1,7 +1,13 @@ package com.taosdata.example; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DateFormatUtils; + import java.sql.*; +import java.util.Calendar; import java.util.Properties; +import java.util.Random; +import java.util.UUID; public class JDBCDemo { private static String host; @@ -9,7 +15,7 @@ public class JDBCDemo { private static final String tbName = "weather"; private Connection connection; - public static void main(String[] args) { + public static void main(String[] args) throws InterruptedException { for (int i = 0; i < args.length; i++) { if ("-host".equalsIgnoreCase(args[i]) && i < args.length - 1) host = args[++i]; @@ -23,12 +29,48 @@ public class JDBCDemo { demo.useDatabase(); demo.dropTable(); demo.createTable(); - demo.insert(); - demo.select(); - demo.dropTable(); + + demo.insertBatch(); + +// demo.insert(); +// demo.select(); +// demo.dropTable(); demo.close(); } + private void insertBatch() throws InterruptedException { + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.MINUTE, -5); + for (int i = 0; i < 100; i++) { + insertSingle(); + } + Thread.sleep(1000); + } + + private void insertSingle() { + new Thread(() -> { + System.out.println(Thread.currentThread().getName() + "开始插入数据"); + String sql = ""; + for (int j = 0; j < 1000000; j++) { + String id = UUID.randomUUID().toString().replace("-", ""); + Calendar calendar = Calendar.getInstance(); + for (int i = 0; i < 10000; i++) { + if (i % 500 == 0 && StringUtils.isNotEmpty(sql)) { + sql = "INSERT INTO base_" + id + " USING " + tbName + " TAGS ('" + id + "') VALUES" + sql; + exuete(sql); + sql = ""; + } else { + calendar.add(Calendar.MINUTE, -new Random().nextInt(10)); + String format = DateFormatUtils.format(calendar.getTime(), "yyyy-MM-dd HH:mm:ss"); + sql += " ('" + format + "', " + new Random().nextDouble() * 10000 + ")"; + } + } + System.out.println(Thread.currentThread().getName() + ",第" + j + "个参数:" + id + "完成10000条写入"); + } + System.out.println(Thread.currentThread().getName() + "插入完毕"); + }).start(); + } + private void init() { final String url = "jdbc:TAOS://" + host + ":6030/?user=root&password=taosdata"; // get connection -- GitLab