column_drop.sim 3.9 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/exec.sh -n dnode1 -s start
sql connect

print ========== prepare stb and ctb
sql create database db vgroups 1
sql create table db.stb (ts timestamp, c1 int, c2 binary(4), c3 int, c4 bigint, c5 int, c6 int) tags(t1 int, t2 float, t3 binary(16)) comment "abd"
sql create table db.ctb using db.stb tags(101, 102, "103")
sql insert into db.ctb values(now, 1, "2", 3, 4, 5, 6)

sql show db.stables
if $rows != 1 then
  return -1
endi
if $data[0][0] != stb then
  return -1
endi
if $data[0][1] != db then
  return -1
endi
if $data[0][3] != 7 then
  return -1
endi
if $data[0][4] != 3 then
  return -1
endi
if $data[0][6] != abd then
  return -1
endi

sql show db.tables
if $rows != 1 then
  return -1
endi
if $data[0][0] != ctb then
  return -1
endi
if $data[0][1] != db then
  return -1
endi
if $data[0][3] != 7 then
  return -1
endi
if $data[0][4] != stb then
  return -1
endi
if $data[0][6] != 2 then
  return -1
endi
if $data[0][9] != CHILD_TABLE then
  return -1
endi

sql select * from db.stb
if $rows != 1 then
  return -1
endi
if $data[0][1] != 1 then
  return -1
endi
if $data[0][2] != 2 then
  return -1
endi
if $data[0][3] != 3 then
  return -1
endi
if $data[0][4] != 4 then
  return -1
endi
if $data[0][5] != 5 then
  return -1
endi
if $data[0][6] != 6 then
  return -1
endi
if $data[0][7] != 101 then
  return -1
endi

sql_error alter table db.stb drop column ts
sql_error alter table db.stb drop column t1
sql_error alter table db.stb drop column t2
sql_error alter table db.stb drop column t3
sql_error alter table db.stb drop column c9

print ========== step1 drop column c6
sql alter table db.stb drop column c6
sql show db.stables
if $data[0][3] != 6 then
  return -1
endi

sql show db.tables
if $data[0][3] != 6 then
  return -1
endi

sql select * from db.stb
sql select * from db.stb
print $data[0][0] $data[0][1] $data[0][2] $data[0][3] $data[0][4] $data[0][5] $data[0][6]
if $rows != 1 then
  return -1
endi
if $data[0][1] != 1 then
  return -1
endi
if $data[0][2] != 2 then
  return -1
endi
if $data[0][3] != 3 then
  return -1
endi
if $data[0][4] != 4 then
  return -1
endi
if $data[0][5] != 5 then
  return -1
endi
if $data[0][6] != 101 then
121
  print expect 101, actual: $data06
122 123 124 125 126 127 128 129 130 131 132
  return -1
endi

sql insert into db.ctb values(now+1s, 1, 2, 3, 4, 5)
sql select * from db.stb
if $rows != 2 then
  return -1
endi

print ========== step2 drop column c5
sql alter table db.stb drop column c5
D
dapan1121 已提交
133 134
sql_error insert into db.ctb values(now+2s, 1, 2, 3, 4, 5)
sql insert into db.ctb values(now+2s, 1, 2, 3, 4)
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210
sql insert into db.ctb values(now+3s, 1, 2, 3, 4)
sql_error insert into db.ctb values(now+2s, 1, 2, 3, 4, 5)

sql select * from db.stb
if $rows != 4 then
  return -1
endi

print ========== step3 drop column c4
sql alter table db.stb drop column c4
sql select * from db.stb
sql_error insert into db.ctb values(now+2s, 1, 2, 3, 4, 5)
sql_error insert into db.ctb values(now+2s, 1, 2, 3, 4)
sql insert into db.ctb values(now+3s, 1, 2, 3)

sql select * from db.stb
if $rows != 5 then
  return -1
endi

print ========== step4 add column c4
sql alter table db.stb add column c4 binary(13)
sql insert into db.ctb values(now+4s, 1, 2, 3, '4')
sql select * from db.stb
if $rows != 6 then
  return -1
endi
if $data[1][4] != NULL then
  return -1
endi
if $data[2][4] != NULL then
  return -1
endi
if $data[3][4] != NULL then
  return -1
endi
if $data[5][4] != 4 then
  return -1
endi

print ========== step5 describe
sql describe db.ctb
if $rows != 8 then
  return -1
endi
if $data[0][0] != ts then
  return -1
endi
if $data[1][0] != c1 then
  return -1
endi
if $data[2][0] != c2 then
  return -1
endi
if $data[3][0] != c3 then
  return -1
endi
if $data[4][0] != c4 then
  return -1
endi
if $data[4][1] != VARCHAR then
  return -1
endi
if $data[4][2] != 13 then
  return -1
endi
if $data[5][0] != t1 then
  return -1
endi
if $data[6][0] != t2 then
  return -1
endi
if $data[7][0] != t3 then
  return -1
endi

D
dapan1121 已提交
211
system sh/exec.sh -n dnode1 -s stop -x SIGINT