Merge pull request #5497 from taosdata/xiaoping/add_test_case

[TD-3365]<test>: add test case for query filter on tag type
This commit is contained in:
huili 2021-03-19 13:50:24 +08:00 committed by GitHub
commit 49e7159be0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 55 additions and 37 deletions

View File

@ -34,7 +34,7 @@ done
function addTaoscfg { function addTaoscfg {
for i in {1..5} for i in {1..5}
do do
touch /data/node$i/cfg/taos.cfg touch $DOCKER_DIR/node$i/cfg/taos.cfg
echo 'firstEp tdnode1:6030' > $DOCKER_DIR/node$i/cfg/taos.cfg echo 'firstEp tdnode1:6030' > $DOCKER_DIR/node$i/cfg/taos.cfg
echo 'fqdn tdnode'$i >> $DOCKER_DIR/node$i/cfg/taos.cfg echo 'fqdn tdnode'$i >> $DOCKER_DIR/node$i/cfg/taos.cfg
echo 'arbitrator tdnode1:6042' >> $DOCKER_DIR/node$i/cfg/taos.cfg echo 'arbitrator tdnode1:6042' >> $DOCKER_DIR/node$i/cfg/taos.cfg
@ -101,19 +101,19 @@ function clusterUp {
if [ $NUM_OF_NODES -eq 2 ]; then if [ $NUM_OF_NODES -eq 2 ]; then
echo "create 2 dnodes" echo "create 2 dnodes"
PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz TARBITRATORPKG=TDengine-arbitrator-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION docker-compose up -d PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz TARBITRATORPKG=TDengine-arbitrator-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION DATADIR=$DOCKER_DIR docker-compose up -d
fi fi
if [ $NUM_OF_NODES -eq 3 ]; then if [ $NUM_OF_NODES -eq 3 ]; then
PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz TARBITRATORPKG=TDengine-arbitrator-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION docker-compose -f docker-compose.yml -f node3.yml up -d PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz TARBITRATORPKG=TDengine-arbitrator-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION DATADIR=$DOCKER_DIR docker-compose -f docker-compose.yml -f node3.yml up -d
fi fi
if [ $NUM_OF_NODES -eq 4 ]; then if [ $NUM_OF_NODES -eq 4 ]; then
PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz TARBITRATORPKG=TDengine-arbitrator-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION docker-compose -f docker-compose.yml -f node3.yml -f node4.yml up -d PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz TARBITRATORPKG=TDengine-arbitrator-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION DATADIR=$DOCKER_DIR docker-compose -f docker-compose.yml -f node3.yml -f node4.yml up -d
fi fi
if [ $NUM_OF_NODES -eq 5 ]; then if [ $NUM_OF_NODES -eq 5 ]; then
PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz TARBITRATORPKG=TDengine-arbitrator-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION docker-compose -f docker-compose.yml -f node3.yml -f node4.yml -f node5.yml up -d PACKAGE=TDengine-server-$VERSION-Linux-x64.tar.gz TARBITRATORPKG=TDengine-arbitrator-$VERSION-Linux-x64.tar.gz DIR=TDengine-server-$VERSION DIR2=TDengine-arbitrator-$VERSION VERSION=$VERSION DATADIR=$DOCKER_DIR docker-compose -f docker-compose.yml -f node3.yml -f node4.yml -f node5.yml up -d
fi fi
echo "docker compose finish" echo "docker compose finish"

View File

@ -9,6 +9,7 @@ services:
- TARBITRATORPKG=${TARBITRATORPKG} - TARBITRATORPKG=${TARBITRATORPKG}
- EXTRACTDIR=${DIR} - EXTRACTDIR=${DIR}
- EXTRACTDIR2=${DIR2} - EXTRACTDIR2=${DIR2}
- DATADIR=${DATADIR}
image: 'tdengine:${VERSION}' image: 'tdengine:${VERSION}'
container_name: 'tdnode1' container_name: 'tdnode1'
cap_add: cap_add:
@ -32,19 +33,19 @@ services:
volumes: volumes:
# bind data directory # bind data directory
- type: bind - type: bind
source: /data/node1/data source: ${DATADIR}/node1/data
target: /var/lib/taos target: /var/lib/taos
# bind log directory # bind log directory
- type: bind - type: bind
source: /data/node1/log source: ${DATADIR}/node1/log
target: /var/log/taos target: /var/log/taos
# bind configuration # bind configuration
- type: bind - type: bind
source: /data/node1/cfg source: ${DATADIR}/node1/cfg
target: /etc/taos target: /etc/taos
# bind core dump path # bind core dump path
- type: bind - type: bind
source: /data/node1/core source: ${DATADIR}/node1/core
target: /coredump target: /coredump
- type: bind - type: bind
source: /data source: /data
@ -61,6 +62,7 @@ services:
args: args:
- PACKAGE=${PACKAGE} - PACKAGE=${PACKAGE}
- EXTRACTDIR=${DIR} - EXTRACTDIR=${DIR}
- DATADIR=${DATADIR}
image: 'tdengine:${VERSION}' image: 'tdengine:${VERSION}'
container_name: 'tdnode2' container_name: 'tdnode2'
cap_add: cap_add:
@ -84,22 +86,22 @@ services:
volumes: volumes:
# bind data directory # bind data directory
- type: bind - type: bind
source: /data/node2/data source: ${DATADIR}/node2/data
target: /var/lib/taos target: /var/lib/taos
# bind log directory # bind log directory
- type: bind - type: bind
source: /data/node2/log source: ${DATADIR}/node2/log
target: /var/log/taos target: /var/log/taos
# bind configuration # bind configuration
- type: bind - type: bind
source: /data/node2/cfg source: ${DATADIR}/node2/cfg
target: /etc/taos target: /etc/taos
# bind core dump path # bind core dump path
- type: bind - type: bind
source: /data/node2/core source: ${DATADIR}/node2/core
target: /coredump target: /coredump
- type: bind - type: bind
source: /data source: ${DATADIR}
target: /root target: /root
hostname: tdnode2 hostname: tdnode2
networks: networks:

View File

@ -7,6 +7,7 @@ services:
args: args:
- PACKAGE=${PACKAGE} - PACKAGE=${PACKAGE}
- EXTRACTDIR=${DIR} - EXTRACTDIR=${DIR}
- DATADIR=${DATADIR}
image: 'tdengine:${VERSION}' image: 'tdengine:${VERSION}'
container_name: 'tdnode3' container_name: 'tdnode3'
cap_add: cap_add:
@ -30,22 +31,22 @@ services:
volumes: volumes:
# bind data directory # bind data directory
- type: bind - type: bind
source: /data/node3/data source: ${DATADIR}/node3/data
target: /var/lib/taos target: /var/lib/taos
# bind log directory # bind log directory
- type: bind - type: bind
source: /data/node3/log source: ${DATADIR}/node3/log
target: /var/log/taos target: /var/log/taos
# bind configuration # bind configuration
- type: bind - type: bind
source: /data/node3/cfg source: ${DATADIR}/node3/cfg
target: /etc/taos target: /etc/taos
# bind core dump path # bind core dump path
- type: bind - type: bind
source: /data/node3/core source: ${DATADIR}/node3/core
target: /coredump target: /coredump
- type: bind - type: bind
source: /data source: ${DATADIR}
target: /root target: /root
hostname: tdnode3 hostname: tdnode3
networks: networks:

View File

@ -7,6 +7,7 @@ services:
args: args:
- PACKAGE=${PACKAGE} - PACKAGE=${PACKAGE}
- EXTRACTDIR=${DIR} - EXTRACTDIR=${DIR}
- DATADIR=${DATADIR}
image: 'tdengine:${VERSION}' image: 'tdengine:${VERSION}'
container_name: 'tdnode4' container_name: 'tdnode4'
cap_add: cap_add:
@ -30,23 +31,23 @@ services:
volumes: volumes:
# bind data directory # bind data directory
- type: bind - type: bind
source: /data/node4/data source: ${DATADIR}/node4/data
target: /var/lib/taos target: /var/lib/taos
# bind log directory # bind log directory
- type: bind - type: bind
source: /data/node4/log source: ${DATADIR}/node4/log
target: /var/log/taos target: /var/log/taos
# bind configuration # bind configuration
- type: bind - type: bind
source: /data/node4/cfg source: ${DATADIR}/node4/cfg
target: /etc/taos target: /etc/taos
# bind core dump path # bind core dump path
- type: bind - type: bind
source: /data/node4/core source: ${DATADIR}/node4/core
target: /coredump target: /coredump
- type: bind - type: bind
source: /data source: ${DATADIR}
target: /root target: /root
hostname: tdnode4 hostname: tdnode4
networks: networks:
taos_update_net: taos_update_net:

View File

@ -7,6 +7,7 @@ services:
args: args:
- PACKAGE=${PACKAGE} - PACKAGE=${PACKAGE}
- EXTRACTDIR=${DIR} - EXTRACTDIR=${DIR}
- DATADIR=${DATADIR}
image: 'tdengine:${VERSION}' image: 'tdengine:${VERSION}'
container_name: 'tdnode5' container_name: 'tdnode5'
cap_add: cap_add:
@ -30,22 +31,22 @@ services:
volumes: volumes:
# bind data directory # bind data directory
- type: bind - type: bind
source: /data/node5/data source: ${DATADIR}/node5/data
target: /var/lib/taos target: /var/lib/taos
# bind log directory # bind log directory
- type: bind - type: bind
source: /data/node5/log source: ${DATADIR}/node5/log
target: /var/log/taos target: /var/log/taos
# bind configuration # bind configuration
- type: bind - type: bind
source: /data/node5/cfg source: ${DATADIR}/node5/cfg
target: /etc/taos target: /etc/taos
# bind core dump path # bind core dump path
- type: bind - type: bind
source: /data/node5/core source: ${DATADIR}/node5/core
target: /coredump target: /coredump
- type: bind - type: bind
source: /data source: ${DATADIR}
target: /root target: /root
hostname: tdnode5 hostname: tdnode5
networks: networks:

View File

@ -28,18 +28,18 @@ class TDTestCase:
print("==============step1") print("==============step1")
tdSql.execute( tdSql.execute(
"create table if not exists st (ts timestamp, tagtype int, name nchar(16)) tags(dev nchar(50))") "create table if not exists st (ts timestamp, tagtype int, name nchar(16), col4 binary(16)) tags(dev nchar(50), tag2 binary(16))")
tdSql.execute( tdSql.execute(
'CREATE TABLE if not exists dev_001 using st tags("dev_01")') 'CREATE TABLE if not exists dev_001 using st tags("dev_01", "tag_01")')
tdSql.execute( tdSql.execute(
'CREATE TABLE if not exists dev_002 using st tags("dev_02")') 'CREATE TABLE if not exists dev_002 using st tags("dev_02", "tag_02")')
print("==============step2") print("==============step2")
tdSql.execute( tdSql.execute(
"""INSERT INTO dev_001(ts, tagtype, name) VALUES('2020-05-13 10:00:00.000', 1, 'first'),('2020-05-13 10:00:00.001', 2, 'second'), """INSERT INTO dev_001 VALUES('2020-05-13 10:00:00.000', 1, 'first', 'binary1'),('2020-05-13 10:00:00.001', 2, 'second', 'binary2'),
('2020-05-13 10:00:00.002', 3, 'third') dev_002 VALUES('2020-05-13 10:00:00.003', 1, 'first'), ('2020-05-13 10:00:00.004', 2, 'second'), ('2020-05-13 10:00:00.002', 3, 'third' , 'binary3') dev_002 VALUES('2020-05-13 10:00:00.003', 1, 'first', 'binary4'), ('2020-05-13 10:00:00.004', 2, 'second', 'binary5'),
('2020-05-13 10:00:00.005', 3, 'third')""") ('2020-05-13 10:00:00.005', 3, 'third', 'binary6')""")
# > for timestamp type # > for timestamp type
tdSql.query("select * from db.st where ts > '2020-05-13 10:00:00.002'") tdSql.query("select * from db.st where ts > '2020-05-13 10:00:00.002'")
@ -85,6 +85,12 @@ class TDTestCase:
tdSql.query("select * from db.st where name = 'first'") tdSql.query("select * from db.st where name = 'first'")
tdSql.checkRows(2) tdSql.checkRows(2)
tdSql.query("select * from db.st where col4 = 1231231")
tdSql.checkRows(0)
tdSql.query("select * from db.st where name = 1231231")
tdSql.checkRows(0)
# <> for timestamp type # <> for timestamp type
tdSql.query("select * from db.st where ts <> '2020-05-13 10:00:00.002'") tdSql.query("select * from db.st where ts <> '2020-05-13 10:00:00.002'")
# tdSql.checkRows(4) # tdSql.checkRows(4)
@ -105,6 +111,13 @@ class TDTestCase:
tdSql.query("select * from db.st where name like '_econd'") tdSql.query("select * from db.st where name like '_econd'")
tdSql.checkRows(2) tdSql.checkRows(2)
# for tag
tdSql.query("select * from db.st where dev=1")
tdSql.checkRows(0)
tdSql.query("select * from db.st where tag2=1")
tdSql.checkRows(0)
def stop(self): def stop(self):
tdSql.close() tdSql.close()
tdLog.success("%s successfully executed" % __file__) tdLog.success("%s successfully executed" % __file__)