Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
0bc3fdda
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
0bc3fdda
编写于
4月 02, 2021
作者:
张
张金富
提交者:
GitHub
4月 02, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
去掉多余的括号和分号 (#5656)
* Update taosdemo.go 去掉多用的括号和分号 格式化代码 * Update taosdemo.go 地址改回127.0.0.1
上级
1e850266
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
100 addition
and
95 deletion
+100
-95
tests/examples/go/taosdemo.go
tests/examples/go/taosdemo.go
+100
-95
未找到文件。
tests/examples/go/taosdemo.go
浏览文件 @
0bc3fdda
...
...
@@ -16,24 +16,26 @@ package main
import
(
"database/sql"
"flag"
"fmt"
_
"github.com/taosdata/driver-go/taosSql
"
"math/rand
"
"os"
"sync"
"runtime"
"strconv"
"sync"
"time"
"flag"
"math/rand"
_
"github.com/taosdata/driver-go/taosSql"
//"golang.org/x/sys/unix"
)
const
(
maxLocationSize
=
32
maxSqlBufSize
=
65480
//maxSqlBufSize =
65480
)
var
locations
=
[
maxLocationSize
]
string
{
var
locations
=
[
maxLocationSize
]
string
{
"Beijing"
,
"Shanghai"
,
"Guangzhou"
,
"Shenzhen"
,
"HangZhou"
,
"Tianjin"
,
"Wuhan"
,
"Changsha"
,
"Nanjing"
,
"Xian"
}
...
...
@@ -62,7 +64,7 @@ var taosDriverName = "taosSql"
var
url
string
func
init
()
{
flag
.
StringVar
(
&
configPara
.
hostName
,
"h"
,
"127.0.0.1"
,
"The host to connect to TDengine server."
)
flag
.
StringVar
(
&
configPara
.
hostName
,
"h"
,
"127.0.0.1"
,
"The host to connect to TDengine server."
)
flag
.
IntVar
(
&
configPara
.
serverPort
,
"p"
,
6030
,
"The TCP/IP port number to use for the connection to TDengine server."
)
flag
.
StringVar
(
&
configPara
.
user
,
"u"
,
"root"
,
"The TDengine user name to use when connecting to the server."
)
flag
.
StringVar
(
&
configPara
.
password
,
"P"
,
"taosdata"
,
"The password to use when connecting to the server."
)
...
...
@@ -80,7 +82,7 @@ func init() {
configPara
.
supTblName
=
"meters"
startTs
,
err
:=
time
.
ParseInLocation
(
"2006-01-02 15:04:05"
,
configPara
.
startTimestamp
,
time
.
Local
)
if
err
==
nil
{
if
err
==
nil
{
configPara
.
startTs
=
startTs
.
UnixNano
()
/
1e6
}
}
...
...
@@ -104,7 +106,7 @@ func printAllArgs() {
func
main
()
{
printAllArgs
()
fmt
.
Printf
(
"Please press enter key to continue....
\n
"
)
fmt
.
Scanln
()
_
,
_
=
fmt
.
Scanln
()
url
=
"root:taosdata@/tcp("
+
configPara
.
hostName
+
":"
+
strconv
.
Itoa
(
configPara
.
serverPort
)
+
")/"
//url = fmt.Sprintf("%s:%s@/tcp(%s:%d)/%s?interpolateParams=true", configPara.user, configPara.password, configPara.hostName, configPara.serverPort, configPara.dbName)
...
...
@@ -138,7 +140,7 @@ func main() {
func
createDatabase
(
dbName
string
,
supTblName
string
)
{
db
,
err
:=
sql
.
Open
(
taosDriverName
,
url
)
if
err
!=
nil
{
fmt
.
Print
ln
(
"Open database error: %s
\n
"
,
err
)
fmt
.
Print
f
(
"Open database error: %s
\n
"
,
err
)
os
.
Exit
(
1
)
}
defer
db
.
Close
()
...
...
@@ -165,27 +167,27 @@ func createDatabase(dbName string, supTblName string) {
checkErr
(
err
,
sqlStr
)
}
func
multiThreadCreateTable
(
threads
int
,
n
t
ables
int
,
dbName
string
,
tablePrefix
string
)
{
func
multiThreadCreateTable
(
threads
int
,
n
T
ables
int
,
dbName
string
,
tablePrefix
string
)
{
st
:=
time
.
Now
()
.
UnixNano
()
if
(
threads
<
1
)
{
threads
=
1
;
if
threads
<
1
{
threads
=
1
}
a
:=
n
tables
/
threads
;
if
(
a
<
1
)
{
threads
=
n
tables
;
a
=
1
;
a
:=
n
Tables
/
threads
if
a
<
1
{
threads
=
n
Tables
a
=
1
}
b
:=
n
tables
%
threads
;
b
:=
n
Tables
%
threads
last
:=
0
;
last
:=
0
endTblId
:=
0
wg
:=
sync
.
WaitGroup
{}
for
i
:=
0
;
i
<
threads
;
i
++
{
startTblId
:=
last
if
(
i
<
b
)
{
if
i
<
b
{
endTblId
=
last
+
a
}
else
{
endTblId
=
last
+
a
-
1
...
...
@@ -206,7 +208,7 @@ func createTable(dbName string, childTblPrefix string, startTblId int, endTblId
db
,
err
:=
sql
.
Open
(
taosDriverName
,
url
)
if
err
!=
nil
{
fmt
.
Print
ln
(
"Open database error: %s
\n
"
,
err
)
fmt
.
Print
f
(
"Open database error: %s
\n
"
,
err
)
os
.
Exit
(
1
)
}
defer
db
.
Close
()
...
...
@@ -228,20 +230,21 @@ func generateRowData(ts int64) string {
values
:=
"( "
+
strconv
.
FormatInt
(
ts
,
10
)
+
", "
+
strconv
.
FormatFloat
(
float64
(
current
),
'f'
,
6
,
64
)
+
", "
+
strconv
.
Itoa
(
voltage
)
+
", "
+
strconv
.
FormatFloat
(
float64
(
phase
),
'f'
,
6
,
64
)
+
" ) "
return
values
}
func
insertData
(
dbName
string
,
childTblPrefix
string
,
startTblId
int
,
endTblId
int
,
wg
*
sync
.
WaitGroup
)
{
//fmt.Printf("subThread[%d]: insert data to table from %d to %d \n", unix.Gettid(), startTblId, endTblId)
// windows.GetCurrentThreadId()
db
,
err
:=
sql
.
Open
(
taosDriverName
,
url
)
if
err
!=
nil
{
fmt
.
Print
ln
(
"Open database error: %s
\n
"
,
err
)
fmt
.
Print
f
(
"Open database error: %s
\n
"
,
err
)
os
.
Exit
(
1
)
}
defer
db
.
Close
()
tmpTs
:=
configPara
.
startTs
;
tmpTs
:=
configPara
.
startTs
//rand.New(rand.NewSource(time.Now().UnixNano()))
for
tID
:=
startTblId
;
tID
<=
endTblId
;
tID
++
{
for
tID
:=
startTblId
;
tID
<=
endTblId
;
tID
++
{
totalNum
:=
0
for
{
sqlStr
:=
"insert into "
+
dbName
+
"."
+
childTblPrefix
+
strconv
.
Itoa
(
tID
)
+
" values "
...
...
@@ -254,7 +257,7 @@ func insertData(dbName string, childTblPrefix string, startTblId int, endTblId i
sqlStr
=
fmt
.
Sprintf
(
"%s %s"
,
sqlStr
,
valuesOfRow
)
if
(
currRowNum
>=
configPara
.
numOfRecordsPerReq
||
totalNum
>=
configPara
.
numOfRecordsPerTable
)
{
if
currRowNum
>=
configPara
.
numOfRecordsPerReq
||
totalNum
>=
configPara
.
numOfRecordsPerTable
{
break
}
}
...
...
@@ -265,12 +268,12 @@ func insertData(dbName string, childTblPrefix string, startTblId int, endTblId i
count
,
err
:=
res
.
RowsAffected
()
checkErr
(
err
,
"rows affected"
)
if
(
count
!=
int64
(
currRowNum
)
)
{
if
count
!=
int64
(
currRowNum
)
{
fmt
.
Printf
(
"insert data, expect affected:%d, actual:%d
\n
"
,
currRowNum
,
count
)
os
.
Exit
(
1
)
}
if
(
totalNum
>=
configPara
.
numOfRecordsPerTable
)
{
if
totalNum
>=
configPara
.
numOfRecordsPerTable
{
break
}
}
...
...
@@ -279,44 +282,46 @@ func insertData(dbName string, childTblPrefix string, startTblId int, endTblId i
wg
.
Done
()
runtime
.
Goexit
()
}
func
multiThreadInsertData
(
threads
int
,
ntables
int
,
dbName
string
,
tablePrefix
string
)
{
func
multiThreadInsertData
(
threads
int
,
nTables
int
,
dbName
string
,
tablePrefix
string
)
{
st
:=
time
.
Now
()
.
UnixNano
()
if
(
threads
<
1
)
{
threads
=
1
;
if
threads
<
1
{
threads
=
1
}
a
:=
n
tables
/
threads
;
if
(
a
<
1
)
{
threads
=
n
tables
;
a
=
1
;
a
:=
n
Tables
/
threads
if
a
<
1
{
threads
=
n
Tables
a
=
1
}
b
:=
n
tables
%
threads
;
b
:=
n
Tables
%
threads
last
:=
0
;
last
:=
0
endTblId
:=
0
wg
:=
sync
.
WaitGroup
{}
for
i
:=
0
;
i
<
threads
;
i
++
{
startTblId
:=
last
if
(
i
<
b
)
{
if
i
<
b
{
endTblId
=
last
+
a
}
else
{
endTblId
=
last
+
a
-
1
}
last
=
endTblId
+
1
wg
.
Add
(
1
)
go
insertData
(
dbName
,
tablePrefix
,
startTblId
,
endTblId
,
&
wg
)
go
insertData
(
dbName
,
tablePrefix
,
startTblId
,
endTblId
,
&
wg
)
}
wg
.
Wait
()
et
:=
time
.
Now
()
.
UnixNano
()
fmt
.
Printf
(
"insert data spent duration: %6.6fs
\n
"
,
(
float32
(
et
-
st
))
/
1e9
)
}
func
selectTest
(
dbName
string
,
tbPrefix
string
,
supTblName
string
){
func
selectTest
(
dbName
string
,
tbPrefix
string
,
supTblName
string
)
{
db
,
err
:=
sql
.
Open
(
taosDriverName
,
url
)
if
err
!=
nil
{
fmt
.
Print
ln
(
"Open database error: %s
\n
"
,
err
)
fmt
.
Print
f
(
"Open database error: %s
\n
"
,
err
)
os
.
Exit
(
1
)
}
defer
db
.
Close
()
...
...
@@ -352,7 +357,7 @@ func selectTest(dbName string, tbPrefix string, supTblName string){
}
// select sql 2
sqlStr
=
"select avg(voltage), min(voltage), max(voltage) from "
+
dbName
+
"."
+
tbPrefix
+
strconv
.
Itoa
(
rand
.
Int
()
%
configPara
.
numOftables
)
sqlStr
=
"select avg(voltage), min(voltage), max(voltage) from "
+
dbName
+
"."
+
tbPrefix
+
strconv
.
Itoa
(
rand
.
Int
()
%
configPara
.
numOftables
)
rows
,
err
=
db
.
Query
(
sqlStr
)
checkErr
(
err
,
sqlStr
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录