private List<String> getPrimaryKeyColumnNamesFromMetaData(DatabaseMetaData metaData,
      String catalogFilter, String schemaFilter, String tableName,
      String ids)
      throws SQLException {
    List<String> keys = new ArrayList<>();

    if (ids != null && !ids.isEmpty()) {
      keys.addAll(Arrays.asList(ids.split(",")));
      for (String key : keys) {
        checkColumnExistsInTable(tableName, metaData, catalogFilter, schemaFilter, key);
      }
    } else {
      try (
          ResultSet primaryKeys =
              metaData.getPrimaryKeys(catalogFilter, schemaFilter, tableName)) {
        while (primaryKeys.next()) {
          String key = primaryKeys.getString("COLUMN_NAME");
          keys.add(key);
        }
        if (keys.isEmpty()) {
          throw new JdbcConnectorException(
              "The table " + tableName + " does not have a primary key column.");
        }
      }
    }
    return keys;
  }
If the region mapping has been given a table name then return it.
Otherwise return the region mapping's region name as the table name.
geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/TableMetaDataManager.java