protected void setupDbType(Map<String, DfColumnMeta> metaMap, String columnName, Column column) { final DfColumnMeta columnMeta = metaMap.get(columnName); final String dbTypeName; final String plainName = columnMeta.getDbTypeName(); if (Srl.contains(plainName, ".")) { // basically for ARRAY and STRUCT type final String catalogSchema = Srl.substringLastFront(plainName, "."); final UnifiedSchema unifiedSchema = UnifiedSchema.createAsDynamicSchema(catalogSchema); if (unifiedSchema.isMainSchema()) { dbTypeName = Srl.substringLastRear(plainName, "."); } else { dbTypeName = plainName; } } else { dbTypeName = plainName; } column.setDbType(dbTypeName); }
protected String doExtractCatalog() { final String pureUrl = Srl.substringFirstFront(_url, ";", "?", "&"); final String catalog = Srl.substringLastRear(pureUrl, "/", ":"); return !catalog.equals(pureUrl) ? catalog : null; }