docs: private void validateColumnCompatibility(String theName, String otherName,
                  Table theTable, Table otherTable,
                  FailureMessage failureMessage) {
          CatalogMap<Column> theColumns = theTable.getColumns();
          int theColCount = theColumns.size();
          CatalogMap<Column> otherColumns = otherTable.getColumns();
  
          if (theColCount != otherColumns.size()) {
              failureMessage.addReason("the tables have different numbers of columns");
              return;
          }
  
          Column[] theColArray = new Column[theColumns.size()];
          for (Column theColumn : theColumns) {
              theColArray[theColumn.getIndex()] = theColumn;
          }
  
          for (Column otherColumn : otherColumns) {
              int colIndex = otherColumn.getIndex();
              String colName = otherColumn.getTypeName();
              if (colIndex < theColCount) {
                  Column theColumn = theColArray[colIndex];
                  if (theColumn.getTypeName().equals(colName)) {
                      if (theColumn.getType() != otherColumn.getType() ||
                              theColumn.getSize() != otherColumn.getSize() ||
                              theColumn.getInbytes() != otherColumn.getInbytes()) {
                          failureMessage.addReason("columns named " + colName + " have different types or sizes");
                      }
                      continue;
                  }
              }
  
              Column matchedByName = theColumns.get(colName);
              if (matchedByName != null) {
                  failureMessage.addReason(colName + " is in a different ordinal position in the two tables");
              }
              else {
                  failureMessage.addReason(colName + " appears in " + otherName + " but not in " + theName);
              }
          }
  
          if ( ! theTable.getIsreplicated() && ! otherTable.getIsreplicated() ) {
              if (! theTable.getPartitioncolumn().getTypeName().equals(
                      otherTable.getPartitioncolumn().getTypeName())) {
                  failureMessage.addReason("the tables are not partitioned on the same column");
              }
          }
      }