Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
b00bd744
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1187
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
b00bd744
编写于
3月 16, 2022
作者:
H
huolibo
提交者:
GitHub
3月 16, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-14065]<fix>: add error reason for schemaless insert (#10773)
上级
8433cab9
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
117 addition
and
84 deletion
+117
-84
src/client/jni/com_taosdata_jdbc_TSDBJNIConnector.h
src/client/jni/com_taosdata_jdbc_TSDBJNIConnector.h
+61
-64
src/client/src/TSDBJNIConnector.c
src/client/src/TSDBJNIConnector.c
+38
-13
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBJNIConnector.java
...dbc/src/main/java/com/taosdata/jdbc/TSDBJNIConnector.java
+18
-7
未找到文件。
src/client/jni/com_taosdata_jdbc_TSDBJNIConnector.h
浏览文件 @
b00bd744
...
...
@@ -11,257 +11,254 @@ extern "C" {
#define com_taosdata_jdbc_TSDBJNIConnector_INVALID_CONNECTION_POINTER_VALUE 0LL
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method:
* Method:
* Signature: (Ljava/lang/String;)V
*/
JNIEXPORT
void
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_setAllocModeImp
(
JNIEnv
*
,
jclass
,
jint
,
jstring
,
jboolean
);
JNIEXPORT
void
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_setAllocModeImp
(
JNIEnv
*
,
jclass
,
jint
,
jstring
,
jboolean
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method:
* Method:
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT
void
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_dumpMemoryLeakImp
(
JNIEnv
*
,
jclass
);
JNIEXPORT
void
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_dumpMemoryLeakImp
(
JNIEnv
*
,
jclass
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: initImp
* Signature: (Ljava/lang/String;)V
*/
JNIEXPORT
void
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_initImp
(
JNIEnv
*
,
jclass
,
jstring
);
JNIEXPORT
void
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_initImp
(
JNIEnv
*
,
jclass
,
jstring
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: setOptions
* Signature: (ILjava/lang/String;)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_setOptions
(
JNIEnv
*
,
jclass
,
jint
,
jstring
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_setOptions
(
JNIEnv
*
,
jclass
,
jint
,
jstring
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: setConfigImp
* Signature: (Ljava/lang/String;)Lcom/taosdata/jdbc/TSDBException;
*/
JNIEXPORT
jobject
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_setConfigImp
(
JNIEnv
*
,
jclass
,
jstring
);
JNIEXPORT
jobject
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_setConfigImp
(
JNIEnv
*
,
jclass
,
jstring
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: getTsCharset
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT
jstring
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_getTsCharset
(
JNIEnv
*
,
jclass
);
JNIEXPORT
jstring
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_getTsCharset
(
JNIEnv
*
,
jclass
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: getResultTimePrecisionImp
* Signature: (JJ)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TDDBJNIConnector_getResultTimePrecisionImp
(
JNIEnv
*
,
jobject
,
jlong
,
jlong
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TDDBJNIConnector_getResultTimePrecisionImp
(
JNIEnv
*
,
jobject
,
jlong
,
jlong
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: connectImp
* Signature: (Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)J
*/
JNIEXPORT
jlong
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_connectImp
(
JNIEnv
*
,
jobject
,
jstring
,
jint
,
jstring
,
jstring
,
jstring
);
JNIEXPORT
jlong
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_connectImp
(
JNIEnv
*
,
jobject
,
jstring
,
jint
,
jstring
,
jstring
,
jstring
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: executeQueryImp
* Signature: ([BJ)I
*/
JNIEXPORT
jlong
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_executeQueryImp
(
JNIEnv
*
,
jobject
,
jbyteArray
,
jlong
);
JNIEXPORT
jlong
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_executeQueryImp
(
JNIEnv
*
,
jobject
,
jbyteArray
,
jlong
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: getErrCodeImp
* Signature: (J)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_getErrCodeImp
(
JNIEnv
*
,
jobject
,
jlong
,
jlong
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_getErrCodeImp
(
JNIEnv
*
,
jobject
,
jlong
,
jlong
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: getErrMsgImp
* Signature: (J)Ljava/lang/String;
*/
JNIEXPORT
jstring
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_getErrMsgImp
(
JNIEnv
*
,
jobject
,
jlong
);
JNIEXPORT
jstring
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_getErrMsgImp
(
JNIEnv
*
,
jobject
,
jlong
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: getResultSetImp
* Signature: (J)J
*/
JNIEXPORT
jlong
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_getResultSetImp
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
con
,
jlong
tres
);
JNIEXPORT
jlong
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_getResultSetImp
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
con
,
jlong
tres
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: isUpdateQueryImp
* Signature: (JJ)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_isUpdateQueryImp
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
con
,
jlong
tres
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_isUpdateQueryImp
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
con
,
jlong
tres
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: freeResultSetImp
* Signature: (JJ)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_freeResultSetImp
(
JNIEnv
*
,
jobject
,
jlong
,
jlong
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_freeResultSetImp
(
JNIEnv
*
,
jobject
,
jlong
,
jlong
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: getAffectedRowsImp
* Signature: (J)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_getAffectedRowsImp
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
con
,
jlong
res
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_getAffectedRowsImp
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
con
,
jlong
res
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: getSchemaMetaDataImp
* Signature: (JJLjava/util/List;)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_getSchemaMetaDataImp
(
JNIEnv
*
,
jobject
,
jlong
,
jlong
,
jobject
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_getSchemaMetaDataImp
(
JNIEnv
*
,
jobject
,
jlong
,
jlong
,
jobject
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: fetchRowImp
* Signature: (JJLcom/taosdata/jdbc/TSDBResultSetRowData;)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_fetchRowImp
(
JNIEnv
*
,
jobject
,
jlong
,
jlong
,
jobject
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_fetchRowImp
(
JNIEnv
*
,
jobject
,
jlong
,
jlong
,
jobject
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: fetchBlockImp
* Signature: (JJLcom/taosdata/jdbc/TSDBResultSetBlockData;)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_fetchBlockImp
(
JNIEnv
*
,
jobject
,
jlong
,
jlong
,
jobject
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_fetchBlockImp
(
JNIEnv
*
,
jobject
,
jlong
,
jlong
,
jobject
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: closeConnectionImp
* Signature: (J)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_closeConnectionImp
(
JNIEnv
*
,
jobject
,
jlong
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_closeConnectionImp
(
JNIEnv
*
,
jobject
,
jlong
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: subscribeImp
* Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JI)J
*/
JNIEXPORT
jlong
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_subscribeImp
(
JNIEnv
*
,
jobject
,
jlong
,
jboolean
,
jstring
,
jstring
,
jint
);
JNIEXPORT
jlong
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_subscribeImp
(
JNIEnv
*
,
jobject
,
jlong
,
jboolean
,
jstring
,
jstring
,
jint
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: consumeImp
* Signature: (J)Lcom/taosdata/jdbc/TSDBResultSetRowData;
*/
JNIEXPORT
jlong
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_consumeImp
(
JNIEnv
*
,
jobject
,
jlong
);
JNIEXPORT
jlong
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_consumeImp
(
JNIEnv
*
,
jobject
,
jlong
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: unsubscribeImp
* Signature: (J)V
*/
JNIEXPORT
void
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_unsubscribeImp
(
JNIEnv
*
,
jobject
,
jlong
,
jboolean
);
JNIEXPORT
void
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_unsubscribeImp
(
JNIEnv
*
,
jobject
,
jlong
,
jboolean
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: validateCreateTableSqlImp
* Signature: (J[B)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_validateCreateTableSqlImp
(
JNIEnv
*
,
jobject
,
jlong
,
jbyteArray
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_validateCreateTableSqlImp
(
JNIEnv
*
,
jobject
,
jlong
,
jbyteArray
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: prepareStmtImp
* Signature: ([BJ)I
*/
JNIEXPORT
jlong
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_prepareStmtImp
(
JNIEnv
*
,
jobject
,
jbyteArray
,
jlong
);
JNIEXPORT
jlong
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_prepareStmtImp
(
JNIEnv
*
,
jobject
,
jbyteArray
,
jlong
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: setBindTableNameImp
* Signature: (JLjava/lang/String;J)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_setBindTableNameImp
(
JNIEnv
*
,
jobject
,
jlong
,
jstring
,
jlong
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_setBindTableNameImp
(
JNIEnv
*
,
jobject
,
jlong
,
jstring
,
jlong
);
/**
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: setTableNameTagsImp
* Signature: (JLjava/lang/String;I[B[B[B[BJ)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_setTableNameTagsImp
(
JNIEnv
*
,
jobject
,
jlong
,
jstring
,
jint
,
jbyteArray
,
jbyteArray
,
jbyteArray
,
jbyteArray
,
jlong
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_setTableNameTagsImp
(
JNIEnv
*
,
jobject
,
jlong
,
jstring
,
jint
,
jbyteArray
,
jbyteArray
,
jbyteArray
,
jbyteArray
,
jlong
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: bindColDataImp
* Signature: (J[B[B[BIIIIJ)J
*/
JNIEXPORT
jlong
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_bindColDataImp
(
JNIEnv
*
,
jobject
,
jlong
,
jbyteArray
,
jbyteArray
,
jbyteArray
,
jint
,
jint
,
jint
,
jint
,
jlong
);
JNIEXPORT
jlong
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_bindColDataImp
(
JNIEnv
*
,
jobject
,
jlong
,
jbyteArray
,
jbyteArray
,
jbyteArray
,
jint
,
jint
,
jint
,
jint
,
jlong
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: stmt_add_batch
* Signature: (JJ)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_addBatchImp
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
stmt
,
jlong
con
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_addBatchImp
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
stmt
,
jlong
con
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: executeBatchImp
* Signature: (JJ)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_executeBatchImp
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
stmt
,
jlong
con
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_executeBatchImp
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
stmt
,
jlong
con
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: closeStmt
* Signature: (JJ)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_closeStmt
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
stmt
,
jlong
con
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_closeStmt
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
stmt
,
jlong
con
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: stmt_errstr
* Signature: (JJ)I
*/
JNIEXPORT
jstring
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_stmtErrorMsgImp
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
stmt
,
jlong
con
);
JNIEXPORT
jstring
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_stmtErrorMsgImp
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
stmt
,
jlong
con
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: insertLinesImp
* Signature: ([Ljava/lang/String;JII)I
*/
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_insertLinesImp
(
JNIEnv
*
,
jobject
,
jobjectArray
,
jlong
,
jint
,
jint
);
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_insertLinesImp
(
JNIEnv
*
,
jobject
,
jobjectArray
,
jlong
,
jint
,
jint
);
/*
* Class: com_taosdata_jdbc_TSDBJNIConnector
* Method: schemalessInsertImp
* Signature: (J[B[B[BIIIIJ)J
*/
JNIEXPORT
jlong
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_schemalessInsertImp
(
JNIEnv
*
,
jobject
,
jobjectArray
,
jlong
,
jint
,
jint
);
#ifdef __cplusplus
}
...
...
src/client/src/TSDBJNIConnector.c
浏览文件 @
b00bd744
...
...
@@ -945,7 +945,7 @@ JNIEXPORT jlong JNICALL Java_com_taosdata_jdbc_TSDBJNIConnector_bindColDataImp(
}
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_addBatchImp
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
stmt
,
jlong
con
)
{
jlong
con
)
{
TAOS
*
tscon
=
(
TAOS
*
)
con
;
if
(
tscon
==
NULL
)
{
jniError
(
"jobj:%p, connection already closed"
,
jobj
);
...
...
@@ -1017,7 +1017,7 @@ JNIEXPORT jint JNICALL Java_com_taosdata_jdbc_TSDBJNIConnector_closeStmt(JNIEnv
}
JNIEXPORT
jstring
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_stmtErrorMsgImp
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
stmt
,
jlong
con
)
{
jlong
con
)
{
char
errMsg
[
128
];
TAOS
*
tscon
=
(
TAOS
*
)
con
;
if
(
tscon
==
NULL
)
{
...
...
@@ -1036,20 +1036,12 @@ JNIEXPORT jstring JNICALL Java_com_taosdata_jdbc_TSDBJNIConnector_stmtErrorMsgIm
return
(
*
env
)
->
NewStringUTF
(
env
,
taos_stmt_errstr
((
TAOS_STMT
*
)
stmt
));
}
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_insertLinesImp
(
JNIEnv
*
env
,
jobject
jobj
,
jobjectArray
lines
,
jlong
conn
,
jint
protocol
,
jint
precision
)
{
TAOS
*
taos
=
(
TAOS
*
)
conn
;
if
(
taos
==
NULL
)
{
jniError
(
"jobj:%p, connection already closed"
,
jobj
);
return
JNI_CONNECTION_NULL
;
}
SSqlObj
*
schemalessInsert
(
JNIEnv
*
env
,
jobject
jobj
,
jobjectArray
lines
,
TAOS
*
taos
,
jint
protocol
,
jint
precision
)
{
int
numLines
=
(
*
env
)
->
GetArrayLength
(
env
,
lines
);
char
**
c_lines
=
calloc
(
numLines
,
sizeof
(
char
*
));
if
(
c_lines
==
NULL
)
{
jniError
(
"c_lines:%p, alloc memory failed"
,
c_lines
);
return
JNI_OUT_OF_MEMORY
;
return
NULL
;
}
for
(
int
i
=
0
;
i
<
numLines
;
++
i
)
{
jstring
line
=
(
jstring
)((
*
env
)
->
GetObjectArrayElement
(
env
,
lines
,
i
));
...
...
@@ -1057,7 +1049,6 @@ JNIEXPORT jint JNICALL Java_com_taosdata_jdbc_TSDBJNIConnector_insertLinesImp(JN
}
SSqlObj
*
result
=
(
SSqlObj
*
)
taos_schemaless_insert
(
taos
,
c_lines
,
numLines
,
protocol
,
precision
);
int
code
=
taos_errno
(
result
);
for
(
int
i
=
0
;
i
<
numLines
;
++
i
)
{
jstring
line
=
(
jstring
)((
*
env
)
->
GetObjectArrayElement
(
env
,
lines
,
i
));
...
...
@@ -1065,6 +1056,24 @@ JNIEXPORT jint JNICALL Java_com_taosdata_jdbc_TSDBJNIConnector_insertLinesImp(JN
}
tfree
(
c_lines
);
return
result
;
}
JNIEXPORT
jint
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_insertLinesImp
(
JNIEnv
*
env
,
jobject
jobj
,
jobjectArray
lines
,
jlong
conn
,
jint
protocol
,
jint
precision
)
{
TAOS
*
taos
=
(
TAOS
*
)
conn
;
if
(
taos
==
NULL
)
{
jniError
(
"jobj:%p, connection already closed"
,
jobj
);
return
JNI_CONNECTION_NULL
;
}
SSqlObj
*
result
=
(
SSqlObj
*
)
schemalessInsert
(
env
,
jobj
,
lines
,
taos
,
protocol
,
precision
);
if
(
result
==
NULL
)
{
return
JNI_OUT_OF_MEMORY
;
}
int
code
=
taos_errno
(
result
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
jniError
(
"jobj:%p, conn:%p, code:%s, msg:%s"
,
jobj
,
taos
,
tstrerror
(
code
),
taos_errstr
(
result
));
taos_free_result
((
void
*
)
result
);
...
...
@@ -1074,3 +1083,19 @@ JNIEXPORT jint JNICALL Java_com_taosdata_jdbc_TSDBJNIConnector_insertLinesImp(JN
return
JNI_SUCCESS
;
}
JNIEXPORT
jlong
JNICALL
Java_com_taosdata_jdbc_TSDBJNIConnector_schemalessInsertImp
(
JNIEnv
*
env
,
jobject
jobj
,
jobjectArray
lines
,
jlong
conn
,
jint
protocol
,
jint
precision
)
{
TAOS
*
taos
=
(
TAOS
*
)
conn
;
if
(
taos
==
NULL
)
{
jniError
(
"jobj:%p, connection already closed"
,
jobj
);
return
JNI_CONNECTION_NULL
;
}
SSqlObj
*
result
=
schemalessInsert
(
env
,
jobj
,
lines
,
taos
,
protocol
,
precision
);
if
(
result
==
NULL
)
{
return
JNI_OUT_OF_MEMORY
;
}
return
(
jlong
)
result
;
}
\ No newline at end of file
src/connector/jdbc/src/main/java/com/taosdata/jdbc/TSDBJNIConnector.java
浏览文件 @
b00bd744
...
...
@@ -338,7 +338,7 @@ public class TSDBJNIConnector {
public
void
addBatch
(
long
stmt
)
throws
SQLException
{
int
code
=
addBatchImp
(
stmt
,
this
.
taos
);
if
(
code
!=
TSDBConstants
.
JNI_SUCCESS
){
if
(
code
!=
TSDBConstants
.
JNI_SUCCESS
)
{
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_UNKNOWN
,
stmtErrorMsgImp
(
stmt
,
this
.
taos
));
}
}
...
...
@@ -361,13 +361,24 @@ public class TSDBJNIConnector {
/*************************************************************************************************/
// NOTE: schemaless-lines
public
void
insertLines
(
String
[]
lines
,
SchemalessProtocolType
protocolType
,
SchemalessTimestampType
timestampType
)
throws
SQLException
{
int
code
=
insertLinesImp
(
lines
,
this
.
taos
,
protocolType
.
ordinal
(),
timestampType
.
ordinal
());
if
(
code
!=
TSDBConstants
.
JNI_SUCCESS
)
{
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_UNKNOWN
,
"failed to insertLines"
);
long
pSql
=
schemalessInsertImp
(
lines
,
this
.
taos
,
protocolType
.
ordinal
(),
timestampType
.
ordinal
());
try
{
if
(
pSql
==
TSDBConstants
.
JNI_CONNECTION_NULL
)
{
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_JNI_CONNECTION_NULL
);
}
if
(
pSql
==
TSDBConstants
.
JNI_OUT_OF_MEMORY
)
{
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_JNI_OUT_OF_MEMORY
);
}
int
code
=
this
.
getErrCode
(
pSql
);
if
(
code
!=
TSDBConstants
.
JNI_SUCCESS
)
{
String
msg
=
this
.
getErrMsg
(
pSql
);
throw
TSDBError
.
createSQLException
(
code
,
msg
);
}
}
finally
{
this
.
freeResultSetImp
(
this
.
taos
,
pSql
);
}
}
private
native
int
insertLinesImp
(
String
[]
lines
,
long
conn
,
int
type
,
int
precision
);
private
native
long
schemalessInsertImp
(
String
[]
lines
,
long
conn
,
int
type
,
int
precision
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录