Skip to content

Commit

Permalink
backend: fix a bug about wrong column info (pingcap#420)
Browse files Browse the repository at this point in the history
* fix a bug about wrong column info

* add test

Co-authored-by: kennytm <kennytm@gmail.com>
  • Loading branch information
leoppro and kennytm authored Oct 23, 2020
1 parent c11e6bd commit 5b212bf
Show file tree
Hide file tree
Showing 6 changed files with 293 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lightning/backend/tidb.go
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ func (be *tidbBackend) FetchRemoteTableModels(schemaName string) (tables []*mode
SELECT table_name, column_name
FROM information_schema.columns
WHERE table_schema = ?
ORDER BY table_name;
ORDER BY table_name, ordinal_position;
`, schemaName)
if e != nil {
return e
Expand Down
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
create database too_many_columns;
259 changes: 259 additions & 0 deletions tests/too_many_columns/data/too_many_columns.t-schema.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,259 @@
create table t
(
COL001 VARCHAR(16),
COL002 VARCHAR(16),
COL003 VARCHAR(16),
COL004 VARCHAR(16),
COL005 VARCHAR(16),
COL006 VARCHAR(16),
COL007 VARCHAR(16),
COL008 VARCHAR(16),
COL009 VARCHAR(16),
COL010 VARCHAR(16),
COL011 VARCHAR(16),
COL012 VARCHAR(16),
COL013 VARCHAR(16),
COL014 VARCHAR(16),
COL015 VARCHAR(16),
COL016 VARCHAR(16),
COL017 VARCHAR(16),
COL018 VARCHAR(16),
COL019 VARCHAR(16),
COL020 VARCHAR(16),
COL021 VARCHAR(16),
COL022 VARCHAR(16),
COL023 VARCHAR(16),
COL024 VARCHAR(16),
COL025 VARCHAR(16),
COL026 VARCHAR(16),
COL027 VARCHAR(16),
COL028 VARCHAR(16),
COL029 VARCHAR(16),
COL030 VARCHAR(16),
COL031 VARCHAR(16),
COL032 VARCHAR(16),
COL033 VARCHAR(16),
COL034 VARCHAR(16),
COL035 VARCHAR(16),
COL036 VARCHAR(16),
COL037 VARCHAR(16),
COL038 VARCHAR(16),
COL039 VARCHAR(16),
COL040 VARCHAR(16),
COL041 VARCHAR(16),
COL042 VARCHAR(16),
COL043 VARCHAR(16),
COL044 VARCHAR(16),
COL045 VARCHAR(16),
COL046 VARCHAR(16),
COL047 VARCHAR(16),
COL048 VARCHAR(16),
COL049 VARCHAR(16),
COL050 VARCHAR(16),
COL051 VARCHAR(16),
COL052 VARCHAR(16),
COL053 VARCHAR(16),
COL054 VARCHAR(16),
COL055 VARCHAR(16),
COL056 VARCHAR(16),
COL057 VARCHAR(16),
COL058 VARCHAR(16),
COL059 VARCHAR(16),
COL060 VARCHAR(16),
COL061 VARCHAR(16),
COL062 VARCHAR(16),
COL063 VARCHAR(16),
COL064 VARCHAR(16),
COL065 VARCHAR(16),
COL066 VARCHAR(16),
COL067 VARCHAR(16),
COL068 VARCHAR(16),
COL069 VARCHAR(16),
COL070 VARCHAR(16),
COL071 VARCHAR(16),
COL072 VARCHAR(16),
COL073 VARCHAR(16),
COL074 VARCHAR(16),
COL075 VARCHAR(16),
COL076 VARCHAR(16),
COL077 VARCHAR(16),
COL078 VARCHAR(16),
COL079 VARCHAR(16),
COL080 VARCHAR(16),
COL081 VARCHAR(16),
COL082 VARCHAR(16),
COL083 VARCHAR(16),
COL084 VARCHAR(16),
COL085 VARCHAR(16),
COL086 VARCHAR(16),
COL087 VARCHAR(16),
COL088 VARCHAR(16),
COL089 VARCHAR(16),
COL090 VARCHAR(16),
COL091 VARCHAR(16),
COL092 VARCHAR(16),
COL093 VARCHAR(16),
COL094 VARCHAR(16),
COL095 VARCHAR(16),
COL096 VARCHAR(16),
COL097 VARCHAR(16),
COL098 VARCHAR(16),
COL099 VARCHAR(16),
COL100 VARCHAR(16),
COL101 VARCHAR(16),
COL102 VARCHAR(16),
COL103 VARCHAR(16),
COL104 VARCHAR(16),
COL105 VARCHAR(16),
COL106 VARCHAR(16),
COL107 VARCHAR(16),
COL108 VARCHAR(16),
COL109 VARCHAR(16),
COL110 VARCHAR(16),
COL111 VARCHAR(16),
COL112 VARCHAR(16),
COL113 VARCHAR(16),
COL114 VARCHAR(16),
COL115 VARCHAR(16),
COL116 VARCHAR(16),
COL117 VARCHAR(16),
COL118 VARCHAR(16),
COL119 VARCHAR(16),
COL120 VARCHAR(16),
COL121 VARCHAR(16),
COL122 VARCHAR(16),
COL123 VARCHAR(16),
COL124 VARCHAR(16),
COL125 VARCHAR(16),
COL126 VARCHAR(16),
COL127 VARCHAR(16),
COL128 VARCHAR(16),
COL129 VARCHAR(16),
COL130 VARCHAR(16),
COL131 VARCHAR(16),
COL132 VARCHAR(16),
COL133 VARCHAR(16),
COL134 VARCHAR(16),
COL135 VARCHAR(16),
COL136 VARCHAR(16),
COL137 VARCHAR(16),
COL138 VARCHAR(16),
COL139 VARCHAR(16),
COL140 VARCHAR(16),
COL141 VARCHAR(16),
COL142 VARCHAR(16),
COL143 VARCHAR(16),
COL144 VARCHAR(16),
COL145 VARCHAR(16),
COL146 VARCHAR(16),
COL147 VARCHAR(16),
COL148 VARCHAR(16),
COL149 VARCHAR(16),
COL150 VARCHAR(16),
COL151 VARCHAR(16),
COL152 VARCHAR(16),
COL153 VARCHAR(16),
COL154 VARCHAR(16),
COL155 VARCHAR(16),
COL156 VARCHAR(16),
COL157 VARCHAR(16),
COL158 VARCHAR(16),
COL159 VARCHAR(16),
COL160 VARCHAR(16),
COL161 VARCHAR(16),
COL162 VARCHAR(16),
COL163 VARCHAR(16),
COL164 VARCHAR(16),
COL165 VARCHAR(16),
COL166 VARCHAR(16),
COL167 VARCHAR(16),
COL168 VARCHAR(16),
COL169 VARCHAR(16),
COL170 VARCHAR(16),
COL171 VARCHAR(16),
COL172 VARCHAR(16),
COL173 VARCHAR(16),
COL174 VARCHAR(16),
COL175 VARCHAR(16),
COL176 VARCHAR(16),
COL177 VARCHAR(16),
COL178 VARCHAR(16),
COL179 VARCHAR(16),
COL180 VARCHAR(16),
COL181 VARCHAR(16),
COL182 VARCHAR(16),
COL183 VARCHAR(16),
COL184 VARCHAR(16),
COL185 VARCHAR(16),
COL186 VARCHAR(16),
COL187 VARCHAR(16),
COL188 VARCHAR(16),
COL189 VARCHAR(16),
COL190 VARCHAR(16),
COL191 VARCHAR(16),
COL192 VARCHAR(16),
COL193 VARCHAR(16),
COL194 VARCHAR(16),
COL195 VARCHAR(16),
COL196 VARCHAR(16),
COL197 VARCHAR(16),
COL198 VARCHAR(16),
COL199 VARCHAR(16),
COL200 VARCHAR(16),
COL201 VARCHAR(16),
COL202 VARCHAR(16),
COL203 VARCHAR(16),
COL204 VARCHAR(16),
COL205 VARCHAR(16),
COL206 VARCHAR(16),
COL207 VARCHAR(16),
COL208 VARCHAR(16),
COL209 VARCHAR(16),
COL210 VARCHAR(16),
COL211 VARCHAR(16),
COL212 VARCHAR(16),
COL213 VARCHAR(16),
COL214 VARCHAR(16),
COL215 VARCHAR(16),
COL216 VARCHAR(16),
COL217 VARCHAR(16),
COL218 VARCHAR(16),
COL219 VARCHAR(16),
COL220 VARCHAR(16),
COL221 VARCHAR(16),
COL222 VARCHAR(16),
COL223 VARCHAR(16),
COL224 VARCHAR(16),
COL225 VARCHAR(16),
COL226 VARCHAR(16),
COL227 VARCHAR(16),
COL228 VARCHAR(16),
COL229 VARCHAR(16),
COL230 VARCHAR(16),
COL231 VARCHAR(16),
COL232 VARCHAR(16),
COL233 VARCHAR(16),
COL234 VARCHAR(16),
COL235 VARCHAR(16),
COL236 VARCHAR(16),
COL237 VARCHAR(16),
COL238 VARCHAR(16),
COL239 VARCHAR(16),
COL240 VARCHAR(16),
COL241 VARCHAR(16),
COL242 VARCHAR(16),
COL243 VARCHAR(16),
COL244 VARCHAR(16),
COL245 VARCHAR(16),
COL246 VARCHAR(16),
COL247 VARCHAR(16),
COL248 VARCHAR(16),
COL249 VARCHAR(16),
COL250 VARCHAR(16),
COL251 VARCHAR(16),
COL252 VARCHAR(16),
COL253 VARCHAR(16),
COL254 VARCHAR(16),
COL255 VARCHAR(16),
COL256 VARCHAR(16)
);
2 changes: 2 additions & 0 deletions tests/too_many_columns/data/too_many_columns.t.0.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
COL001,COL002,COL003,COL004,COL005,COL006,COL007,COL008,COL009,COL010,COL011,COL012,COL013,COL014,COL015,COL016,COL017,COL018,COL019,COL020,COL021,COL022,COL023,COL024,COL025,COL026,COL027,COL028,COL029,COL030,COL031,COL032,COL033,COL034,COL035,COL036,COL037,COL038,COL039,COL040,COL041,COL042,COL043,COL044,COL045,COL046,COL047,COL048,COL049,COL050,COL051,COL052,COL053,COL054,COL055,COL056,COL057,COL058,COL059,COL060,COL061,COL062,COL063,COL064,COL065,COL066,COL067,COL068,COL069,COL070,COL071,COL072,COL073,COL074,COL075,COL076,COL077,COL078,COL079,COL080,COL081,COL082,COL083,COL084,COL085,COL086,COL087,COL088,COL089,COL090,COL091,COL092,COL093,COL094,COL095,COL096,COL097,COL098,COL099,COL100,COL101,COL102,COL103,COL104,COL105,COL106,COL107,COL108,COL109,COL110,COL111,COL112,COL113,COL114,COL115,COL116,COL117,COL118,COL119,COL120,COL121,COL122,COL123,COL124,COL125,COL126,COL127,COL128,COL129,COL130,COL131,COL132,COL133,COL134,COL135,COL136,COL137,COL138,COL139,COL140,COL141,COL142,COL143,COL144,COL145,COL146,COL147,COL148,COL149,COL150,COL151,COL152,COL153,COL154,COL155,COL156,COL157,COL158,COL159,COL160,COL161,COL162,COL163,COL164,COL165,COL166,COL167,COL168,COL169,COL170,COL171,COL172,COL173,COL174,COL175,COL176,COL177,COL178,COL179,COL180,COL181,COL182,COL183,COL184,COL185,COL186,COL187,COL188,COL189,COL190,COL191,COL192,COL193,COL194,COL195,COL196,COL197,COL198,COL199,COL200,COL201,COL202,COL203,COL204,COL205,COL206,COL207,COL208,COL209,COL210,COL211,COL212,COL213,COL214,COL215,COL216,COL217,COL218,COL219,COL220,COL221,COL222,COL223,COL224,COL225,COL226,COL227,COL228,COL229,COL230,COL231,COL232,COL233,COL234,COL235,COL236,COL237,COL238,COL239,COL240,COL241,COL242,COL243,COL244,COL245,COL246,COL247,COL248,COL249,COL250,COL251,COL252,COL253,COL254,COL255,COL256
1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256
30 changes: 30 additions & 0 deletions tests/too_many_columns/run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/sh
#
# Copyright 2020 PingCAP, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# See the License for the specific language governing permissions and
# limitations under the License.

set -eux

for backend in tidb importer local; do
if [ "$backend" = 'local' ]; then
check_cluster_version 4 0 0 'local backend' || continue
fi

run_sql 'DROP DATABASE IF EXISTS too_many_columns;'
run_lightning --backend $backend

run_sql "SELECT * FROM too_many_columns.t"
check_contains 'COL001: 1001'
check_contains 'COL256: 1256'
check_contains 'COL100: 1100'
done

0 comments on commit 5b212bf

Please sign in to comment.