private void dealColumnConf()

in adb2client/src/main/java/com/alibaba/cloud/analyticdb/adbclient/AdbClient.java [591:615]


    private void dealColumnConf(String tableName, List<String> tableColumns) {
        List<String> userConfiguredColumns = databaseConfig.getColumns(tableName);
        if (null == userConfiguredColumns || userConfiguredColumns.isEmpty()) {
            throw new AdbClientException(AdbClientException.CONFIG_ERROR, "Config is error. Do not have column list", null);
        } else {
            if (1 == userConfiguredColumns.size() && ALL_COLUMN_CHARACTER.equals(userConfiguredColumns.get(0))) {
                this.isAllColumn.put(tableName, true);
                databaseConfig.setColumns(tableName, tableColumns);
            } else if (userConfiguredColumns.size() > tableColumns.size()) {
                throw new AdbClientException(AdbClientException.CONFIG_ERROR, String.format("Database config is error. The count of writer columns %s is bigger than the count of read table's columns {}.",
                        userConfiguredColumns.size(), tableColumns.size()), null);
            } else {
                makeSureNoValueDuplicate(userConfiguredColumns, false);
                List<String> removeQuotedColumns = new ArrayList<String>();
                for (String each : userConfiguredColumns) {
                    if (each.startsWith(COLUMN_QUOTE_CHARACTER) && each.endsWith(COLUMN_QUOTE_CHARACTER)) {
                        removeQuotedColumns.add(each.substring(1, each.length() - 1));
                    } else {
                        removeQuotedColumns.add(each);
                    }
                }
                makeSureBInA(tableColumns, removeQuotedColumns, false);
            }
        }
    }