anchor.diff:  
   class _ServerDbUser implements QueryExecutorUser {
     final ServerImplementation _server;
  -
  -  @override
  -  int schemaVersion = 0;
  -
  -  _ServerDbUser(this._server); // will be overridden by client requests
  +  final DriftCommunication connection;
  +  @override
  +  final int schemaVersion;
  +
  +  _ServerDbUser(this._server, this.connection, this.schemaVersion);
   
     @override
     Future<void> beforeOpen(
         QueryExecutor executor, OpeningDetails details) async {
       final id = _server._putExecutor(executor, beforeCurrent: true);
       try {
  -      await _server._anyClient!.request(RunBeforeOpen(details, id));
  +      await connection.request(RunBeforeOpen(details, id));
       } finally {
         _server._releaseExecutor(id);
       }
  
positive.code: 
    final Map<int, QueryExecutor> _managedExecutors = {};
    int _currentExecutorId = 0;
  
    final Map<int, CancellationToken> _cancellableOperations = {};
  
  
negative.code:         connected.request(payload);
        }
      } else if (payload is RunTransactionAction) {
        return _transactionControl(comms, payload.control, payload.executorId);
      } else if (payload is RequestCancellation) {
        _cancellableOperations[payload.originalRequestId]?.cancel();
        return null;
      }
    }
  
    Future<bool> _handleEnsureOpen(
        DriftCommunication comms, EnsureOpen open) async {
      final executor = await _loadExecutor(open.executorId);
      _knownSchemaVersion = open.schemaVersion;
  
      return await executor
          .ensureOpen(_ServerDbUser(this, comms, open.schemaVersion));
    }
  
    Future<dynamic> _runQuery(StatementMethod method, String sql,
  