Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
e890ec69
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
e890ec69
编写于
5月 27, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
差异文件
Merge branch '3.0' of
https://github.com/taosdata/TDengine
into feat/tag_refact
上级
b55331ca
56c86a2a
变更
16
显示空白变更内容
内联
并排
Showing
16 changed file
with
910 addition
and
93 deletion
+910
-93
source/libs/catalog/src/catalog.c
source/libs/catalog/src/catalog.c
+1
-1
source/libs/parser/src/parInsert.c
source/libs/parser/src/parInsert.c
+1
-1
source/os/src/osDir.c
source/os/src/osDir.c
+1
-1
source/os/src/osTimezone.c
source/os/src/osTimezone.c
+746
-21
tests/pytest/cluster/clusterSetup.py
tests/pytest/cluster/clusterSetup.py
+2
-2
tests/pytest/dockerCluster/basic.py
tests/pytest/dockerCluster/basic.py
+2
-2
tests/pytest/fulltest.bat
tests/pytest/fulltest.bat
+21
-1
tests/pytest/manualTest/TD-5114/rollingUpgrade.py
tests/pytest/manualTest/TD-5114/rollingUpgrade.py
+8
-8
tests/pytest/test-all.bat
tests/pytest/test-all.bat
+5
-3
tests/pytest/util/dnodes.py
tests/pytest/util/dnodes.py
+1
-1
tests/pytest/wal/addOldWalTest.py
tests/pytest/wal/addOldWalTest.py
+1
-1
tests/system-test/0-others/taosShell.py
tests/system-test/0-others/taosShell.py
+30
-13
tests/system-test/0-others/taosShellError.py
tests/system-test/0-others/taosShellError.py
+9
-5
tests/system-test/test.py
tests/system-test/test.py
+56
-17
tools/shell/CMakeLists.txt
tools/shell/CMakeLists.txt
+5
-1
tools/shell/src/shellArguments.c
tools/shell/src/shellArguments.c
+21
-15
未找到文件。
source/libs/catalog/src/catalog.c
浏览文件 @
e890ec69
...
@@ -1194,7 +1194,7 @@ void catalogDestroy(void) {
...
@@ -1194,7 +1194,7 @@ void catalogDestroy(void) {
taosHashCleanup
(
gCtgMgmt
.
pCluster
);
taosHashCleanup
(
gCtgMgmt
.
pCluster
);
gCtgMgmt
.
pCluster
=
NULL
;
gCtgMgmt
.
pCluster
=
NULL
;
CTG_UNLOCK
(
CTG_WRITE
,
&
gCtgMgmt
.
lock
);
if
(
CTG_IS_LOCKED
(
&
gCtgMgmt
.
lock
)
==
TD_RWLATCH_WRITE_FLAG_COPY
)
CTG_UNLOCK
(
CTG_WRITE
,
&
gCtgMgmt
.
lock
);
qInfo
(
"catalog destroyed"
);
qInfo
(
"catalog destroyed"
);
}
}
...
...
source/libs/parser/src/parInsert.c
浏览文件 @
e890ec69
...
@@ -1780,7 +1780,7 @@ int32_t smlBindData(void* handle, SArray* tags, SArray* colsSchema, SArray* cols
...
@@ -1780,7 +1780,7 @@ int32_t smlBindData(void* handle, SArray* tags, SArray* colsSchema, SArray* cols
// 1. set the parsed value from sql string
// 1. set the parsed value from sql string
for
(
int
c
=
0
,
j
=
0
;
c
<
spd
->
numOfBound
;
++
c
)
{
for
(
int
c
=
0
,
j
=
0
;
c
<
spd
->
numOfBound
;
++
c
)
{
SSchema
*
pColSchema
=
&
pSchema
[
spd
->
boundColumns
[
c
]
-
1
];
SSchema
*
pColSchema
=
&
pSchema
[
spd
->
boundColumns
[
c
]];
param
.
schema
=
pColSchema
;
param
.
schema
=
pColSchema
;
getSTSRowAppendInfo
(
pBuilder
->
rowType
,
spd
,
c
,
&
param
.
toffset
,
&
param
.
colIdx
);
getSTSRowAppendInfo
(
pBuilder
->
rowType
,
spd
,
c
,
&
param
.
toffset
,
&
param
.
colIdx
);
...
...
source/os/src/osDir.c
浏览文件 @
e890ec69
...
@@ -204,7 +204,7 @@ void taosRemoveOldFiles(const char *dirname, int32_t keepDays) {
...
@@ -204,7 +204,7 @@ void taosRemoveOldFiles(const char *dirname, int32_t keepDays) {
int32_t
taosExpandDir
(
const
char
*
dirname
,
char
*
outname
,
int32_t
maxlen
)
{
int32_t
taosExpandDir
(
const
char
*
dirname
,
char
*
outname
,
int32_t
maxlen
)
{
wordexp_t
full_path
;
wordexp_t
full_path
;
if
(
0
!=
wordexp
(
dirname
,
&
full_path
,
0
))
{
if
(
0
!=
wordexp
(
dirname
,
&
full_path
,
0
))
{
//
printf("failed to expand path:%s since %s", dirname, strerror(errno));
printf
(
"failed to expand path:%s since %s"
,
dirname
,
strerror
(
errno
));
wordfree
(
&
full_path
);
wordfree
(
&
full_path
);
return
-
1
;
return
-
1
;
}
}
...
...
source/os/src/osTimezone.c
浏览文件 @
e890ec69
...
@@ -32,6 +32,700 @@
...
@@ -32,6 +32,700 @@
#pragma warning(disable : 4091)
#pragma warning(disable : 4091)
#include <DbgHelp.h>
#include <DbgHelp.h>
#pragma warning(pop)
#pragma warning(pop)
char
*
win_tz
[
139
][
2
]
=
{{
"China Standard Time"
,
"Asia/Shanghai"
},
{
"AUS Central Standard Time"
,
"Australia/Darwin"
},
{
"AUS Eastern Standard Time"
,
"Australia/Sydney"
},
{
"Afghanistan Standard Time"
,
"Asia/Kabul"
},
{
"Alaskan Standard Time"
,
"America/Anchorage"
},
{
"Aleutian Standard Time"
,
"America/Adak"
},
{
"Altai Standard Time"
,
"Asia/Barnaul"
},
{
"Arab Standard Time"
,
"Asia/Riyadh"
},
{
"Arabian Standard Time"
,
"Asia/Dubai"
},
{
"Arabic Standard Time"
,
"Asia/Baghdad"
},
{
"Argentina Standard Time"
,
"America/Buenos_Aires"
},
{
"Astrakhan Standard Time"
,
"Europe/Astrakhan"
},
{
"Atlantic Standard Time"
,
"America/Halifax"
},
{
"Aus Central W. Standard Time"
,
"Australia/Eucla"
},
{
"Azerbaijan Standard Time"
,
"Asia/Baku"
},
{
"Azores Standard Time"
,
"Atlantic/Azores"
},
{
"Bahia Standard Time"
,
"America/Bahia"
},
{
"Bangladesh Standard Time"
,
"Asia/Dhaka"
},
{
"Belarus Standard Time"
,
"Europe/Minsk"
},
{
"Bougainville Standard Time"
,
"Pacific/Bougainville"
},
{
"Canada Central Standard Time"
,
"America/Regina"
},
{
"Cape Verde Standard Time"
,
"Atlantic/Cape_Verde"
},
{
"Caucasus Standard Time"
,
"Asia/Yerevan"
},
{
"Cen. Australia Standard Time"
,
"Australia/Adelaide"
},
{
"Central America Standard Time"
,
"America/Guatemala"
},
{
"Central Asia Standard Time"
,
"Asia/Almaty"
},
{
"Central Brazilian Standard Time"
,
"America/Cuiaba"
},
{
"Central Europe Standard Time"
,
"Europe/Budapest"
},
{
"Central European Standard Time"
,
"Europe/Warsaw"
},
{
"Central Pacific Standard Time"
,
"Pacific/Guadalcanal"
},
{
"Central Standard Time"
,
"America/Chicago"
},
{
"Central Standard Time (Mexico)"
,
"America/Mexico_City"
},
{
"Chatham Islands Standard Time"
,
"Pacific/Chatham"
},
{
"Cuba Standard Time"
,
"America/Havana"
},
{
"Dateline Standard Time"
,
"Etc/GMT+12"
},
{
"E. Africa Standard Time"
,
"Africa/Nairobi"
},
{
"E. Australia Standard Time"
,
"Australia/Brisbane"
},
{
"E. Europe Standard Time"
,
"Europe/Chisinau"
},
{
"E. South America Standard Time"
,
"America/Sao_Paulo"
},
{
"Easter Island Standard Time"
,
"Pacific/Easter"
},
{
"Eastern Standard Time"
,
"America/New_York"
},
{
"Eastern Standard Time (Mexico)"
,
"America/Cancun"
},
{
"Egypt Standard Time"
,
"Africa/Cairo"
},
{
"Ekaterinburg Standard Time"
,
"Asia/Yekaterinburg"
},
{
"FLE Standard Time"
,
"Europe/Kiev"
},
{
"Fiji Standard Time"
,
"Pacific/Fiji"
},
{
"GMT Standard Time"
,
"Europe/London"
},
{
"GTB Standard Time"
,
"Europe/Bucharest"
},
{
"Georgian Standard Time"
,
"Asia/Tbilisi"
},
{
"Greenland Standard Time"
,
"America/Godthab"
},
{
"Greenwich Standard Time"
,
"Atlantic/Reykjavik"
},
{
"Haiti Standard Time"
,
"America/Port-au-Prince"
},
{
"Hawaiian Standard Time"
,
"Pacific/Honolulu"
},
{
"India Standard Time"
,
"Asia/Calcutta"
},
{
"Iran Standard Time"
,
"Asia/Tehran"
},
{
"Israel Standard Time"
,
"Asia/Jerusalem"
},
{
"Jordan Standard Time"
,
"Asia/Amman"
},
{
"Kaliningrad Standard Time"
,
"Europe/Kaliningrad"
},
{
"Korea Standard Time"
,
"Asia/Seoul"
},
{
"Libya Standard Time"
,
"Africa/Tripoli"
},
{
"Line Islands Standard Time"
,
"Pacific/Kiritimati"
},
{
"Lord Howe Standard Time"
,
"Australia/Lord_Howe"
},
{
"Magadan Standard Time"
,
"Asia/Magadan"
},
{
"Magallanes Standard Time"
,
"America/Punta_Arenas"
},
{
"Marquesas Standard Time"
,
"Pacific/Marquesas"
},
{
"Mauritius Standard Time"
,
"Indian/Mauritius"
},
{
"Middle East Standard Time"
,
"Asia/Beirut"
},
{
"Montevideo Standard Time"
,
"America/Montevideo"
},
{
"Morocco Standard Time"
,
"Africa/Casablanca"
},
{
"Mountain Standard Time"
,
"America/Denver"
},
{
"Mountain Standard Time (Mexico)"
,
"America/Chihuahua"
},
{
"Myanmar Standard Time"
,
"Asia/Rangoon"
},
{
"N. Central Asia Standard Time"
,
"Asia/Novosibirsk"
},
{
"Namibia Standard Time"
,
"Africa/Windhoek"
},
{
"Nepal Standard Time"
,
"Asia/Katmandu"
},
{
"New Zealand Standard Time"
,
"Pacific/Auckland"
},
{
"Newfoundland Standard Time"
,
"America/St_Johns"
},
{
"Norfolk Standard Time"
,
"Pacific/Norfolk"
},
{
"North Asia East Standard Time"
,
"Asia/Irkutsk"
},
{
"North Asia Standard Time"
,
"Asia/Krasnoyarsk"
},
{
"North Korea Standard Time"
,
"Asia/Pyongyang"
},
{
"Omsk Standard Time"
,
"Asia/Omsk"
},
{
"Pacific SA Standard Time"
,
"America/Santiago"
},
{
"Pacific Standard Time"
,
"America/Los_Angeles"
},
{
"Pacific Standard Time (Mexico)"
,
"America/Tijuana"
},
{
"Pakistan Standard Time"
,
"Asia/Karachi"
},
{
"Paraguay Standard Time"
,
"America/Asuncion"
},
{
"Qyzylorda Standard Time"
,
"Asia/Qyzylorda"
},
{
"Romance Standard Time"
,
"Europe/Paris"
},
{
"Russia Time Zone 10"
,
"Asia/Srednekolymsk"
},
{
"Russia Time Zone 11"
,
"Asia/Kamchatka"
},
{
"Russia Time Zone 3"
,
"Europe/Samara"
},
{
"Russian Standard Time"
,
"Europe/Moscow"
},
{
"SA Eastern Standard Time"
,
"America/Cayenne"
},
{
"SA Pacific Standard Time"
,
"America/Bogota"
},
{
"SA Western Standard Time"
,
"America/La_Paz"
},
{
"SE Asia Standard Time"
,
"Asia/Bangkok"
},
{
"Saint Pierre Standard Time"
,
"America/Miquelon"
},
{
"Sakhalin Standard Time"
,
"Asia/Sakhalin"
},
{
"Samoa Standard Time"
,
"Pacific/Apia"
},
{
"Sao Tome Standard Time"
,
"Africa/Sao_Tome"
},
{
"Saratov Standard Time"
,
"Europe/Saratov"
},
{
"Singapore Standard Time"
,
"Asia/Singapore"
},
{
"South Africa Standard Time"
,
"Africa/Johannesburg"
},
{
"South Sudan Standard Time"
,
"Africa/Juba"
},
{
"Sri Lanka Standard Time"
,
"Asia/Colombo"
},
{
"Sudan Standard Time"
,
"Africa/Khartoum"
},
{
"Syria Standard Time"
,
"Asia/Damascus"
},
{
"Taipei Standard Time"
,
"Asia/Taipei"
},
{
"Tasmania Standard Time"
,
"Australia/Hobart"
},
{
"Tocantins Standard Time"
,
"America/Araguaina"
},
{
"Tokyo Standard Time"
,
"Asia/Tokyo"
},
{
"Tomsk Standard Time"
,
"Asia/Tomsk"
},
{
"Tonga Standard Time"
,
"Pacific/Tongatapu"
},
{
"Transbaikal Standard Time"
,
"Asia/Chita"
},
{
"Turkey Standard Time"
,
"Europe/Istanbul"
},
{
"Turks And Caicos Standard Time"
,
"America/Grand_Turk"
},
{
"US Eastern Standard Time"
,
"America/Indianapolis"
},
{
"US Mountain Standard Time"
,
"America/Phoenix"
},
{
"UTC"
,
"Etc/UTC"
},
{
"UTC+12"
,
"Etc/GMT-12"
},
{
"UTC+13"
,
"Etc/GMT-13"
},
{
"UTC-02"
,
"Etc/GMT+2"
},
{
"UTC-08"
,
"Etc/GMT+8"
},
{
"UTC-09"
,
"Etc/GMT+9"
},
{
"UTC-11"
,
"Etc/GMT+11"
},
{
"Ulaanbaatar Standard Time"
,
"Asia/Ulaanbaatar"
},
{
"Venezuela Standard Time"
,
"America/Caracas"
},
{
"Vladivostok Standard Time"
,
"Asia/Vladivostok"
},
{
"Volgograd Standard Time"
,
"Europe/Volgograd"
},
{
"W. Australia Standard Time"
,
"Australia/Perth"
},
{
"W. Central Africa Standard Time"
,
"Africa/Lagos"
},
{
"W. Europe Standard Time"
,
"Europe/Berlin"
},
{
"W. Mongolia Standard Time"
,
"Asia/Hovd"
},
{
"West Asia Standard Time"
,
"Asia/Tashkent"
},
{
"West Bank Standard Time"
,
"Asia/Hebron"
},
{
"West Pacific Standard Time"
,
"Pacific/Port_Moresby"
},
{
"Yakutsk Standard Time"
,
"Asia/Yakutsk"
},
{
"Yukon Standard Time"
,
"America/Whitehorse"
}};
char
*
tz_win
[
554
][
2
]
=
{{
"Asia/Shanghai"
,
"China Standard Time"
},
{
"Africa/Abidjan"
,
"Greenwich Standard Time"
},
{
"Africa/Accra"
,
"Greenwich Standard Time"
},
{
"Africa/Addis_Ababa"
,
"E. Africa Standard Time"
},
{
"Africa/Algiers"
,
"W. Central Africa Standard Time"
},
{
"Africa/Asmera"
,
"E. Africa Standard Time"
},
{
"Africa/Bamako"
,
"Greenwich Standard Time"
},
{
"Africa/Bangui"
,
"W. Central Africa Standard Time"
},
{
"Africa/Banjul"
,
"Greenwich Standard Time"
},
{
"Africa/Bissau"
,
"Greenwich Standard Time"
},
{
"Africa/Blantyre"
,
"South Africa Standard Time"
},
{
"Africa/Brazzaville"
,
"W. Central Africa Standard Time"
},
{
"Africa/Bujumbura"
,
"South Africa Standard Time"
},
{
"Africa/Cairo"
,
"Egypt Standard Time"
},
{
"Africa/Casablanca"
,
"Morocco Standard Time"
},
{
"Africa/Ceuta"
,
"Romance Standard Time"
},
{
"Africa/Conakry"
,
"Greenwich Standard Time"
},
{
"Africa/Dakar"
,
"Greenwich Standard Time"
},
{
"Africa/Dar_es_Salaam"
,
"E. Africa Standard Time"
},
{
"Africa/Djibouti"
,
"E. Africa Standard Time"
},
{
"Africa/Douala"
,
"W. Central Africa Standard Time"
},
{
"Africa/El_Aaiun"
,
"Morocco Standard Time"
},
{
"Africa/Freetown"
,
"Greenwich Standard Time"
},
{
"Africa/Gaborone"
,
"South Africa Standard Time"
},
{
"Africa/Harare"
,
"South Africa Standard Time"
},
{
"Africa/Johannesburg"
,
"South Africa Standard Time"
},
{
"Africa/Juba"
,
"South Sudan Standard Time"
},
{
"Africa/Kampala"
,
"E. Africa Standard Time"
},
{
"Africa/Khartoum"
,
"Sudan Standard Time"
},
{
"Africa/Kigali"
,
"South Africa Standard Time"
},
{
"Africa/Kinshasa"
,
"W. Central Africa Standard Time"
},
{
"Africa/Lagos"
,
"W. Central Africa Standard Time"
},
{
"Africa/Libreville"
,
"W. Central Africa Standard Time"
},
{
"Africa/Lome"
,
"Greenwich Standard Time"
},
{
"Africa/Luanda"
,
"W. Central Africa Standard Time"
},
{
"Africa/Lubumbashi"
,
"South Africa Standard Time"
},
{
"Africa/Lusaka"
,
"South Africa Standard Time"
},
{
"Africa/Malabo"
,
"W. Central Africa Standard Time"
},
{
"Africa/Maputo"
,
"South Africa Standard Time"
},
{
"Africa/Maseru"
,
"South Africa Standard Time"
},
{
"Africa/Mbabane"
,
"South Africa Standard Time"
},
{
"Africa/Mogadishu"
,
"E. Africa Standard Time"
},
{
"Africa/Monrovia"
,
"Greenwich Standard Time"
},
{
"Africa/Nairobi"
,
"E. Africa Standard Time"
},
{
"Africa/Ndjamena"
,
"W. Central Africa Standard Time"
},
{
"Africa/Niamey"
,
"W. Central Africa Standard Time"
},
{
"Africa/Nouakchott"
,
"Greenwich Standard Time"
},
{
"Africa/Ouagadougou"
,
"Greenwich Standard Time"
},
{
"Africa/Porto-Novo"
,
"W. Central Africa Standard Time"
},
{
"Africa/Sao_Tome"
,
"Sao Tome Standard Time"
},
{
"Africa/Timbuktu"
,
"Greenwich Standard Time"
},
{
"Africa/Tripoli"
,
"Libya Standard Time"
},
{
"Africa/Tunis"
,
"W. Central Africa Standard Time"
},
{
"Africa/Windhoek"
,
"Namibia Standard Time"
},
{
"America/Adak"
,
"Aleutian Standard Time"
},
{
"America/Anchorage"
,
"Alaskan Standard Time"
},
{
"America/Anguilla"
,
"SA Western Standard Time"
},
{
"America/Antigua"
,
"SA Western Standard Time"
},
{
"America/Araguaina"
,
"Tocantins Standard Time"
},
{
"America/Argentina/La_Rioja"
,
"Argentina Standard Time"
},
{
"America/Argentina/Rio_Gallegos"
,
"Argentina Standard Time"
},
{
"America/Argentina/Salta"
,
"Argentina Standard Time"
},
{
"America/Argentina/San_Juan"
,
"Argentina Standard Time"
},
{
"America/Argentina/San_Luis"
,
"Argentina Standard Time"
},
{
"America/Argentina/Tucuman"
,
"Argentina Standard Time"
},
{
"America/Argentina/Ushuaia"
,
"Argentina Standard Time"
},
{
"America/Aruba"
,
"SA Western Standard Time"
},
{
"America/Asuncion"
,
"Paraguay Standard Time"
},
{
"America/Atka"
,
"Aleutian Standard Time"
},
{
"America/Bahia"
,
"Bahia Standard Time"
},
{
"America/Bahia_Banderas"
,
"Central Standard Time (Mexico)"
},
{
"America/Barbados"
,
"SA Western Standard Time"
},
{
"America/Belem"
,
"SA Eastern Standard Time"
},
{
"America/Belize"
,
"Central America Standard Time"
},
{
"America/Blanc-Sablon"
,
"SA Western Standard Time"
},
{
"America/Boa_Vista"
,
"SA Western Standard Time"
},
{
"America/Bogota"
,
"SA Pacific Standard Time"
},
{
"America/Boise"
,
"Mountain Standard Time"
},
{
"America/Buenos_Aires"
,
"Argentina Standard Time"
},
{
"America/Cambridge_Bay"
,
"Mountain Standard Time"
},
{
"America/Campo_Grande"
,
"Central Brazilian Standard Time"
},
{
"America/Cancun"
,
"Eastern Standard Time (Mexico)"
},
{
"America/Caracas"
,
"Venezuela Standard Time"
},
{
"America/Catamarca"
,
"Argentina Standard Time"
},
{
"America/Cayenne"
,
"SA Eastern Standard Time"
},
{
"America/Cayman"
,
"SA Pacific Standard Time"
},
{
"America/Chicago"
,
"Central Standard Time"
},
{
"America/Chihuahua"
,
"Mountain Standard Time (Mexico)"
},
{
"America/Coral_Harbour"
,
"SA Pacific Standard Time"
},
{
"America/Cordoba"
,
"Argentina Standard Time"
},
{
"America/Costa_Rica"
,
"Central America Standard Time"
},
{
"America/Creston"
,
"US Mountain Standard Time"
},
{
"America/Cuiaba"
,
"Central Brazilian Standard Time"
},
{
"America/Curacao"
,
"SA Western Standard Time"
},
{
"America/Danmarkshavn"
,
"Greenwich Standard Time"
},
{
"America/Dawson"
,
"Yukon Standard Time"
},
{
"America/Dawson_Creek"
,
"US Mountain Standard Time"
},
{
"America/Denver"
,
"Mountain Standard Time"
},
{
"America/Detroit"
,
"Eastern Standard Time"
},
{
"America/Dominica"
,
"SA Western Standard Time"
},
{
"America/Edmonton"
,
"Mountain Standard Time"
},
{
"America/Eirunepe"
,
"SA Pacific Standard Time"
},
{
"America/El_Salvador"
,
"Central America Standard Time"
},
{
"America/Ensenada"
,
"Pacific Standard Time (Mexico)"
},
{
"America/Fort_Nelson"
,
"US Mountain Standard Time"
},
{
"America/Fortaleza"
,
"SA Eastern Standard Time"
},
{
"America/Glace_Bay"
,
"Atlantic Standard Time"
},
{
"America/Godthab"
,
"Greenland Standard Time"
},
{
"America/Goose_Bay"
,
"Atlantic Standard Time"
},
{
"America/Grand_Turk"
,
"Turks And Caicos Standard Time"
},
{
"America/Grenada"
,
"SA Western Standard Time"
},
{
"America/Guadeloupe"
,
"SA Western Standard Time"
},
{
"America/Guatemala"
,
"Central America Standard Time"
},
{
"America/Guayaquil"
,
"SA Pacific Standard Time"
},
{
"America/Guyana"
,
"SA Western Standard Time"
},
{
"America/Halifax"
,
"Atlantic Standard Time"
},
{
"America/Havana"
,
"Cuba Standard Time"
},
{
"America/Hermosillo"
,
"US Mountain Standard Time"
},
{
"America/Indiana/Knox"
,
"Central Standard Time"
},
{
"America/Indiana/Marengo"
,
"US Eastern Standard Time"
},
{
"America/Indiana/Petersburg"
,
"Eastern Standard Time"
},
{
"America/Indiana/Tell_City"
,
"Central Standard Time"
},
{
"America/Indiana/Vevay"
,
"US Eastern Standard Time"
},
{
"America/Indiana/Vincennes"
,
"Eastern Standard Time"
},
{
"America/Indiana/Winamac"
,
"Eastern Standard Time"
},
{
"America/Indianapolis"
,
"US Eastern Standard Time"
},
{
"America/Inuvik"
,
"Mountain Standard Time"
},
{
"America/Iqaluit"
,
"Eastern Standard Time"
},
{
"America/Jamaica"
,
"SA Pacific Standard Time"
},
{
"America/Jujuy"
,
"Argentina Standard Time"
},
{
"America/Juneau"
,
"Alaskan Standard Time"
},
{
"America/Kentucky/Monticello"
,
"Eastern Standard Time"
},
{
"America/Knox_IN"
,
"Central Standard Time"
},
{
"America/Kralendijk"
,
"SA Western Standard Time"
},
{
"America/La_Paz"
,
"SA Western Standard Time"
},
{
"America/Lima"
,
"SA Pacific Standard Time"
},
{
"America/Los_Angeles"
,
"Pacific Standard Time"
},
{
"America/Louisville"
,
"Eastern Standard Time"
},
{
"America/Lower_Princes"
,
"SA Western Standard Time"
},
{
"America/Maceio"
,
"SA Eastern Standard Time"
},
{
"America/Managua"
,
"Central America Standard Time"
},
{
"America/Manaus"
,
"SA Western Standard Time"
},
{
"America/Marigot"
,
"SA Western Standard Time"
},
{
"America/Martinique"
,
"SA Western Standard Time"
},
{
"America/Matamoros"
,
"Central Standard Time"
},
{
"America/Mazatlan"
,
"Mountain Standard Time (Mexico)"
},
{
"America/Mendoza"
,
"Argentina Standard Time"
},
{
"America/Menominee"
,
"Central Standard Time"
},
{
"America/Merida"
,
"Central Standard Time (Mexico)"
},
{
"America/Metlakatla"
,
"Alaskan Standard Time"
},
{
"America/Mexico_City"
,
"Central Standard Time (Mexico)"
},
{
"America/Miquelon"
,
"Saint Pierre Standard Time"
},
{
"America/Moncton"
,
"Atlantic Standard Time"
},
{
"America/Monterrey"
,
"Central Standard Time (Mexico)"
},
{
"America/Montevideo"
,
"Montevideo Standard Time"
},
{
"America/Montreal"
,
"Eastern Standard Time"
},
{
"America/Montserrat"
,
"SA Western Standard Time"
},
{
"America/Nassau"
,
"Eastern Standard Time"
},
{
"America/New_York"
,
"Eastern Standard Time"
},
{
"America/Nipigon"
,
"Eastern Standard Time"
},
{
"America/Nome"
,
"Alaskan Standard Time"
},
{
"America/Noronha"
,
"UTC-02"
},
{
"America/North_Dakota/Beulah"
,
"Central Standard Time"
},
{
"America/North_Dakota/Center"
,
"Central Standard Time"
},
{
"America/North_Dakota/New_Salem"
,
"Central Standard Time"
},
{
"America/Ojinaga"
,
"Mountain Standard Time"
},
{
"America/Panama"
,
"SA Pacific Standard Time"
},
{
"America/Pangnirtung"
,
"Eastern Standard Time"
},
{
"America/Paramaribo"
,
"SA Eastern Standard Time"
},
{
"America/Phoenix"
,
"US Mountain Standard Time"
},
{
"America/Port-au-Prince"
,
"Haiti Standard Time"
},
{
"America/Port_of_Spain"
,
"SA Western Standard Time"
},
{
"America/Porto_Acre"
,
"SA Pacific Standard Time"
},
{
"America/Porto_Velho"
,
"SA Western Standard Time"
},
{
"America/Puerto_Rico"
,
"SA Western Standard Time"
},
{
"America/Punta_Arenas"
,
"Magallanes Standard Time"
},
{
"America/Rainy_River"
,
"Central Standard Time"
},
{
"America/Rankin_Inlet"
,
"Central Standard Time"
},
{
"America/Recife"
,
"SA Eastern Standard Time"
},
{
"America/Regina"
,
"Canada Central Standard Time"
},
{
"America/Resolute"
,
"Central Standard Time"
},
{
"America/Rio_Branco"
,
"SA Pacific Standard Time"
},
{
"America/Santa_Isabel"
,
"Pacific Standard Time (Mexico)"
},
{
"America/Santarem"
,
"SA Eastern Standard Time"
},
{
"America/Santiago"
,
"Pacific SA Standard Time"
},
{
"America/Santo_Domingo"
,
"SA Western Standard Time"
},
{
"America/Sao_Paulo"
,
"E. South America Standard Time"
},
{
"America/Scoresbysund"
,
"Azores Standard Time"
},
{
"America/Shiprock"
,
"Mountain Standard Time"
},
{
"America/Sitka"
,
"Alaskan Standard Time"
},
{
"America/St_Barthelemy"
,
"SA Western Standard Time"
},
{
"America/St_Johns"
,
"Newfoundland Standard Time"
},
{
"America/St_Kitts"
,
"SA Western Standard Time"
},
{
"America/St_Lucia"
,
"SA Western Standard Time"
},
{
"America/St_Thomas"
,
"SA Western Standard Time"
},
{
"America/St_Vincent"
,
"SA Western Standard Time"
},
{
"America/Swift_Current"
,
"Canada Central Standard Time"
},
{
"America/Tegucigalpa"
,
"Central America Standard Time"
},
{
"America/Thule"
,
"Atlantic Standard Time"
},
{
"America/Thunder_Bay"
,
"Eastern Standard Time"
},
{
"America/Tijuana"
,
"Pacific Standard Time (Mexico)"
},
{
"America/Toronto"
,
"Eastern Standard Time"
},
{
"America/Tortola"
,
"SA Western Standard Time"
},
{
"America/Vancouver"
,
"Pacific Standard Time"
},
{
"America/Virgin"
,
"SA Western Standard Time"
},
{
"America/Whitehorse"
,
"Yukon Standard Time"
},
{
"America/Winnipeg"
,
"Central Standard Time"
},
{
"America/Yakutat"
,
"Alaskan Standard Time"
},
{
"America/Yellowknife"
,
"Mountain Standard Time"
},
{
"Antarctica/Casey"
,
"Central Pacific Standard Time"
},
{
"Antarctica/Davis"
,
"SE Asia Standard Time"
},
{
"Antarctica/DumontDUrville"
,
"West Pacific Standard Time"
},
{
"Antarctica/Macquarie"
,
"Tasmania Standard Time"
},
{
"Antarctica/Mawson"
,
"West Asia Standard Time"
},
{
"Antarctica/McMurdo"
,
"New Zealand Standard Time"
},
{
"Antarctica/Palmer"
,
"SA Eastern Standard Time"
},
{
"Antarctica/Rothera"
,
"SA Eastern Standard Time"
},
{
"Antarctica/South_Pole"
,
"New Zealand Standard Time"
},
{
"Antarctica/Syowa"
,
"E. Africa Standard Time"
},
{
"Antarctica/Vostok"
,
"Central Asia Standard Time"
},
{
"Arctic/Longyearbyen"
,
"W. Europe Standard Time"
},
{
"Asia/Aden"
,
"Arab Standard Time"
},
{
"Asia/Almaty"
,
"Central Asia Standard Time"
},
{
"Asia/Amman"
,
"Jordan Standard Time"
},
{
"Asia/Anadyr"
,
"Russia Time Zone 11"
},
{
"Asia/Aqtau"
,
"West Asia Standard Time"
},
{
"Asia/Aqtobe"
,
"West Asia Standard Time"
},
{
"Asia/Ashgabat"
,
"West Asia Standard Time"
},
{
"Asia/Ashkhabad"
,
"West Asia Standard Time"
},
{
"Asia/Atyrau"
,
"West Asia Standard Time"
},
{
"Asia/Baghdad"
,
"Arabic Standard Time"
},
{
"Asia/Bahrain"
,
"Arab Standard Time"
},
{
"Asia/Baku"
,
"Azerbaijan Standard Time"
},
{
"Asia/Bangkok"
,
"SE Asia Standard Time"
},
{
"Asia/Barnaul"
,
"Altai Standard Time"
},
{
"Asia/Beirut"
,
"Middle East Standard Time"
},
{
"Asia/Bishkek"
,
"Central Asia Standard Time"
},
{
"Asia/Brunei"
,
"Singapore Standard Time"
},
{
"Asia/Calcutta"
,
"India Standard Time"
},
{
"Asia/Chita"
,
"Transbaikal Standard Time"
},
{
"Asia/Choibalsan"
,
"Ulaanbaatar Standard Time"
},
{
"Asia/Chongqing"
,
"China Standard Time"
},
{
"Asia/Chungking"
,
"China Standard Time"
},
{
"Asia/Colombo"
,
"Sri Lanka Standard Time"
},
{
"Asia/Dacca"
,
"Bangladesh Standard Time"
},
{
"Asia/Damascus"
,
"Syria Standard Time"
},
{
"Asia/Dhaka"
,
"Bangladesh Standard Time"
},
{
"Asia/Dili"
,
"Tokyo Standard Time"
},
{
"Asia/Dubai"
,
"Arabian Standard Time"
},
{
"Asia/Dushanbe"
,
"West Asia Standard Time"
},
{
"Asia/Famagusta"
,
"GTB Standard Time"
},
{
"Asia/Gaza"
,
"West Bank Standard Time"
},
{
"Asia/Harbin"
,
"China Standard Time"
},
{
"Asia/Hebron"
,
"West Bank Standard Time"
},
{
"Asia/Hong_Kong"
,
"China Standard Time"
},
{
"Asia/Hovd"
,
"W. Mongolia Standard Time"
},
{
"Asia/Irkutsk"
,
"North Asia East Standard Time"
},
{
"Asia/Jakarta"
,
"SE Asia Standard Time"
},
{
"Asia/Jayapura"
,
"Tokyo Standard Time"
},
{
"Asia/Jerusalem"
,
"Israel Standard Time"
},
{
"Asia/Kabul"
,
"Afghanistan Standard Time"
},
{
"Asia/Kamchatka"
,
"Russia Time Zone 11"
},
{
"Asia/Karachi"
,
"Pakistan Standard Time"
},
{
"Asia/Kashgar"
,
"Central Asia Standard Time"
},
{
"Asia/Katmandu"
,
"Nepal Standard Time"
},
{
"Asia/Khandyga"
,
"Yakutsk Standard Time"
},
{
"Asia/Krasnoyarsk"
,
"North Asia Standard Time"
},
{
"Asia/Kuala_Lumpur"
,
"Singapore Standard Time"
},
{
"Asia/Kuching"
,
"Singapore Standard Time"
},
{
"Asia/Kuwait"
,
"Arab Standard Time"
},
{
"Asia/Macao"
,
"China Standard Time"
},
{
"Asia/Macau"
,
"China Standard Time"
},
{
"Asia/Magadan"
,
"Magadan Standard Time"
},
{
"Asia/Makassar"
,
"Singapore Standard Time"
},
{
"Asia/Manila"
,
"Singapore Standard Time"
},
{
"Asia/Muscat"
,
"Arabian Standard Time"
},
{
"Asia/Nicosia"
,
"GTB Standard Time"
},
{
"Asia/Novokuznetsk"
,
"North Asia Standard Time"
},
{
"Asia/Novosibirsk"
,
"N. Central Asia Standard Time"
},
{
"Asia/Omsk"
,
"Omsk Standard Time"
},
{
"Asia/Oral"
,
"West Asia Standard Time"
},
{
"Asia/Phnom_Penh"
,
"SE Asia Standard Time"
},
{
"Asia/Pontianak"
,
"SE Asia Standard Time"
},
{
"Asia/Pyongyang"
,
"North Korea Standard Time"
},
{
"Asia/Qatar"
,
"Arab Standard Time"
},
{
"Asia/Qostanay"
,
"Central Asia Standard Time"
},
{
"Asia/Qyzylorda"
,
"Qyzylorda Standard Time"
},
{
"Asia/Rangoon"
,
"Myanmar Standard Time"
},
{
"Asia/Riyadh"
,
"Arab Standard Time"
},
{
"Asia/Saigon"
,
"SE Asia Standard Time"
},
{
"Asia/Sakhalin"
,
"Sakhalin Standard Time"
},
{
"Asia/Samarkand"
,
"West Asia Standard Time"
},
{
"Asia/Seoul"
,
"Korea Standard Time"
},
{
"Asia/Singapore"
,
"Singapore Standard Time"
},
{
"Asia/Srednekolymsk"
,
"Russia Time Zone 10"
},
{
"Asia/Taipei"
,
"Taipei Standard Time"
},
{
"Asia/Tashkent"
,
"West Asia Standard Time"
},
{
"Asia/Tbilisi"
,
"Georgian Standard Time"
},
{
"Asia/Tehran"
,
"Iran Standard Time"
},
{
"Asia/Tel_Aviv"
,
"Israel Standard Time"
},
{
"Asia/Thimbu"
,
"Bangladesh Standard Time"
},
{
"Asia/Thimphu"
,
"Bangladesh Standard Time"
},
{
"Asia/Tokyo"
,
"Tokyo Standard Time"
},
{
"Asia/Tomsk"
,
"Tomsk Standard Time"
},
{
"Asia/Ujung_Pandang"
,
"Singapore Standard Time"
},
{
"Asia/Ulaanbaatar"
,
"Ulaanbaatar Standard Time"
},
{
"Asia/Ulan_Bator"
,
"Ulaanbaatar Standard Time"
},
{
"Asia/Urumqi"
,
"Central Asia Standard Time"
},
{
"Asia/Ust-Nera"
,
"Vladivostok Standard Time"
},
{
"Asia/Vientiane"
,
"SE Asia Standard Time"
},
{
"Asia/Vladivostok"
,
"Vladivostok Standard Time"
},
{
"Asia/Yakutsk"
,
"Yakutsk Standard Time"
},
{
"Asia/Yekaterinburg"
,
"Ekaterinburg Standard Time"
},
{
"Asia/Yerevan"
,
"Caucasus Standard Time"
},
{
"Atlantic/Azores"
,
"Azores Standard Time"
},
{
"Atlantic/Bermuda"
,
"Atlantic Standard Time"
},
{
"Atlantic/Canary"
,
"GMT Standard Time"
},
{
"Atlantic/Cape_Verde"
,
"Cape Verde Standard Time"
},
{
"Atlantic/Faeroe"
,
"GMT Standard Time"
},
{
"Atlantic/Jan_Mayen"
,
"W. Europe Standard Time"
},
{
"Atlantic/Madeira"
,
"GMT Standard Time"
},
{
"Atlantic/Reykjavik"
,
"Greenwich Standard Time"
},
{
"Atlantic/South_Georgia"
,
"UTC-02"
},
{
"Atlantic/St_Helena"
,
"Greenwich Standard Time"
},
{
"Atlantic/Stanley"
,
"SA Eastern Standard Time"
},
{
"Australia/ACT"
,
"AUS Eastern Standard Time"
},
{
"Australia/Adelaide"
,
"Cen. Australia Standard Time"
},
{
"Australia/Brisbane"
,
"E. Australia Standard Time"
},
{
"Australia/Broken_Hill"
,
"Cen. Australia Standard Time"
},
{
"Australia/Canberra"
,
"AUS Eastern Standard Time"
},
{
"Australia/Currie"
,
"Tasmania Standard Time"
},
{
"Australia/Darwin"
,
"AUS Central Standard Time"
},
{
"Australia/Eucla"
,
"Aus Central W. Standard Time"
},
{
"Australia/Hobart"
,
"Tasmania Standard Time"
},
{
"Australia/LHI"
,
"Lord Howe Standard Time"
},
{
"Australia/Lindeman"
,
"E. Australia Standard Time"
},
{
"Australia/Lord_Howe"
,
"Lord Howe Standard Time"
},
{
"Australia/Melbourne"
,
"AUS Eastern Standard Time"
},
{
"Australia/NSW"
,
"AUS Eastern Standard Time"
},
{
"Australia/North"
,
"AUS Central Standard Time"
},
{
"Australia/Perth"
,
"W. Australia Standard Time"
},
{
"Australia/Queensland"
,
"E. Australia Standard Time"
},
{
"Australia/South"
,
"Cen. Australia Standard Time"
},
{
"Australia/Sydney"
,
"AUS Eastern Standard Time"
},
{
"Australia/Tasmania"
,
"Tasmania Standard Time"
},
{
"Australia/Victoria"
,
"AUS Eastern Standard Time"
},
{
"Australia/West"
,
"W. Australia Standard Time"
},
{
"Australia/Yancowinna"
,
"Cen. Australia Standard Time"
},
{
"Brazil/Acre"
,
"SA Pacific Standard Time"
},
{
"Brazil/DeNoronha"
,
"UTC-02"
},
{
"Brazil/East"
,
"E. South America Standard Time"
},
{
"Brazil/West"
,
"SA Western Standard Time"
},
{
"CST6CDT"
,
"Central Standard Time"
},
{
"Canada/Atlantic"
,
"Atlantic Standard Time"
},
{
"Canada/Central"
,
"Central Standard Time"
},
{
"Canada/Eastern"
,
"Eastern Standard Time"
},
{
"Canada/Mountain"
,
"Mountain Standard Time"
},
{
"Canada/Newfoundland"
,
"Newfoundland Standard Time"
},
{
"Canada/Pacific"
,
"Pacific Standard Time"
},
{
"Canada/Saskatchewan"
,
"Canada Central Standard Time"
},
{
"Canada/Yukon"
,
"Yukon Standard Time"
},
{
"Chile/Continental"
,
"Pacific SA Standard Time"
},
{
"Chile/EasterIsland"
,
"Easter Island Standard Time"
},
{
"Cuba"
,
"Cuba Standard Time"
},
{
"EST5EDT"
,
"Eastern Standard Time"
},
{
"Egypt"
,
"Egypt Standard Time"
},
{
"Eire"
,
"GMT Standard Time"
},
{
"Etc/GMT"
,
"UTC"
},
{
"Etc/GMT+1"
,
"Cape Verde Standard Time"
},
{
"Etc/GMT+10"
,
"Hawaiian Standard Time"
},
{
"Etc/GMT+11"
,
"UTC-11"
},
{
"Etc/GMT+12"
,
"Dateline Standard Time"
},
{
"Etc/GMT+2"
,
"UTC-02"
},
{
"Etc/GMT+3"
,
"SA Eastern Standard Time"
},
{
"Etc/GMT+4"
,
"SA Western Standard Time"
},
{
"Etc/GMT+5"
,
"SA Pacific Standard Time"
},
{
"Etc/GMT+6"
,
"Central America Standard Time"
},
{
"Etc/GMT+7"
,
"US Mountain Standard Time"
},
{
"Etc/GMT+8"
,
"UTC-08"
},
{
"Etc/GMT+9"
,
"UTC-09"
},
{
"Etc/GMT-1"
,
"W. Central Africa Standard Time"
},
{
"Etc/GMT-10"
,
"West Pacific Standard Time"
},
{
"Etc/GMT-11"
,
"Central Pacific Standard Time"
},
{
"Etc/GMT-12"
,
"UTC+12"
},
{
"Etc/GMT-13"
,
"UTC+13"
},
{
"Etc/GMT-14"
,
"Line Islands Standard Time"
},
{
"Etc/GMT-2"
,
"South Africa Standard Time"
},
{
"Etc/GMT-3"
,
"E. Africa Standard Time"
},
{
"Etc/GMT-4"
,
"Arabian Standard Time"
},
{
"Etc/GMT-5"
,
"West Asia Standard Time"
},
{
"Etc/GMT-6"
,
"Central Asia Standard Time"
},
{
"Etc/GMT-7"
,
"SE Asia Standard Time"
},
{
"Etc/GMT-8"
,
"Singapore Standard Time"
},
{
"Etc/GMT-9"
,
"Tokyo Standard Time"
},
{
"Etc/UCT"
,
"UTC"
},
{
"Etc/UTC"
,
"UTC"
},
{
"Europe/Amsterdam"
,
"W. Europe Standard Time"
},
{
"Europe/Andorra"
,
"W. Europe Standard Time"
},
{
"Europe/Astrakhan"
,
"Astrakhan Standard Time"
},
{
"Europe/Athens"
,
"GTB Standard Time"
},
{
"Europe/Belfast"
,
"GMT Standard Time"
},
{
"Europe/Belgrade"
,
"Central Europe Standard Time"
},
{
"Europe/Berlin"
,
"W. Europe Standard Time"
},
{
"Europe/Bratislava"
,
"Central Europe Standard Time"
},
{
"Europe/Brussels"
,
"Romance Standard Time"
},
{
"Europe/Bucharest"
,
"GTB Standard Time"
},
{
"Europe/Budapest"
,
"Central Europe Standard Time"
},
{
"Europe/Busingen"
,
"W. Europe Standard Time"
},
{
"Europe/Chisinau"
,
"E. Europe Standard Time"
},
{
"Europe/Copenhagen"
,
"Romance Standard Time"
},
{
"Europe/Dublin"
,
"GMT Standard Time"
},
{
"Europe/Gibraltar"
,
"W. Europe Standard Time"
},
{
"Europe/Guernsey"
,
"GMT Standard Time"
},
{
"Europe/Helsinki"
,
"FLE Standard Time"
},
{
"Europe/Isle_of_Man"
,
"GMT Standard Time"
},
{
"Europe/Istanbul"
,
"Turkey Standard Time"
},
{
"Europe/Jersey"
,
"GMT Standard Time"
},
{
"Europe/Kaliningrad"
,
"Kaliningrad Standard Time"
},
{
"Europe/Kiev"
,
"FLE Standard Time"
},
{
"Europe/Kirov"
,
"Russian Standard Time"
},
{
"Europe/Lisbon"
,
"GMT Standard Time"
},
{
"Europe/Ljubljana"
,
"Central Europe Standard Time"
},
{
"Europe/London"
,
"GMT Standard Time"
},
{
"Europe/Luxembourg"
,
"W. Europe Standard Time"
},
{
"Europe/Madrid"
,
"Romance Standard Time"
},
{
"Europe/Malta"
,
"W. Europe Standard Time"
},
{
"Europe/Mariehamn"
,
"FLE Standard Time"
},
{
"Europe/Minsk"
,
"Belarus Standard Time"
},
{
"Europe/Monaco"
,
"W. Europe Standard Time"
},
{
"Europe/Moscow"
,
"Russian Standard Time"
},
{
"Europe/Oslo"
,
"W. Europe Standard Time"
},
{
"Europe/Paris"
,
"Romance Standard Time"
},
{
"Europe/Podgorica"
,
"Central Europe Standard Time"
},
{
"Europe/Prague"
,
"Central Europe Standard Time"
},
{
"Europe/Riga"
,
"FLE Standard Time"
},
{
"Europe/Rome"
,
"W. Europe Standard Time"
},
{
"Europe/Samara"
,
"Russia Time Zone 3"
},
{
"Europe/San_Marino"
,
"W. Europe Standard Time"
},
{
"Europe/Sarajevo"
,
"Central European Standard Time"
},
{
"Europe/Saratov"
,
"Saratov Standard Time"
},
{
"Europe/Simferopol"
,
"Russian Standard Time"
},
{
"Europe/Skopje"
,
"Central European Standard Time"
},
{
"Europe/Sofia"
,
"FLE Standard Time"
},
{
"Europe/Stockholm"
,
"W. Europe Standard Time"
},
{
"Europe/Tallinn"
,
"FLE Standard Time"
},
{
"Europe/Tirane"
,
"Central Europe Standard Time"
},
{
"Europe/Tiraspol"
,
"E. Europe Standard Time"
},
{
"Europe/Ulyanovsk"
,
"Astrakhan Standard Time"
},
{
"Europe/Uzhgorod"
,
"FLE Standard Time"
},
{
"Europe/Vaduz"
,
"W. Europe Standard Time"
},
{
"Europe/Vatican"
,
"W. Europe Standard Time"
},
{
"Europe/Vienna"
,
"W. Europe Standard Time"
},
{
"Europe/Vilnius"
,
"FLE Standard Time"
},
{
"Europe/Volgograd"
,
"Volgograd Standard Time"
},
{
"Europe/Warsaw"
,
"Central European Standard Time"
},
{
"Europe/Zagreb"
,
"Central European Standard Time"
},
{
"Europe/Zaporozhye"
,
"FLE Standard Time"
},
{
"Europe/Zurich"
,
"W. Europe Standard Time"
},
{
"GB"
,
"GMT Standard Time"
},
{
"GB-Eire"
,
"GMT Standard Time"
},
{
"GMT+0"
,
"UTC"
},
{
"GMT-0"
,
"UTC"
},
{
"GMT0"
,
"UTC"
},
{
"Greenwich"
,
"UTC"
},
{
"Hongkong"
,
"China Standard Time"
},
{
"Iceland"
,
"Greenwich Standard Time"
},
{
"Indian/Antananarivo"
,
"E. Africa Standard Time"
},
{
"Indian/Chagos"
,
"Central Asia Standard Time"
},
{
"Indian/Christmas"
,
"SE Asia Standard Time"
},
{
"Indian/Cocos"
,
"Myanmar Standard Time"
},
{
"Indian/Comoro"
,
"E. Africa Standard Time"
},
{
"Indian/Kerguelen"
,
"West Asia Standard Time"
},
{
"Indian/Mahe"
,
"Mauritius Standard Time"
},
{
"Indian/Maldives"
,
"West Asia Standard Time"
},
{
"Indian/Mauritius"
,
"Mauritius Standard Time"
},
{
"Indian/Mayotte"
,
"E. Africa Standard Time"
},
{
"Indian/Reunion"
,
"Mauritius Standard Time"
},
{
"Iran"
,
"Iran Standard Time"
},
{
"Israel"
,
"Israel Standard Time"
},
{
"Jamaica"
,
"SA Pacific Standard Time"
},
{
"Japan"
,
"Tokyo Standard Time"
},
{
"Kwajalein"
,
"UTC+12"
},
{
"Libya"
,
"Libya Standard Time"
},
{
"MST7MDT"
,
"Mountain Standard Time"
},
{
"Mexico/BajaNorte"
,
"Pacific Standard Time (Mexico)"
},
{
"Mexico/BajaSur"
,
"Mountain Standard Time (Mexico)"
},
{
"Mexico/General"
,
"Central Standard Time (Mexico)"
},
{
"NZ"
,
"New Zealand Standard Time"
},
{
"NZ-CHAT"
,
"Chatham Islands Standard Time"
},
{
"Navajo"
,
"Mountain Standard Time"
},
{
"PRC"
,
"China Standard Time"
},
{
"PST8PDT"
,
"Pacific Standard Time"
},
{
"Pacific/Apia"
,
"Samoa Standard Time"
},
{
"Pacific/Auckland"
,
"New Zealand Standard Time"
},
{
"Pacific/Bougainville"
,
"Bougainville Standard Time"
},
{
"Pacific/Chatham"
,
"Chatham Islands Standard Time"
},
{
"Pacific/Easter"
,
"Easter Island Standard Time"
},
{
"Pacific/Efate"
,
"Central Pacific Standard Time"
},
{
"Pacific/Enderbury"
,
"UTC+13"
},
{
"Pacific/Fakaofo"
,
"UTC+13"
},
{
"Pacific/Fiji"
,
"Fiji Standard Time"
},
{
"Pacific/Funafuti"
,
"UTC+12"
},
{
"Pacific/Galapagos"
,
"Central America Standard Time"
},
{
"Pacific/Gambier"
,
"UTC-09"
},
{
"Pacific/Guadalcanal"
,
"Central Pacific Standard Time"
},
{
"Pacific/Guam"
,
"West Pacific Standard Time"
},
{
"Pacific/Honolulu"
,
"Hawaiian Standard Time"
},
{
"Pacific/Johnston"
,
"Hawaiian Standard Time"
},
{
"Pacific/Kiritimati"
,
"Line Islands Standard Time"
},
{
"Pacific/Kosrae"
,
"Central Pacific Standard Time"
},
{
"Pacific/Kwajalein"
,
"UTC+12"
},
{
"Pacific/Majuro"
,
"UTC+12"
},
{
"Pacific/Marquesas"
,
"Marquesas Standard Time"
},
{
"Pacific/Midway"
,
"UTC-11"
},
{
"Pacific/Nauru"
,
"UTC+12"
},
{
"Pacific/Niue"
,
"UTC-11"
},
{
"Pacific/Norfolk"
,
"Norfolk Standard Time"
},
{
"Pacific/Noumea"
,
"Central Pacific Standard Time"
},
{
"Pacific/Pago_Pago"
,
"UTC-11"
},
{
"Pacific/Palau"
,
"Tokyo Standard Time"
},
{
"Pacific/Pitcairn"
,
"UTC-08"
},
{
"Pacific/Ponape"
,
"Central Pacific Standard Time"
},
{
"Pacific/Port_Moresby"
,
"West Pacific Standard Time"
},
{
"Pacific/Rarotonga"
,
"Hawaiian Standard Time"
},
{
"Pacific/Saipan"
,
"West Pacific Standard Time"
},
{
"Pacific/Samoa"
,
"UTC-11"
},
{
"Pacific/Tahiti"
,
"Hawaiian Standard Time"
},
{
"Pacific/Tarawa"
,
"UTC+12"
},
{
"Pacific/Tongatapu"
,
"Tonga Standard Time"
},
{
"Pacific/Truk"
,
"West Pacific Standard Time"
},
{
"Pacific/Wake"
,
"UTC+12"
},
{
"Pacific/Wallis"
,
"UTC+12"
},
{
"Poland"
,
"Central European Standard Time"
},
{
"Portugal"
,
"GMT Standard Time"
},
{
"ROC"
,
"Taipei Standard Time"
},
{
"ROK"
,
"Korea Standard Time"
},
{
"Singapore"
,
"Singapore Standard Time"
},
{
"Turkey"
,
"Turkey Standard Time"
},
{
"UCT"
,
"UTC"
},
{
"US/Alaska"
,
"Alaskan Standard Time"
},
{
"US/Aleutian"
,
"Aleutian Standard Time"
},
{
"US/Arizona"
,
"US Mountain Standard Time"
},
{
"US/Central"
,
"Central Standard Time"
},
{
"US/Eastern"
,
"Eastern Standard Time"
},
{
"US/Hawaii"
,
"Hawaiian Standard Time"
},
{
"US/Indiana-Starke"
,
"Central Standard Time"
},
{
"US/Michigan"
,
"Eastern Standard Time"
},
{
"US/Mountain"
,
"Mountain Standard Time"
},
{
"US/Pacific"
,
"Pacific Standard Time"
},
{
"US/Samoa"
,
"UTC-11"
},
{
"UTC"
,
"UTC"
},
{
"Universal"
,
"UTC"
},
{
"W-SU"
,
"Russian Standard Time"
},
{
"Zulu"
,
"UTC"
}};
#elif defined(_TD_DARWIN_64)
#elif defined(_TD_DARWIN_64)
#include <errno.h>
#include <errno.h>
#include <libproc.h>
#include <libproc.h>
...
@@ -61,19 +755,33 @@ void taosSetSystemTimezone(const char *inTimezoneStr, char *outTimezoneStr, int8
...
@@ -61,19 +755,33 @@ void taosSetSystemTimezone(const char *inTimezoneStr, char *outTimezoneStr, int8
#ifdef WINDOWS
#ifdef WINDOWS
char
winStr
[
TD_LOCALE_LEN
*
2
];
char
winStr
[
TD_LOCALE_LEN
*
2
];
sprintf
(
winStr
,
"TZ=%s"
,
buf
);
memset
(
winStr
,
0
,
sizeof
(
winStr
));
putenv
(
winStr
);
for
(
size_t
i
=
0
;
i
<
554
;
i
++
)
{
tzset
();
if
(
strcmp
(
tz_win
[
i
][
0
],
buf
)
==
0
)
{
/*
char
keyPath
[
100
];
* get CURRENT time zone.
char
keyValue
[
100
];
* system current time zone is affected by daylight saving time(DST)
DWORD
keyValueSize
=
sizeof
(
keyValue
);
*
sprintf
(
keyPath
,
"SOFTWARE
\\
Microsoft
\\
Windows NT
\\
CurrentVersion
\\
Time Zones
\\
%s"
,
tz_win
[
i
][
1
]);
* e.g., the local time zone of London in DST is GMT+01:00,
RegGetValue
(
HKEY_LOCAL_MACHINE
,
keyPath
,
"Display"
,
RRF_RT_ANY
,
NULL
,
(
PVOID
)
&
keyValue
,
&
keyValueSize
);
* otherwise is GMT+00:00
if
(
keyValueSize
>
0
)
{
*/
keyValue
[
4
]
=
(
keyValue
[
4
]
==
'+'
?
'-'
:
'+'
);
keyValue
[
10
]
=
0
;
sprintf
(
winStr
,
"TZ=%s:00"
,
&
(
keyValue
[
1
]));
}
break
;
}
}
char
*
p
=
strchr
(
inTimezoneStr
,
'+'
);
if
(
p
==
NULL
)
p
=
strchr
(
inTimezoneStr
,
'-'
);
if
(
p
==
NULL
)
{
sprintf
(
winStr
,
"TZ=UTC+00:00:00"
);
}
else
{
sprintf
(
winStr
,
"TZ=UTC%c%c%c:%c%c:00"
,
(
p
[
0
]
==
'+'
?
'-'
:
'+'
),
p
[
1
],
p
[
2
],
p
[
3
],
p
[
4
]);
}
_putenv
(
winStr
);
_tzset
();
#ifdef _MSC_VER
#ifdef _MSC_VER
#if _MSC_VER >= 1900
#if _MSC_VER >= 1900
// see https://docs.microsoft.com/en-us/cpp/c-runtime-library/daylight-dstbias-timezone-and-tzname?view=vs-2019
int64_t
timezone
=
_timezone
;
int64_t
timezone
=
_timezone
;
int32_t
daylight
=
_daylight
;
int32_t
daylight
=
_daylight
;
char
**
tzname
=
_tzname
;
char
**
tzname
=
_tzname
;
...
@@ -83,11 +791,6 @@ void taosSetSystemTimezone(const char *inTimezoneStr, char *outTimezoneStr, int8
...
@@ -83,11 +791,6 @@ void taosSetSystemTimezone(const char *inTimezoneStr, char *outTimezoneStr, int8
int32_t
tz
=
(
int32_t
)((
-
timezone
*
MILLISECOND_PER_SECOND
)
/
MILLISECOND_PER_HOUR
);
int32_t
tz
=
(
int32_t
)((
-
timezone
*
MILLISECOND_PER_SECOND
)
/
MILLISECOND_PER_HOUR
);
*
tsTimezone
=
tz
;
*
tsTimezone
=
tz
;
tz
+=
daylight
;
tz
+=
daylight
;
/*
* format:
* (CST, +0800)
* (BST, +0100)
*/
sprintf
(
outTimezoneStr
,
"%s (%s, %s%02d00)"
,
buf
,
tzname
[
daylight
],
tz
>=
0
?
"+"
:
"-"
,
abs
(
tz
));
sprintf
(
outTimezoneStr
,
"%s (%s, %s%02d00)"
,
buf
,
tzname
[
daylight
],
tz
>=
0
?
"+"
:
"-"
,
abs
(
tz
));
*
outDaylight
=
daylight
;
*
outDaylight
=
daylight
;
...
@@ -118,13 +821,35 @@ void taosSetSystemTimezone(const char *inTimezoneStr, char *outTimezoneStr, int8
...
@@ -118,13 +821,35 @@ void taosSetSystemTimezone(const char *inTimezoneStr, char *outTimezoneStr, int8
void
taosGetSystemTimezone
(
char
*
outTimezoneStr
,
enum
TdTimezone
*
tsTimezone
)
{
void
taosGetSystemTimezone
(
char
*
outTimezoneStr
,
enum
TdTimezone
*
tsTimezone
)
{
#ifdef WINDOWS
#ifdef WINDOWS
char
*
tz
=
getenv
(
"TZ"
);
char
value
[
100
];
if
(
tz
==
NULL
||
strlen
(
tz
)
==
0
)
{
DWORD
bufferSize
=
sizeof
(
value
);
char
*
buf
=
getenv
(
"TZ"
);
if
(
buf
==
NULL
||
strlen
(
buf
)
==
0
)
{
RegGetValue
(
HKEY_LOCAL_MACHINE
,
"SYSTEM
\\
CurrentControlSet
\\
Control
\\
TimeZoneInformation"
,
"TimeZoneKeyName"
,
RRF_RT_ANY
,
NULL
,
(
PVOID
)
&
value
,
&
bufferSize
);
strcpy
(
outTimezoneStr
,
"not configured"
);
strcpy
(
outTimezoneStr
,
"not configured"
);
if
(
bufferSize
>
0
)
{
for
(
size_t
i
=
0
;
i
<
139
;
i
++
)
{
if
(
strcmp
(
win_tz
[
i
][
0
],
value
)
==
0
)
{
strcpy
(
outTimezoneStr
,
win_tz
[
i
][
1
]);
break
;
}
}
}
}
else
{
}
else
{
strcpy
(
outTimezoneStr
,
tz
);
strcpy
(
outTimezoneStr
,
buf
);
}
}
#ifdef _MSC_VER
#if _MSC_VER >= 1900
// see https://docs.microsoft.com/en-us/cpp/c-runtime-library/daylight-dstbias-timezone-and-tzname?view=vs-2019
int64_t
timezone
=
_timezone
;
int32_t
daylight
=
_daylight
;
char
**
tzname
=
_tzname
;
#endif
#endif
int32_t
tz
=
(
int32_t
)((
-
timezone
*
MILLISECOND_PER_SECOND
)
/
MILLISECOND_PER_HOUR
);
*
tsTimezone
=
tz
;
tz
+=
daylight
;
sprintf
(
outTimezoneStr
,
"%s (%s, %s%02d00)"
,
outTimezoneStr
,
tzname
[
daylight
],
tz
>=
0
?
"+"
:
"-"
,
abs
(
tz
));
#elif defined(_TD_DARWIN_64)
#elif defined(_TD_DARWIN_64)
char
buf
[
4096
]
=
{
0
};
char
buf
[
4096
]
=
{
0
};
char
*
tz
=
NULL
;
char
*
tz
=
NULL
;
...
...
tests/pytest/cluster/clusterSetup.py
浏览文件 @
e890ec69
...
@@ -92,13 +92,13 @@ class Node:
...
@@ -92,13 +92,13 @@ class Node:
self
.
conn
.
run
(
"yes|./install.sh"
)
self
.
conn
.
run
(
"yes|./install.sh"
)
def
configTaosd
(
self
,
taosConfigKey
,
taosConfigValue
):
def
configTaosd
(
self
,
taosConfigKey
,
taosConfigValue
):
self
.
conn
.
run
(
"sudo echo
'%s %s'
>> %s"
%
(
taosConfigKey
,
taosConfigValue
,
"/etc/taos/taos.cfg"
))
self
.
conn
.
run
(
"sudo echo
%s %s
>> %s"
%
(
taosConfigKey
,
taosConfigValue
,
"/etc/taos/taos.cfg"
))
def
removeTaosConfig
(
self
,
taosConfigKey
,
taosConfigValue
):
def
removeTaosConfig
(
self
,
taosConfigKey
,
taosConfigValue
):
self
.
conn
.
run
(
"sudo sed -in-place -e '/%s %s/d' %s"
%
(
taosConfigKey
,
taosConfigValue
,
"/etc/taos/taos.cfg"
))
self
.
conn
.
run
(
"sudo sed -in-place -e '/%s %s/d' %s"
%
(
taosConfigKey
,
taosConfigValue
,
"/etc/taos/taos.cfg"
))
def
configHosts
(
self
,
ip
,
name
):
def
configHosts
(
self
,
ip
,
name
):
self
.
conn
.
run
(
"echo
'%s %s'
>> %s"
%
(
ip
,
name
,
'/etc/hosts'
))
self
.
conn
.
run
(
"echo
%s %s
>> %s"
%
(
ip
,
name
,
'/etc/hosts'
))
def
removeData
(
self
):
def
removeData
(
self
):
try
:
try
:
...
...
tests/pytest/dockerCluster/basic.py
浏览文件 @
e890ec69
...
@@ -113,7 +113,7 @@ class BuildDockerCluser:
...
@@ -113,7 +113,7 @@ class BuildDockerCluser:
def
cfg
(
self
,
option
,
value
,
nodeIndex
):
def
cfg
(
self
,
option
,
value
,
nodeIndex
):
cfgPath
=
"%s/node%d/cfg/taos.cfg"
%
(
self
.
dockerDir
,
nodeIndex
)
cfgPath
=
"%s/node%d/cfg/taos.cfg"
%
(
self
.
dockerDir
,
nodeIndex
)
cmd
=
"echo
'%s %s'
>> %s"
%
(
option
,
value
,
cfgPath
)
cmd
=
"echo
%s %s
>> %s"
%
(
option
,
value
,
cfgPath
)
self
.
execCmd
(
cmd
)
self
.
execCmd
(
cmd
)
def
updateLocalhosts
(
self
):
def
updateLocalhosts
(
self
):
...
@@ -122,7 +122,7 @@ class BuildDockerCluser:
...
@@ -122,7 +122,7 @@ class BuildDockerCluser:
print
(
result
)
print
(
result
)
if
result
is
None
or
result
.
isspace
():
if
result
is
None
or
result
.
isspace
():
print
(
"=========="
)
print
(
"=========="
)
cmd
=
"echo
'172.27.0.7 tdnode1'
>> /etc/hosts"
cmd
=
"echo
172.27.0.7 tdnode1
>> /etc/hosts"
display
=
"echo %s"
%
cmd
display
=
"echo %s"
%
cmd
self
.
execCmd
(
display
)
self
.
execCmd
(
display
)
self
.
execCmd
(
cmd
)
self
.
execCmd
(
cmd
)
...
...
tests/pytest/fulltest.bat
浏览文件 @
e890ec69
python
.\test.py
-f
insert
\basic.py
python
.\test.py
-f
insert
\basic.py
python
.\test.py
-f
insert
\int.py
python
.\test.py
-f
insert
\float.py
python
.\test.py
-f
insert
\bigint.py
python
.\test.py
-f
insert
\bool.py
python
.\test.py
-f
insert
\double.py
python
.\test.py
-f
insert
\smallint.py
python
.\test.py
-f
insert
\tinyint.py
python
.\test.py
-f
insert
\date.py
python
.\test.py
-f
insert
\binary.py
python
.\test.py
-f
insert
\nchar.py
python
.\test.py
-f
query
\filter.py
python
.\test.py
-f
query
\filterCombo.py
python
.\test.py
-f
query
\queryNormal.py
python
.\test.py
-f
query
\queryError.py
python
.\test.py
-f
query
\filterAllIntTypes.py
python
.\test.py
-f
query
\filterFloatAndDouble.py
python
.\test.py
-f
query
\filterOtherTypes.py
python
.\test.py
-f
query
\querySort.py
python
.\test.py
-f
query
\queryJoin.py
\ No newline at end of file
tests/pytest/manualTest/TD-5114/rollingUpgrade.py
浏览文件 @
e890ec69
...
@@ -38,7 +38,7 @@ class Node:
...
@@ -38,7 +38,7 @@ class Node:
def
buildTaosd
(
self
):
def
buildTaosd
(
self
):
try
:
try
:
print
(
self
.
conn
)
print
(
self
.
conn
)
# self.conn.run('echo
"1234"
> /home/chr/installtest/test.log')
# self.conn.run('echo
1234
> /home/chr/installtest/test.log')
self
.
conn
.
run
(
"cd /home/chr/installtest/ && tar -xvf %s "
%
self
.
verName
)
self
.
conn
.
run
(
"cd /home/chr/installtest/ && tar -xvf %s "
%
self
.
verName
)
self
.
conn
.
run
(
"cd /home/chr/installtest/%s && ./install.sh "
%
self
.
installPath
)
self
.
conn
.
run
(
"cd /home/chr/installtest/%s && ./install.sh "
%
self
.
installPath
)
except
Exception
as
e
:
except
Exception
as
e
:
...
@@ -49,7 +49,7 @@ class Node:
...
@@ -49,7 +49,7 @@ class Node:
def
rebuildTaosd
(
self
):
def
rebuildTaosd
(
self
):
try
:
try
:
print
(
self
.
conn
)
print
(
self
.
conn
)
# self.conn.run('echo
"1234"
> /home/chr/installtest/test.log')
# self.conn.run('echo
1234
> /home/chr/installtest/test.log')
self
.
conn
.
run
(
"cd /home/chr/installtest/%s && ./install.sh "
%
self
.
installPath
)
self
.
conn
.
run
(
"cd /home/chr/installtest/%s && ./install.sh "
%
self
.
installPath
)
except
Exception
as
e
:
except
Exception
as
e
:
print
(
"Build Taosd error for node %d "
%
self
.
index
)
print
(
"Build Taosd error for node %d "
%
self
.
index
)
...
@@ -108,7 +108,7 @@ class oneNode:
...
@@ -108,7 +108,7 @@ class oneNode:
# install TDengine at 192.168.103/104/141
# install TDengine at 192.168.103/104/141
try
:
try
:
node
=
Node
(
id
,
username
,
IP
,
passwd
,
version
)
node
=
Node
(
id
,
username
,
IP
,
passwd
,
version
)
node
.
conn
.
run
(
'echo
"start taosd"
'
)
node
.
conn
.
run
(
'echo
start taosd
'
)
node
.
buildTaosd
()
node
.
buildTaosd
()
# clear DataPath , if need clear data
# clear DataPath , if need clear data
node
.
clearData
()
node
.
clearData
()
...
@@ -128,7 +128,7 @@ class oneNode:
...
@@ -128,7 +128,7 @@ class oneNode:
# start TDengine
# start TDengine
try
:
try
:
node
=
Node
(
id
,
username
,
IP
,
passwd
,
version
)
node
=
Node
(
id
,
username
,
IP
,
passwd
,
version
)
node
.
conn
.
run
(
'echo
"restart taosd"
'
)
node
.
conn
.
run
(
'echo
restart taosd
'
)
# clear DataPath , if need clear data
# clear DataPath , if need clear data
node
.
clearData
()
node
.
clearData
()
node
.
restartTaosd
()
node
.
restartTaosd
()
...
@@ -149,14 +149,14 @@ class oneNode:
...
@@ -149,14 +149,14 @@ class oneNode:
verName
=
"TDengine-enterprise-server-%s-Linux-x64.tar.gz"
%
version
verName
=
"TDengine-enterprise-server-%s-Linux-x64.tar.gz"
%
version
# installPath = "TDengine-enterprise-server-%s" % self.version
# installPath = "TDengine-enterprise-server-%s" % self.version
node131
=
Node
(
131
,
'ubuntu'
,
'192.168.1.131'
,
'tbase125!'
,
'2.0.20.0'
)
node131
=
Node
(
131
,
'ubuntu'
,
'192.168.1.131'
,
'tbase125!'
,
'2.0.20.0'
)
node131
.
conn
.
run
(
'echo
"upgrade cluster"
'
)
node131
.
conn
.
run
(
'echo
upgrade cluster
'
)
node131
.
conn
.
run
(
'sshpass -p tbase125! scp /nas/TDengine/v%s/enterprise/%s root@192.168.1.%d:/home/chr/installtest/'
%
(
version
,
verName
,
id
))
node131
.
conn
.
run
(
'sshpass -p tbase125! scp /nas/TDengine/v%s/enterprise/%s root@192.168.1.%d:/home/chr/installtest/'
%
(
version
,
verName
,
id
))
node131
.
conn
.
close
()
node131
.
conn
.
close
()
# upgrade TDengine at 192.168.103/104/141
# upgrade TDengine at 192.168.103/104/141
try
:
try
:
node
=
Node
(
id
,
username
,
IP
,
passwd
,
version
)
node
=
Node
(
id
,
username
,
IP
,
passwd
,
version
)
node
.
conn
.
run
(
'echo
"start taosd"
'
)
node
.
conn
.
run
(
'echo
start taosd
'
)
node
.
conn
.
run
(
'echo
"1234"
> /home/chr/test.log'
)
node
.
conn
.
run
(
'echo
1234
> /home/chr/test.log'
)
node
.
buildTaosd
()
node
.
buildTaosd
()
time
.
sleep
(
5
)
time
.
sleep
(
5
)
node
.
startTaosd
()
node
.
startTaosd
()
...
@@ -176,7 +176,7 @@ class oneNode:
...
@@ -176,7 +176,7 @@ class oneNode:
# backCluster TDengine at 192.168.103/104/141
# backCluster TDengine at 192.168.103/104/141
try
:
try
:
node
=
Node
(
id
,
username
,
IP
,
passwd
,
version
)
node
=
Node
(
id
,
username
,
IP
,
passwd
,
version
)
node
.
conn
.
run
(
'echo
"rollback taos"
'
)
node
.
conn
.
run
(
'echo
rollback taos
'
)
node
.
rebuildTaosd
()
node
.
rebuildTaosd
()
time
.
sleep
(
5
)
time
.
sleep
(
5
)
node
.
startTaosd
()
node
.
startTaosd
()
...
...
tests/pytest/test-all.bat
浏览文件 @
e890ec69
...
@@ -14,12 +14,14 @@ for /F "usebackq tokens=*" %%i in (fulltest.bat) do (
...
@@ -14,12 +14,14 @@ for /F "usebackq tokens=*" %%i in (fulltest.bat) do (
echo
Processing
%%i
echo
Processing
%%i
set
/a
a
+=
1
set
/a
a
+=
1
call
%%i
ARG1
-w
1
-m
%
1
>
result_
!a!
.txt
2
>
error_
!a!
.txt
call
%%i
ARG1
-w
1
-m
%
1
>
result_
!a!
.txt
2
>
error_
!a!
.txt
if
errorlevel
1
(
call
:colorEcho
0
c
"failed"
&
echo
.
&&
exit
8
)
else
(
call
:colorEcho
0
a
"Success"
&
echo
.
)
if
errorlevel
1
(
call
:colorEcho
0
c
"failed"
&
echo
.
&&
goto
:end
)
else
(
call
:colorEcho
0
a
"Success"
&
echo
.
)
)
)
exit
goto
:end
:colorEcho
:colorEcho
echo
off
echo
off
<
nul
set
/p
".=
%DEL%
"
>
"
%
~2"
<
nul
set
/p
".=
%DEL%
"
>
"
%
~2"
findstr
/v /a
:
%
1
/R
"
^$
"
"
%
~2"
nul
findstr
/v /a
:
%
1
/R
"
^$
"
"
%
~2"
nul
del
"
%
~2"
>
nul
2
>&
1
i
del
"
%
~2"
>
nul
2
>&
1
i
:end
\ No newline at end of file
tests/pytest/util/dnodes.py
浏览文件 @
e890ec69
...
@@ -247,7 +247,7 @@ class TDDnode:
...
@@ -247,7 +247,7 @@ class TDDnode:
paths
=
[]
paths
=
[]
for
root
,
dirs
,
files
in
os
.
walk
(
projPath
):
for
root
,
dirs
,
files
in
os
.
walk
(
projPath
):
if
((
tool
)
in
files
):
if
((
tool
)
in
files
or
(
"%s.exe"
%
tool
)
in
files
):
rootRealPath
=
os
.
path
.
dirname
(
os
.
path
.
realpath
(
root
))
rootRealPath
=
os
.
path
.
dirname
(
os
.
path
.
realpath
(
root
))
if
(
"packaging"
not
in
rootRealPath
):
if
(
"packaging"
not
in
rootRealPath
):
paths
.
append
(
os
.
path
.
join
(
root
,
tool
))
paths
.
append
(
os
.
path
.
join
(
root
,
tool
))
...
...
tests/pytest/wal/addOldWalTest.py
浏览文件 @
e890ec69
...
@@ -31,7 +31,7 @@ class TDTestCase:
...
@@ -31,7 +31,7 @@ class TDTestCase:
def
createOldDirAndAddWal
(
self
):
def
createOldDirAndAddWal
(
self
):
oldDir
=
tdDnodes
.
getDnodesRootDir
()
+
"dnode1/data/vnode/vnode2/wal/old"
oldDir
=
tdDnodes
.
getDnodesRootDir
()
+
"dnode1/data/vnode/vnode2/wal/old"
os
.
system
(
"sudo echo
'test'
>> %s/wal"
%
oldDir
)
os
.
system
(
"sudo echo
test
>> %s/wal"
%
oldDir
)
def
run
(
self
):
def
run
(
self
):
...
...
tests/system-test/0-others/taosShell.py
浏览文件 @
e890ec69
...
@@ -3,8 +3,12 @@ import taos
...
@@ -3,8 +3,12 @@ import taos
import
sys
import
sys
import
time
import
time
import
socket
import
socket
import
pexpect
import
os
import
os
import
platform
if
platform
.
system
().
lower
()
==
'windows'
:
import
wexpect
as
taosExpect
else
:
import
pexpect
as
taosExpect
from
util.log
import
*
from
util.log
import
*
from
util.sql
import
*
from
util.sql
import
*
...
@@ -15,6 +19,10 @@ def taos_command (buildPath, key, value, expectString, cfgDir, sqlString='', key
...
@@ -15,6 +19,10 @@ def taos_command (buildPath, key, value, expectString, cfgDir, sqlString='', key
if
len
(
key
)
==
0
:
if
len
(
key
)
==
0
:
tdLog
.
exit
(
"taos test key is null!"
)
tdLog
.
exit
(
"taos test key is null!"
)
if
platform
.
system
().
lower
()
==
'windows'
:
taosCmd
=
buildPath
+
'
\\
build
\\
bin
\\
taos.exe '
taosCmd
=
taosCmd
.
replace
(
'
\\
'
,
'
\\\\
'
)
else
:
taosCmd
=
buildPath
+
'/build/bin/taos '
taosCmd
=
buildPath
+
'/build/bin/taos '
if
len
(
cfgDir
)
!=
0
:
if
len
(
cfgDir
)
!=
0
:
taosCmd
=
taosCmd
+
'-c '
+
cfgDir
taosCmd
=
taosCmd
+
'-c '
+
cfgDir
...
@@ -36,14 +44,17 @@ def taos_command (buildPath, key, value, expectString, cfgDir, sqlString='', key
...
@@ -36,14 +44,17 @@ def taos_command (buildPath, key, value, expectString, cfgDir, sqlString='', key
tdLog
.
info
(
"taos cmd: %s"
%
taosCmd
)
tdLog
.
info
(
"taos cmd: %s"
%
taosCmd
)
child
=
pe
xpect
.
spawn
(
taosCmd
,
timeout
=
3
)
child
=
taosE
xpect
.
spawn
(
taosCmd
,
timeout
=
3
)
#output = child.readline()
#output = child.readline()
#print (output.decode())
#print (output.decode())
if
len
(
expectString
)
!=
0
:
if
len
(
expectString
)
!=
0
:
i
=
child
.
expect
([
expectString
,
pexpect
.
TIMEOUT
,
pe
xpect
.
EOF
],
timeout
=
6
)
i
=
child
.
expect
([
expectString
,
taosExpect
.
TIMEOUT
,
taosE
xpect
.
EOF
],
timeout
=
6
)
else
:
else
:
i
=
child
.
expect
([
pexpect
.
TIMEOUT
,
pe
xpect
.
EOF
],
timeout
=
6
)
i
=
child
.
expect
([
taosExpect
.
TIMEOUT
,
taosE
xpect
.
EOF
],
timeout
=
6
)
if
platform
.
system
().
lower
()
==
'windows'
:
retResult
=
child
.
before
else
:
retResult
=
child
.
before
.
decode
()
retResult
=
child
.
before
.
decode
()
print
(
retResult
)
print
(
retResult
)
#print(child.after.decode())
#print(child.after.decode())
...
@@ -51,10 +62,12 @@ def taos_command (buildPath, key, value, expectString, cfgDir, sqlString='', key
...
@@ -51,10 +62,12 @@ def taos_command (buildPath, key, value, expectString, cfgDir, sqlString='', key
print
(
'taos login success! Here can run sql, taos> '
)
print
(
'taos login success! Here can run sql, taos> '
)
if
len
(
sqlString
)
!=
0
:
if
len
(
sqlString
)
!=
0
:
child
.
sendline
(
sqlString
)
child
.
sendline
(
sqlString
)
w
=
child
.
expect
([
"Query OK"
,
pexpect
.
TIMEOUT
,
pe
xpect
.
EOF
],
timeout
=
1
)
w
=
child
.
expect
([
"Query OK"
,
taosExpect
.
TIMEOUT
,
taosE
xpect
.
EOF
],
timeout
=
1
)
if
w
==
0
:
if
w
==
0
:
return
"TAOS_OK"
return
"TAOS_OK"
else
:
else
:
print
(
1
)
print
(
retResult
)
return
"TAOS_FAIL"
return
"TAOS_FAIL"
else
:
else
:
if
key
==
'A'
or
key1
==
'A'
or
key
==
'C'
or
key1
==
'C'
or
key
==
'V'
or
key1
==
'V'
:
if
key
==
'A'
or
key1
==
'A'
or
key
==
'C'
or
key1
==
'C'
or
key
==
'V'
or
key1
==
'V'
:
...
@@ -102,7 +115,7 @@ class TDTestCase:
...
@@ -102,7 +115,7 @@ class TDTestCase:
projPath
=
selfPath
[:
selfPath
.
find
(
"tests"
)]
projPath
=
selfPath
[:
selfPath
.
find
(
"tests"
)]
for
root
,
dirs
,
files
in
os
.
walk
(
projPath
):
for
root
,
dirs
,
files
in
os
.
walk
(
projPath
):
if
(
"taosd"
in
files
):
if
(
"taosd"
in
files
or
"taosd.exe"
in
files
):
rootRealPath
=
os
.
path
.
dirname
(
os
.
path
.
realpath
(
root
))
rootRealPath
=
os
.
path
.
dirname
(
os
.
path
.
realpath
(
root
))
if
(
"packaging"
not
in
rootRealPath
):
if
(
"packaging"
not
in
rootRealPath
):
buildPath
=
root
[:
len
(
root
)
-
len
(
"/build/bin"
)]
buildPath
=
root
[:
len
(
root
)
-
len
(
"/build/bin"
)]
...
@@ -275,11 +288,15 @@ class TDTestCase:
...
@@ -275,11 +288,15 @@ class TDTestCase:
pwd
=
os
.
getcwd
()
pwd
=
os
.
getcwd
()
newDbName
=
"dbf"
newDbName
=
"dbf"
sqlFile
=
pwd
+
"/0-others/sql.txt"
sqlFile
=
pwd
+
"/0-others/sql.txt"
sql1
=
"echo 'create database "
+
newDbName
+
"' > "
+
sqlFile
sql1
=
"echo create database "
+
newDbName
+
" > "
+
sqlFile
sql2
=
"echo 'use "
+
newDbName
+
"' >> "
+
sqlFile
sql2
=
"echo use "
+
newDbName
+
" >> "
+
sqlFile
if
platform
.
system
().
lower
()
==
'windows'
:
sql3
=
"echo create table ntbf (ts timestamp, c binary(40)) >> "
+
sqlFile
sql4
=
"echo insert into ntbf values (
\"
2021-04-01 08:00:00.000
\"
,
\"
test taos -f1
\"
)(
\"
2021-04-01 08:00:01.000
\"
,
\"
test taos -f2
\"
) >> "
+
sqlFile
else
:
sql3
=
"echo 'create table ntbf (ts timestamp, c binary(40))' >> "
+
sqlFile
sql3
=
"echo 'create table ntbf (ts timestamp, c binary(40))' >> "
+
sqlFile
sql4
=
"echo 'insert into ntbf values (
\"
2021-04-01 08:00:00.000
\"
,
\"
test taos -f1
\"
)(
\"
2021-04-01 08:00:01.000
\"
,
\"
test taos -f2
\"
)' >> "
+
sqlFile
sql4
=
"echo 'insert into ntbf values (
\"
2021-04-01 08:00:00.000
\"
,
\"
test taos -f1
\"
)(
\"
2021-04-01 08:00:01.000
\"
,
\"
test taos -f2
\"
)' >> "
+
sqlFile
sql5
=
"echo
'show databases'
>> "
+
sqlFile
sql5
=
"echo
show databases
>> "
+
sqlFile
os
.
system
(
sql1
)
os
.
system
(
sql1
)
os
.
system
(
sql2
)
os
.
system
(
sql2
)
os
.
system
(
sql3
)
os
.
system
(
sql3
)
...
...
tests/system-test/0-others/taosShellError.py
浏览文件 @
e890ec69
...
@@ -216,11 +216,15 @@ class TDTestCase:
...
@@ -216,11 +216,15 @@ class TDTestCase:
pwd
=
os
.
getcwd
()
pwd
=
os
.
getcwd
()
newDbName
=
"dbf"
newDbName
=
"dbf"
sqlFile
=
pwd
+
"/0-others/sql.txt"
sqlFile
=
pwd
+
"/0-others/sql.txt"
sql1
=
"echo 'create database "
+
newDbName
+
"' > "
+
sqlFile
sql1
=
"echo create database "
+
newDbName
+
" > "
+
sqlFile
sql2
=
"echo 'use "
+
newDbName
+
"' >> "
+
sqlFile
sql2
=
"echo use "
+
newDbName
+
" >> "
+
sqlFile
if
platform
.
system
().
lower
()
==
'windows'
:
sql3
=
"echo create table ntbf (ts timestamp, c binary(40)) no this item >> "
+
sqlFile
sql4
=
"echo insert into ntbf values (
\"
2021-04-01 08:00:00.000
\"
,
\"
test taos -f1
\"
)(
\"
2021-04-01 08:00:01.000
\"
,
\"
test taos -f2
\"
) >> "
+
sqlFile
else
:
sql3
=
"echo 'create table ntbf (ts timestamp, c binary(40)) no this item' >> "
+
sqlFile
sql3
=
"echo 'create table ntbf (ts timestamp, c binary(40)) no this item' >> "
+
sqlFile
sql4
=
"echo 'insert into ntbf values (
\"
2021-04-01 08:00:00.000
\"
,
\"
test taos -f1
\"
)(
\"
2021-04-01 08:00:01.000
\"
,
\"
test taos -f2
\"
)' >> "
+
sqlFile
sql4
=
"echo 'insert into ntbf values (
\"
2021-04-01 08:00:00.000
\"
,
\"
test taos -f1
\"
)(
\"
2021-04-01 08:00:01.000
\"
,
\"
test taos -f2
\"
)' >> "
+
sqlFile
sql5
=
"echo
'show databases'
>> "
+
sqlFile
sql5
=
"echo
show databases
>> "
+
sqlFile
os
.
system
(
sql1
)
os
.
system
(
sql1
)
os
.
system
(
sql2
)
os
.
system
(
sql2
)
os
.
system
(
sql3
)
os
.
system
(
sql3
)
...
...
tests/system-test/test.py
浏览文件 @
e890ec69
...
@@ -17,6 +17,8 @@ import sys
...
@@ -17,6 +17,8 @@ import sys
import
getopt
import
getopt
import
subprocess
import
subprocess
import
time
import
time
import
base64
import
json
from
distutils.log
import
warn
as
printf
from
distutils.log
import
warn
as
printf
from
fabric2
import
Connection
from
fabric2
import
Connection
sys
.
path
.
append
(
"../pytest"
)
sys
.
path
.
append
(
"../pytest"
)
...
@@ -38,8 +40,9 @@ if __name__ == "__main__":
...
@@ -38,8 +40,9 @@ if __name__ == "__main__":
stop
=
0
stop
=
0
restart
=
False
restart
=
False
windows
=
0
windows
=
0
opts
,
args
=
getopt
.
gnu_getopt
(
sys
.
argv
[
1
:],
'f:p:m:l:scghrw'
,
[
updateCfgDict
=
{}
'file='
,
'path='
,
'master'
,
'logSql'
,
'stop'
,
'cluster'
,
'valgrind'
,
'help'
,
'windows'
])
opts
,
args
=
getopt
.
gnu_getopt
(
sys
.
argv
[
1
:],
'f:p:m:l:scghrwd:'
,
[
'file='
,
'path='
,
'master'
,
'logSql'
,
'stop'
,
'cluster'
,
'valgrind'
,
'help'
,
'windows'
,
'updateCfgDict'
])
for
key
,
value
in
opts
:
for
key
,
value
in
opts
:
if
key
in
[
'-h'
,
'--help'
]:
if
key
in
[
'-h'
,
'--help'
]:
tdLog
.
printNoPrefix
(
tdLog
.
printNoPrefix
(
...
@@ -53,6 +56,7 @@ if __name__ == "__main__":
...
@@ -53,6 +56,7 @@ if __name__ == "__main__":
tdLog
.
printNoPrefix
(
'-g valgrind Test Flag'
)
tdLog
.
printNoPrefix
(
'-g valgrind Test Flag'
)
tdLog
.
printNoPrefix
(
'-r taosd restart test'
)
tdLog
.
printNoPrefix
(
'-r taosd restart test'
)
tdLog
.
printNoPrefix
(
'-w taos on windows'
)
tdLog
.
printNoPrefix
(
'-w taos on windows'
)
tdLog
.
printNoPrefix
(
'-d update cfg dict, base64 json str'
)
sys
.
exit
(
0
)
sys
.
exit
(
0
)
if
key
in
[
'-r'
,
'--restart'
]:
if
key
in
[
'-r'
,
'--restart'
]:
...
@@ -88,6 +92,12 @@ if __name__ == "__main__":
...
@@ -88,6 +92,12 @@ if __name__ == "__main__":
if
key
in
[
'-w'
,
'--windows'
]:
if
key
in
[
'-w'
,
'--windows'
]:
windows
=
1
windows
=
1
if
key
in
[
'-d'
,
'--updateCfgDict'
]:
try
:
updateCfgDict
=
eval
(
base64
.
b64decode
(
value
.
encode
()).
decode
())
except
:
print
(
'updateCfgDict convert fail.'
)
sys
.
exit
(
0
)
if
(
stop
!=
0
):
if
(
stop
!=
0
):
if
(
valgrind
==
0
):
if
(
valgrind
==
0
):
toBeKilled
=
"taosd"
toBeKilled
=
"taosd"
...
@@ -127,15 +137,47 @@ if __name__ == "__main__":
...
@@ -127,15 +137,47 @@ if __name__ == "__main__":
if
windows
:
if
windows
:
tdCases
.
logSql
(
logSql
)
tdCases
.
logSql
(
logSql
)
tdLog
.
info
(
"Procedures for testing self-deployment"
)
tdLog
.
info
(
"Procedures for testing self-deployment"
)
td_clinet
=
TDSimClient
(
"C:
\\
TDengine"
)
tdDnodes
.
init
(
deployPath
)
td_clinet
.
deploy
()
tdDnodes
.
setTestCluster
(
testCluster
)
tdDnodes
.
setValgrind
(
valgrind
)
tdDnodes
.
stopAll
()
key_word
=
'tdCases.addWindows'
is_test_framework
=
0
try
:
if
key_word
in
open
(
fileName
).
read
():
is_test_framework
=
1
except
:
pass
updateCfgDictStr
=
''
if
is_test_framework
:
moduleName
=
fileName
.
replace
(
".py"
,
""
).
replace
(
os
.
sep
,
"."
)
uModule
=
importlib
.
import_module
(
moduleName
)
try
:
ucase
=
uModule
.
TDTestCase
()
if
((
json
.
dumps
(
updateCfgDict
)
==
'{}'
)
and
(
ucase
.
updatecfgDict
is
not
None
)):
updateCfgDict
=
ucase
.
updatecfgDict
updateCfgDictStr
=
"-d %s"
%
base64
.
b64encode
(
json
.
dumps
(
updateCfgDict
).
encode
()).
decode
()
except
:
pass
else
:
pass
tdDnodes
.
deploy
(
1
,
updateCfgDict
)
if
masterIp
==
""
or
masterIp
==
"localhost"
:
tdDnodes
.
startWin
(
1
)
else
:
remote_conn
=
Connection
(
"root@%s"
%
host
)
remote_conn
=
Connection
(
"root@%s"
%
host
)
with
remote_conn
.
cd
(
'/var/lib/jenkins/workspace/TDinternal/community/tests/pytest'
):
with
remote_conn
.
cd
(
'/var/lib/jenkins/workspace/TDinternal/community/tests/pytest'
):
remote_conn
.
run
(
"python3 ./test.py"
)
remote_conn
.
run
(
"python3 ./test.py %s"
%
updateCfgDictStr
)
# print("docker exec -d cross_platform bash -c \"cd ~/test/community/tests/system-test && python3 ./test.py %s\""%updateCfgDictStr)
# os.system("docker exec -d cross_platform bash -c \"cd ~/test/community/tests/system-test && python3 ./test.py %s\""%updateCfgDictStr)
# time.sleep(2)
conn
=
taos
.
connect
(
conn
=
taos
.
connect
(
host
=
"%s"
%
(
host
),
host
=
"%s"
%
(
host
),
config
=
td_clinet
.
cfgDir
)
config
=
tdDnodes
.
sim
.
getCfgDir
())
if
is_test_framework
:
tdCases
.
runOneWindows
(
conn
,
fileName
)
tdCases
.
runOneWindows
(
conn
,
fileName
)
else
:
tdCases
.
runAllWindows
(
conn
)
else
:
else
:
tdDnodes
.
init
(
deployPath
)
tdDnodes
.
init
(
deployPath
)
tdDnodes
.
setTestCluster
(
testCluster
)
tdDnodes
.
setTestCluster
(
testCluster
)
...
@@ -153,16 +195,13 @@ if __name__ == "__main__":
...
@@ -153,16 +195,13 @@ if __name__ == "__main__":
uModule
=
importlib
.
import_module
(
moduleName
)
uModule
=
importlib
.
import_module
(
moduleName
)
try
:
try
:
ucase
=
uModule
.
TDTestCase
()
ucase
=
uModule
.
TDTestCase
()
tdDnodes
.
deploy
(
1
,
ucase
.
updatecfgDict
)
if
(
json
.
dumps
(
updateCfgDict
)
==
'{}'
):
except
:
updateCfgDict
=
ucase
.
updatecfgDict
tdDnodes
.
deploy
(
1
,{})
except
:
else
:
pass
pass
tdDnodes
.
deploy
(
1
,{}
)
tdDnodes
.
deploy
(
1
,
updateCfgDict
)
tdDnodes
.
start
(
1
)
tdDnodes
.
start
(
1
)
tdCases
.
logSql
(
logSql
)
tdCases
.
logSql
(
logSql
)
if
testCluster
:
if
testCluster
:
...
...
tools/shell/CMakeLists.txt
浏览文件 @
e890ec69
aux_source_directory
(
src SHELL_SRC
)
aux_source_directory
(
src SHELL_SRC
)
add_executable
(
shell
${
SHELL_SRC
}
)
add_executable
(
shell
${
SHELL_SRC
}
)
if
(
TD_WINDOWS
)
target_link_libraries
(
shell PUBLIC taos_static
)
else
()
target_link_libraries
(
shell PUBLIC taos
)
endif
()
target_link_libraries
(
target_link_libraries
(
shell
shell
PUBLIC taos
PRIVATE os common transport util
PRIVATE os common transport util
)
)
target_include_directories
(
target_include_directories
(
...
...
tools/shell/src/shellArguments.c
浏览文件 @
e890ec69
...
@@ -36,6 +36,8 @@
...
@@ -36,6 +36,8 @@
#define SHELL_VERSION "Print program version."
#define SHELL_VERSION "Print program version."
#define SHELL_EMAIL "<support@taosdata.com>"
#define SHELL_EMAIL "<support@taosdata.com>"
static
int32_t
shellParseSingleOpt
(
int32_t
key
,
char
*
arg
);
void
shellPrintHelp
()
{
void
shellPrintHelp
()
{
char
indent
[]
=
" "
;
char
indent
[]
=
" "
;
printf
(
"Usage: taos [OPTION...]
\n\n
"
);
printf
(
"Usage: taos [OPTION...]
\n\n
"
);
...
@@ -90,6 +92,21 @@ static struct argp_option shellOptions[] = {
...
@@ -90,6 +92,21 @@ static struct argp_option shellOptions[] = {
{
0
},
{
0
},
};
};
static
error_t
shellParseOpt
(
int32_t
key
,
char
*
arg
,
struct
argp_state
*
state
)
{
return
shellParseSingleOpt
(
key
,
arg
);
}
static
struct
argp
shellArgp
=
{
shellOptions
,
shellParseOpt
,
""
,
""
};
static
void
shellParseArgsUseArgp
(
int
argc
,
char
*
argv
[])
{
argp_program_version
=
shell
.
info
.
programVersion
;
argp_parse
(
&
shellArgp
,
argc
,
argv
,
0
,
0
,
&
shell
.
args
);
}
#endif
#ifndef ARGP_ERR_UNKNOWN
#define ARGP_ERR_UNKNOWN E2BIG
#endif
static
int32_t
shellParseSingleOpt
(
int32_t
key
,
char
*
arg
)
{
static
int32_t
shellParseSingleOpt
(
int32_t
key
,
char
*
arg
)
{
SShellArgs
*
pArgs
=
&
shell
.
args
;
SShellArgs
*
pArgs
=
&
shell
.
args
;
...
@@ -196,8 +213,8 @@ int32_t shellParseArgsWithoutArgp(int argc, char *argv[]) {
...
@@ -196,8 +213,8 @@ int32_t shellParseArgsWithoutArgp(int argc, char *argv[]) {
}
}
shellParseSingleOpt
(
key
[
1
],
val
);
shellParseSingleOpt
(
key
[
1
],
val
);
i
++
;
i
++
;
}
else
if
(
key
[
1
]
==
'p'
||
key
[
1
]
==
'A'
||
key
[
1
]
==
'
c'
||
key
[
1
]
==
'r'
||
key
[
1
]
==
'k'
||
key
[
1
]
==
't'
||
}
else
if
(
key
[
1
]
==
'p'
||
key
[
1
]
==
'A'
||
key
[
1
]
==
'
C'
||
key
[
1
]
==
'r'
||
key
[
1
]
==
'k'
||
key
[
1
]
==
'
V'
)
{
key
[
1
]
==
'
t'
||
key
[
1
]
==
'V'
||
key
[
1
]
==
'?'
||
key
[
1
]
==
1
)
{
shellParseSingleOpt
(
key
[
1
],
NULL
);
shellParseSingleOpt
(
key
[
1
],
NULL
);
}
else
{
}
else
{
fprintf
(
stderr
,
"invalid option %s
\n
"
,
key
);
fprintf
(
stderr
,
"invalid option %s
\n
"
,
key
);
...
@@ -208,21 +225,10 @@ int32_t shellParseArgsWithoutArgp(int argc, char *argv[]) {
...
@@ -208,21 +225,10 @@ int32_t shellParseArgsWithoutArgp(int argc, char *argv[]) {
return
0
;
return
0
;
}
}
static
error_t
shellParseOpt
(
int32_t
key
,
char
*
arg
,
struct
argp_state
*
state
)
{
return
shellParseSingleOpt
(
key
,
arg
);
}
static
struct
argp
shellArgp
=
{
shellOptions
,
shellParseOpt
,
""
,
""
};
static
void
shellParseArgsUseArgp
(
int
argc
,
char
*
argv
[])
{
argp_program_version
=
shell
.
info
.
programVersion
;
argp_parse
(
&
shellArgp
,
argc
,
argv
,
0
,
0
,
&
shell
.
args
);
}
#endif
static
void
shellInitArgs
(
int
argc
,
char
*
argv
[])
{
static
void
shellInitArgs
(
int
argc
,
char
*
argv
[])
{
for
(
int
i
=
1
;
i
<
argc
;
i
++
)
{
for
(
int
i
=
1
;
i
<
argc
;
i
++
)
{
if
(
strncmp
(
argv
[
i
],
"-p"
,
2
)
==
0
)
{
if
(
strncmp
(
argv
[
i
],
"-p"
,
2
)
==
0
)
{
printf
(
shell
.
info
.
clientVersion
,
tsOsName
,
taos_get_client_info
());
//
printf(shell.info.clientVersion, tsOsName, taos_get_client_info());
if
(
strlen
(
argv
[
i
])
==
2
)
{
if
(
strlen
(
argv
[
i
])
==
2
)
{
printf
(
"Enter password: "
);
printf
(
"Enter password: "
);
taosSetConsoleEcho
(
false
);
taosSetConsoleEcho
(
false
);
...
@@ -341,7 +347,7 @@ int32_t shellParseArgs(int32_t argc, char *argv[]) {
...
@@ -341,7 +347,7 @@ int32_t shellParseArgs(int32_t argc, char *argv[]) {
#if defined(_TD_WINDOWS_64) || defined(_TD_WINDOWS_32)
#if defined(_TD_WINDOWS_64) || defined(_TD_WINDOWS_32)
shell
.
info
.
osname
=
"Windows"
;
shell
.
info
.
osname
=
"Windows"
;
snprintf
(
shell
.
history
.
file
,
TSDB_FILENAME_LEN
,
"C:/TDengine/%s"
,
SHELL_HISTORY_FILE
);
snprintf
(
shell
.
history
.
file
,
TSDB_FILENAME_LEN
,
"C:/TDengine/%s"
,
SHELL_HISTORY_FILE
);
//
if (shellParseArgsWithoutArgp(argc, argv) != 0) return -1;
if
(
shellParseArgsWithoutArgp
(
argc
,
argv
)
!=
0
)
return
-
1
;
#elif defined(_TD_DARWIN_64)
#elif defined(_TD_DARWIN_64)
shell
.
info
.
osname
=
"Darwin"
;
shell
.
info
.
osname
=
"Darwin"
;
snprintf
(
shell
.
history
.
file
,
TSDB_FILENAME_LEN
,
"%s/%s"
,
getpwuid
(
getuid
())
->
pw_dir
,
SHELL_HISTORY_FILE
);
snprintf
(
shell
.
history
.
file
,
TSDB_FILENAME_LEN
,
"%s/%s"
,
getpwuid
(
getuid
())
->
pw_dir
,
SHELL_HISTORY_FILE
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录