constructRefreshSQL method
Implementation
String constructRefreshSQL(TCustomSQLQuery query, TUpdateKind updateKind) {
var result = query.refreshSQL.text.trim();
if (result == '') {
var where = '';
final pf = _refreshFlags(updateKind);
for (var i = 0; i < query.fields.count; i++) {
final f = query.fields[i];
if (f.providerFlags.contains(pf)) {
if (result != '') {
result = '$result, ';
}
if (f.origin != '' && f.origin != f.fieldName) {
result = '$result${f.origin} AS ${f.fieldName}';
} else {
result =
'$result${fieldNameQuoteChars[0]}${f.fieldName}${fieldNameQuoteChars[1]}';
}
}
if (f.providerFlags.contains(TProviderFlag.pfInKey)) {
if (where != '') {
where = '$where AND ';
}
where =
'$where(${fieldNameQuoteChars[0]}${f.fieldName}${fieldNameQuoteChars[1]} = :${f.fieldName})';
}
}
if (where == '') {
databaseError(SErrNoKeyFieldForRefreshClause, query);
}
result = 'SELECT $result FROM ${query._tableName} WHERE $where';
}
return result;
}