{"record":{"id":"74512ea64f2b6da0","repo":"vitessio/vitess","slug":"no-datatype-columntype-found-in-information-schema","errorCode":null,"errorMessage":"no dataType/columnType found in information_schema.columns for table %s, column %s","messagePattern":"no dataType/columnType found in information_schema\\.columns for table (.+?), column (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"go/vt/vttablet/tabletmanager/vreplication/vreplicator.go","lineNumber":438,"sourceCode":"\t\t\tcolumnName = row[2].ToString()\n\t\t\tvar currentField *querypb.Field\n\t\t\tfor _, field := range td.Fields {\n\t\t\t\tif field.Name == columnName {\n\t\t\t\t\tcurrentField = field\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif currentField == nil {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tdataType = row[3].ToString()\n\t\t\tcolumnType = row[4].ToString()\n\t\t\tif sqltypes.IsText(currentField.Type) {\n\t\t\t\tcharSet = row[0].ToString()\n\t\t\t\tcollation = row[1].ToString()\n\t\t\t}\n\t\t\tif dataType == \"\" || columnType == \"\" {\n\t\t\t\treturn nil, fmt.Errorf(\"no dataType/columnType found in information_schema.columns for table %s, column %s\", td.Name, columnName)\n\t\t\t}\n\t\t\tfor _, pk := range pks {\n\t\t\t\tif columnName == pk {\n\t\t\t\t\tisPK = true\n\t\t\t\t}\n\t\t\t}\n\t\t\textra := strings.ToLower(row[5].ToString())\n\t\t\tif strings.Contains(extra, \"stored generated\") || strings.Contains(extra, \"virtual generated\") {\n\t\t\t\tisGenerated = true\n\t\t\t}\n\t\t\tcolInfo = append(colInfo, &ColumnInfo{\n\t\t\t\tName:        columnName,\n\t\t\t\tCharSet:     charSet,\n\t\t\t\tCollation:   collation,\n\t\t\t\tDataType:    dataType,\n\t\t\t\tColumnType:  columnType,\n\t\t\t\tIsPK:        isPK,\n\t\t\t\tIsGenerated: isGenerated,","sourceCodeStart":420,"sourceCodeEnd":456,"githubUrl":"https://github.com/vitessio/vitess/blob/01a25a7d176f94613b8d59d799f438380a8760e4/go/vt/vttablet/tabletmanager/vreplication/vreplicator.go#L420-L456","documentation":"When building the column info map for a table during vreplication, vreplicator queries information_schema.columns for each column's DATA_TYPE and COLUMN_TYPE (needed to construct target-side type conversions). If either comes back empty for a column, the schema metadata is unusable and this error is thrown naming the table and column.","triggerScenarios":"buildColInfoMap (called from replicate) reads a row from the information_schema.columns query where dataType or columnType is the empty string for a given column of table td.Name.","commonSituations":"Column dropped/altered on the source between plan creation and the information_schema query; corrupted information_schema views; permissions preventing full metadata reads; non-standard storage engines or generated columns returning empty metadata; case-sensitive table name mismatches.","solutions":["Run the equivalent information_schema.columns query on the source for the named table/column to see what MySQL returns and why it is empty","Verify the column still exists and check for recent DDL; re-sync the schema (e.g. via a fresh copy or schema swap) and restart the workflow","Check source user privileges so information_schema metadata is fully visible to the vreplication user","If using an unusual engine/flavor, confirm DATA_TYPE/COLUMN_TYPE are populated; upgrade Vitess or MySQL as needed"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"-- Preflight: confirm DATA_TYPE/COLUMN_TYPE are populated for all workflow tables\nSELECT table_name, column_name, data_type, column_type\nFROM information_schema.columns\nWHERE table_schema = 'mykeyspace' AND (data_type = '' OR column_type = '');","typeGuard":null,"tryCatchPattern":"if err != nil && strings.Contains(err.Error(), \"no dataType/columnType found in information_schema.columns\") {\n    // parse table/column from the message, inspect source metadata, fix DDL, restart workflow\n}","preventionTips":["Avoid schema changes on source tables mid-copy; coordinate DDL with workflow pauses","Grant the vreplication user full information_schema visibility","Verify column metadata integrity after exotic engine or generated-column usage","Re-sync schemas between source and target before starting or resuming copy workflows"],"tags":["vreplication","information-schema","schema-metadata","column-type"],"backgroundTag":"missing-column-type-metadata","analyzedSha":"01a25a7d176f94613b8d59d799f438380a8760e4","analyzedAt":"2026-09-01T17:28:30.605Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}