isComplexSelectQuery static method

bool isComplexSelectQuery(
  1. String sql
)

Apakah query terlalu kompleks untuk auto-select tabel (JOIN, subquery, dll.).

Implementation

static bool isComplexSelectQuery(String sql) {
  final trimmed = sql.trim();
  if (!isSelectQuery(trimmed)) return true;
  if (_complexQueryPattern.hasMatch(trimmed)) return true;
  final withoutStrings = trimmed.replaceAll(RegExp(r"'[^']*'"), '');
  if (RegExp(r'\(\s*select\b', caseSensitive: false).hasMatch(withoutStrings)) {
    return true;
  }
  final fromMatches = _fromTablePattern.allMatches(withoutStrings).length;
  return fromMatches != 1;
}