blob: 35889580dd7960ead79a9498b85512fc7301cd24 [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
var error = require('../error');
var format = require('util').format;
var ms = require('ms');
var vanadium = require('vanadium');
var verror = vanadium.verror;
module.exports = createOrGetTable;
function createOrGetTable(context, db, keyspace, callback) {
var table = db.table(keyspace);
var ctx = context.withTimeout(ms('5s'));
var permissions = {};
table.create(ctx, permissions, onTableCreate);
function onTableCreate(err) {
if (err && !(err instanceof verror.ExistError)) {
var template = 'syncbase - db.table("%s").create(...) failed';
var message = format(template, keyspace);
error(err, message, callback);
return;
}
callback(null, table);
}
}