From 96ed54018428f7a1a7266edc3bf118b8cc0aff9f Mon Sep 17 00:00:00 2001
From: Kirill Smelkov <kirr@nexedi.com>
Date: Tue, 18 Dec 2018 19:33:56 +0300
Subject: [PATCH] .

---
 go/neo/client.go           | 3 +++
 go/zodb/storage/zeo/zeo.go | 3 +++
 go/zodb/zodb.go            | 8 +++++---
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/go/neo/client.go b/go/neo/client.go
index 16a6d4a3..0d0a95dc 100644
--- a/go/neo/client.go
+++ b/go/neo/client.go
@@ -508,6 +508,9 @@ func openClientByURL(ctx context.Context, u *url.URL, opt *zodb.DriverOptions) (
 	}
 
 	// XXX handle opt.WatchQ
+	if opt.WatchQ != nil {
+		panic("TODO watchq")
+	}
 
 	// XXX check/use other url fields
 	net := xnet.NetPlain("tcp")	// TODO + TLS; not only "tcp" ?
diff --git a/go/zodb/storage/zeo/zeo.go b/go/zodb/storage/zeo/zeo.go
index 1073ed02..2c2d9578 100644
--- a/go/zodb/storage/zeo/zeo.go
+++ b/go/zodb/storage/zeo/zeo.go
@@ -311,6 +311,9 @@ func openByURL(ctx context.Context, u *url.URL, opt *zodb.DriverOptions) (_ zodb
 	}
 
 	// XXX handle opt.WatchQ
+	if opt.WatchQ != nil {
+		panic("TODO watchq")
+	}
 
 	zl, err := dialZLink(ctx, net, addr)	// XXX + methodTable
 	if err != nil {
diff --git a/go/zodb/zodb.go b/go/zodb/zodb.go
index 42728a1a..179e89ea 100644
--- a/go/zodb/zodb.go
+++ b/go/zodb/zodb.go
@@ -352,8 +352,6 @@ type Prefetcher interface {
 }
 
 // IStorageDriver is the raw interface provided by ZODB storage drivers.
-//
-// A storage driver is created by DriverOpener
 type IStorageDriver interface {
 	// URL returns URL of how the storage was opened
 	URL() string
@@ -368,7 +366,11 @@ type IStorageDriver interface {
 
 	Loader
 	Iterator
-/*
+
+	// A storage driver also delivers database change events to watchq
+	// channel, which is passed to it when the driver is created.
+
+/* XXX kill
 	Watcher
 
 	// Notifier returns storage driver notifier.
-- 
2.30.9