discontinuedPackage connect_database has been discontinued.

getSafeColumns method

Future<Result<String>> getSafeColumns(
  1. String tableName, {
  2. String? alias,
  3. int maxLobSize = 4000,
})

Generates a safe column list (with CAST for LOBs), ready to be used in SELECTs. Supports alias for use in JOINs (e.g., "c.Nome, CAST(c.Obs...)").

Implementation

Future<Result<String>> getSafeColumns(String tableName,
    {String? alias, int maxLobSize = 4000}) async {
  if (_cache.containsKey(tableName)) {
    final entry = _cache[tableName]!;
    if (entry.isValid) {
      return Success(_buildColumnsString(entry.columns, maxLobSize, alias));
    } else {
      _cache.remove(tableName);
    }
  }

  final columnsResult = await metadata.getColumns(tableName);

  return columnsResult.map((columns) {
    _cache[tableName] = _CacheEntry(columns);
    return _buildColumnsString(columns, maxLobSize, alias);
  });
}