public function update($table, array $data, array $conditions = [], $types = [])
    {
        return $this->getDisconnectRetry()->run(function () use ($table, $data, $conditions, $types) {
            return $this->newQuery()->update($table)
                ->set($data, $types)
                ->where($conditions, $types)
                ->execute();
        });
    }