buildUpsertSql method
Build an UPSERT statement for the dialect implied by connectionString.
Returns null when the FFI is missing or the underlying call fails.
On success returns the dialect-specific SQL (with ? placeholders).
Implementation
String? buildUpsertSql({
required String connectionString,
required String table,
required List<String> columns,
required List<String> conflictColumns,
List<String>? updateColumns,
}) {
if (!supportsApi) return null;
final payload = <String, Object?>{
'columns': columns,
'conflict': conflictColumns,
if (updateColumns != null) 'update': updateColumns,
};
final data = _backend.buildUpsertSql(
connectionString,
table,
jsonEncode(payload),
);
if (data == null) return null;
return utf8.decode(data);
}