code: func (h dbTableHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
  	params := mux.Vars(req)
  	tableID := params[pTableID]
  	physicalID, err := strconv.Atoi(tableID)
  	if err != nil {
  		writeError(w, errors.Errorf("Wrong tableID: %v", tableID))
  		return
  	}
  
  	schema, err := h.schema()
  	if err != nil {
  		writeError(w, err)
  		return
  	}
  
  	dbTblInfo := dbTableInfo{
  		SchemaVersion: schema.SchemaMetaVersion(),
  	}
  	tbl, ok := schema.TableByID(int64(physicalID))
  	if ok {
  		dbTblInfo.TableInfo = tbl.Meta()
  		dbInfo, ok := schema.SchemaByTable(dbTblInfo.TableInfo)
  		if !ok {
  			log.Warnf("can not find the database of table id: %v, table name: %v", dbTblInfo.TableInfo.ID, dbTblInfo.TableInfo.Name)
  			writeData(w, dbTblInfo)
  			return
  		}
  		dbTblInfo.DBInfo = dbInfo
  		writeData(w, dbTblInfo)
  		return
  	}
  	// The physicalID maybe a partition ID of the partition-table.
  	dbTblInfo.TableInfo, dbTblInfo.DBInfo = findTableByPartitionID(schema, int64(physicalID))
  	if dbTblInfo.TableInfo == nil {
  		writeError(w, infoschema.ErrTableNotExists.GenWithStack("Table which ID = %s does not exist.", tableID))
  		return
  	}
  	writeData(w, dbTblInfo)
  }
docs: //ServeHTTP handles request of database information and table information by tableID.