Skip to content

Commit 2b96c2a

Browse files
authored
remove unused TBContext.db_module field (#2574)
1 parent a05deb3 commit 2b96c2a

File tree

5 files changed

+14
-41
lines changed

5 files changed

+14
-41
lines changed

tensorboard/backend/application.py

Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -121,28 +121,27 @@ def standard_tensorboard_wsgi(flags, plugin_loaders, assets_zip_provider):
121121
loading_multiplexer = multiplexer
122122
reload_interval = flags.reload_interval
123123
db_uri = flags.db
124+
db_connection_provider = None
124125
# For DB import mode, create a DB file if we weren't given one.
125126
if flags.db_import and not flags.db:
126127
tmpdir = tempfile.mkdtemp(prefix='tbimport')
127128
atexit.register(shutil.rmtree, tmpdir)
128129
db_uri = 'sqlite:%s/tmp.sqlite' % tmpdir
129-
db_module, db_connection_provider = get_database_info(db_uri)
130130
if flags.db_import:
131131
# DB import mode.
132-
if db_module != sqlite3:
133-
raise base_plugin.FlagsError('--db_import is only compatible with sqlite DBs')
134132
logger.info('Importing logdir into DB at %s', db_uri)
133+
db_connection_provider = create_sqlite_connection_provider(db_uri)
135134
loading_multiplexer = db_import_multiplexer.DbImportMultiplexer(
136135
db_connection_provider=db_connection_provider,
137136
purge_orphaned_data=flags.purge_orphaned_data,
138137
max_reload_threads=flags.max_reload_threads)
139138
elif flags.db:
140139
# DB read-only mode, never load event logs.
141140
reload_interval = -1
141+
db_connection_provider = create_sqlite_connection_provider(db_uri)
142142
plugin_name_to_instance = {}
143143
context = base_plugin.TBContext(
144144
data_provider=data_provider,
145-
db_module=db_module,
146145
db_connection_provider=db_connection_provider,
147146
db_uri=db_uri,
148147
flags=flags,
@@ -492,28 +491,6 @@ def _reload():
492491
raise ValueError('unrecognized reload_task: %s' % reload_task)
493492

494493

495-
def get_database_info(db_uri):
496-
"""Returns TBContext fields relating to SQL database.
497-
498-
Args:
499-
db_uri: A string URI expressing the DB file, e.g. "sqlite:~/tb.db".
500-
501-
Returns:
502-
A tuple with the db_module and db_connection_provider TBContext fields. If
503-
db_uri was empty, then (None, None) is returned.
504-
505-
Raises:
506-
ValueError: If db_uri scheme is not supported.
507-
"""
508-
if not db_uri:
509-
return None, None
510-
scheme = urlparse.urlparse(db_uri).scheme
511-
if scheme == 'sqlite':
512-
return sqlite3, create_sqlite_connection_provider(db_uri)
513-
else:
514-
raise ValueError('Only sqlite DB URIs are supported now: ' + db_uri)
515-
516-
517494
def create_sqlite_connection_provider(db_uri):
518495
"""Returns function that returns SQLite Connection objects.
519496
@@ -529,7 +506,7 @@ def create_sqlite_connection_provider(db_uri):
529506
"""
530507
uri = urlparse.urlparse(db_uri)
531508
if uri.scheme != 'sqlite':
532-
raise ValueError('Scheme is not sqlite: ' + db_uri)
509+
raise ValueError('Only sqlite DB URIs are supported: ' + db_uri)
533510
if uri.netloc:
534511
raise ValueError('Can not connect to SQLite over network: ' + db_uri)
535512
if uri.path == ':memory:':

tensorboard/backend/application_test.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -692,22 +692,24 @@ class DbTest(tb_test.TestCase):
692692

693693
def testSqliteDb(self):
694694
db_uri = 'sqlite:' + os.path.join(self.get_temp_dir(), 'db')
695-
db_module, db_connection_provider = application.get_database_info(db_uri)
696-
self.assertTrue(hasattr(db_module, 'Date'))
695+
db_connection_provider = application.create_sqlite_connection_provider(
696+
db_uri)
697697
with contextlib.closing(db_connection_provider()) as conn:
698698
with conn:
699699
with contextlib.closing(conn.cursor()) as c:
700700
c.execute('create table peeps (name text)')
701701
c.execute('insert into peeps (name) values (?)', ('justine',))
702-
_, db_connection_provider = application.get_database_info(db_uri)
702+
db_connection_provider = application.create_sqlite_connection_provider(
703+
db_uri)
703704
with contextlib.closing(db_connection_provider()) as conn:
704705
with contextlib.closing(conn.cursor()) as c:
705706
c.execute('select name from peeps')
706707
self.assertEqual(('justine',), c.fetchone())
707708

708709
def testTransactionRollback(self):
709710
db_uri = 'sqlite:' + os.path.join(self.get_temp_dir(), 'db')
710-
_, db_connection_provider = application.get_database_info(db_uri)
711+
db_connection_provider = application.create_sqlite_connection_provider(
712+
db_uri)
711713
with contextlib.closing(db_connection_provider()) as conn:
712714
with conn:
713715
with contextlib.closing(conn.cursor()) as c:
@@ -727,7 +729,8 @@ def testTransactionRollback_doesntDoAnythingIfIsolationLevelIsNone(self):
727729
# NOTE: This is a terrible idea. Don't do this.
728730
db_uri = ('sqlite:' + os.path.join(self.get_temp_dir(), 'db') +
729731
'?isolation_level=null')
730-
_, db_connection_provider = application.get_database_info(db_uri)
732+
db_connection_provider = application.create_sqlite_connection_provider(
733+
db_uri)
731734
with contextlib.closing(db_connection_provider()) as conn:
732735
with conn:
733736
with contextlib.closing(conn.cursor()) as c:

tensorboard/plugins/base_plugin.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,6 @@ def __init__(
153153
assets_zip_provider=None,
154154
data_provider=None,
155155
db_connection_provider=None,
156-
db_module=None,
157156
db_uri=None,
158157
flags=None,
159158
logdir=None,
@@ -181,9 +180,6 @@ def __init__(
181180
function is cheap. The returned connection must only be used by a
182181
single thread. Things like connection pooling are considered
183182
implementation details of the provider.
184-
db_module: A PEP-249 DB Module, e.g. sqlite3. This is useful for accessing
185-
things like date time constructors. This value will be None if we are
186-
not in SQL mode and multiplexer should be used instead.
187183
db_uri: The string db URI TensorBoard was started with. If this is set,
188184
the logdir should be None.
189185
flags: An object of the runtime flags provided to TensorBoard to their
@@ -203,7 +199,6 @@ def __init__(
203199
self.assets_zip_provider = assets_zip_provider
204200
self.data_provider = data_provider
205201
self.db_connection_provider = db_connection_provider
206-
self.db_module = db_module
207202
self.db_uri = db_uri
208203
self.flags = flags
209204
self.logdir = logdir

tensorboard/plugins/core/core_plugin_test.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -311,11 +311,10 @@ def _start_logdir_based_server(self, temp_dir):
311311
self.logdir_based_server = werkzeug_test.Client(app, wrappers.BaseResponse)
312312

313313
def _start_db_based_server(self):
314-
db_module, db_connection_provider = application.get_database_info(
314+
db_connection_provider = application.create_sqlite_connection_provider(
315315
self.db_uri)
316316
context = base_plugin.TBContext(
317317
assets_zip_provider=get_test_assets_zip_provider(),
318-
db_module=db_module,
319318
db_connection_provider=db_connection_provider,
320319
db_uri=self.db_uri,
321320
window_title='title foo')

tensorboard/plugins/scalar/scalars_plugin_test.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,9 @@ def load_runs(self, run_names):
7979
def set_up_db(self):
8080
self.db_path = os.path.join(self.get_temp_dir(), 'db.db')
8181
self.db_uri = 'sqlite:' + self.db_path
82-
db_module, db_connection_provider = application.get_database_info(
82+
db_connection_provider = application.create_sqlite_connection_provider(
8383
self.db_uri)
8484
context = base_plugin.TBContext(
85-
db_module=db_module,
8685
db_connection_provider=db_connection_provider,
8786
db_uri=self.db_uri)
8887
self.core_plugin = core_plugin.CorePlugin(context)

0 commit comments

Comments
 (0)