docs: function initTable(error) {
      if (error) {
        console.log(error);
        callback(error);
      }
  
      var try_table_init_n_times = function( rounds_left ) {
        database.get("SELECT name FROM sqlite_master WHERE type='table' AND name='"+table_name+"'", function( err, row ) {
          if ( row ) {
            finalizeInitialization();
          }
          else {
            var table = [
              [ "id", "INTEGER PRIMARY KEY" ],
              [ "at", "DATETIME" ],
              [ "task", "BLOB" ],
              [ "disabled", "BOOL" ],
            ];
            var columns_create = table.map( function ( column ) { return column.join( " " ) } ).join( ", ");
            var table_init = "CREATE TABLE IF NOT EXISTS " + table_name + " ( " + columns_create + " )";
  
            log.debug('sqlite-adapter', 'Running query:', table_init);
  
            database.run( table_init, function(error) {
              if ( error ) {
                if ( rounds_left > 1 ) {
                  setTimeout( function() {
                    log.debug('sqlite-adapter', 'Retrying query:', table_init);
                    try_table_init_n_times( rounds_left - 1 );
                  }, 100 + Math.floor( Math.random() * 900 ) );
                }
                else {
                  console.log("Could not initialize sqlite database after 10 tries");
                  callback(error);
                }
              }
              else {
                finalizeInitialization();
              }
            } );
  
          }
        });
      }
  
      try_table_init_n_times( 10 );
    }