system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/deploy.sh -n dnode2 -i 2
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode2 -s start
sql connect

#$loop_cnt = 0
#check_dnode_ready:
#	$loop_cnt = $loop_cnt + 1
#	sleep 200
#	if $loop_cnt == 10 then
#	  print ====> dnode not ready!
#		return -1
#	endi
#sql select * from information_schema.ins_dnodes
#print ===> $rows $data00 $data01 $data02 $data03 $data04 $data05
#if $data00 != 1 then
#  return -1
#endi
#if $data04 != ready then
#  goto check_dnode_ready
#endi
#sql connect

# select */column from information_schema.xxxx; xxxx include:
# dnodes, mnodes, modules, qnodes, 
# user_databases, user_functions, user_indexes, user_stables, streams,
# user_tables, user_table_distributed, user_users, vgroups,

print =============== add dnode2 into cluster
sql create dnode $hostname port 7200

print =============== create database, stable, table
sql create database db vgroups 3
sql use db
sql create table stb (ts timestamp, c int) tags (t int)
sql create table t0 using stb tags (0)
sql create table tba (ts timestamp, c1 binary(10), c2 nchar(10));

print =============== run show xxxx
sql select * from information_schema.ins_dnodes
if $rows != 2 then 
  return -1
endi

sql select * from information_schema.ins_mnodes
if $rows != 1 then 
  return -1
endi
#sql show modules
#sql select * from information_schema.ins_qnodes
sql select * from information_schema.ins_databases
if $rows != 3 then
  return -1
endi
#sql show functions

#sql show indexes
sql show stables
if $rows != 1 then 
  return -1
endi
#sql show streams, 
sql show tables
if $rows != 2 then 
  return -1
endi
#sql show user_table_distributed
sql select * from information_schema.ins_users
if $rows != 1 then 
  return -1
endi
sql show vgroups
if $rows != 3 then 
  return -1
endi

print =============== run select * from information_schema.xxxx
sql select * from information_schema.ins_dnodes
if $rows != 2 then 
  return -1
endi
sql select * from information_schema.ins_mnodes
if $rows != 1 then 
  return -1
endi
#sql select * from information_schema.ins_modules
#sql select * from information_schema.ins_qnodes
sql select * from information_schema.ins_databases
if $rows != 3 then
  return -1
endi
#sql select * from information_schema.ins_functions
#sql select * from information_schema.ins_indexes
sql select * from information_schema.ins_stables
if $rows != 1 then 
  return -1
endi
#sql select * from information_schema.ins_streams
sql select * from information_schema.ins_tables
if $rows <= 0 then
  return -1
endi
#sql select * from information_schema.ins_table_distributed
sql select * from information_schema.ins_users
if $rows != 1 then 
  return -1
endi
sql select * from information_schema.ins_vgroups
if $rows != 3 then 
  return -1
endi

print ==== stop dnode1 and dnode2, and restart dnodes
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s start
system sh/exec.sh -n dnode2 -s start

$loop_cnt = 0
check_dnode_ready:
	$loop_cnt = $loop_cnt + 1
	sleep 200
	if $loop_cnt == 10 then
	  print ====> dnode not ready!
		return -1
	endi
sql select * from information_schema.ins_dnodes
print ===> $rows $data00 $data01 $data02 $data03 $data04 $data05
if $data00 != 1 then
  return -1
endi
if $data04 != ready then
  goto check_dnode_ready
endi

print ==== again run show / select of above
print =============== run show xxxx
sql select * from information_schema.ins_dnodes
if $rows != 2 then 
  return -1
endi

sql select * from information_schema.ins_mnodes
if $rows != 1 then 
  return -1
endi
#sql show modules
#sql select * from information_schema.ins_qnodes
sql select * from information_schema.ins_databases
if $rows != 3 then
  return -1
endi
#sql show functions

#sql show indexes
sql show stables
if $rows != 1 then 
  return -1
endi
#sql show streams, 
sql show tables
if $rows != 2 then 
  return -1
endi
#sql show user_table_distributed
sql select * from information_schema.ins_users
if $rows != 1 then 
  return -1
endi
sql show vgroups
if $rows != 3 then 
  return -1
endi

print =============== run select * from information_schema.xxxx
sql select * from information_schema.ins_dnodes
if $rows != 2 then 
  return -1
endi
sql select * from information_schema.ins_mnodes
if $rows != 1 then 
  return -1
endi
#sql select * from information_schema.ins_modules
#sql select * from information_schema.ins_qnodes
sql select * from information_schema.ins_databases
if $rows != 3 then
  return -1
endi
#sql select * from information_schema.ins_functions
#sql select * from information_schema.ins_indexes
sql select * from information_schema.ins_stables
if $rows != 1 then 
  return -1
endi
#sql select * frominformation_schema.ins_streams
sql select * from information_schema.ins_tables
if $rows <= 0 then
  return -1
endi
#sql select * from information_schema.ins_table_distributed
sql select * from information_schema.ins_users
if $rows != 1 then 
  return -1
endi
sql select * from information_schema.ins_vgroups
if $rows != 3 then 
  return -1
endi

sql_error select * from performance_schema.PERF_OFFSETS;

sql show create stable stb;
if $rows != 1 then
  return -1
endi

sql show create table t0;
if $rows != 1 then
  return -1
endi

sql show create table tba;
if $rows != 1 then
  return -1
endi

sql_error show create stable t0;

sql show variables;
if $rows != 4 then
  return -1
endi

sql show dnode 1 variables;
if $rows <= 0 then
  return -1
endi

sql show local variables;
if $rows <= 0 then
  return -1
endi

system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode2 -s stop -x SIGINT
