// load a set of columns of a table func LoadTable(ovs *libovsdb.OvsdbClient, database string, table string, columns []string) *Database { db := Database{database, make(map[string]Table)} schema, _ := ovs.Schema[database] requests := make(map[string]libovsdb.MonitorRequest) tableSchema := schema.Tables[table] if len(columns) == 0 { for column := range tableSchema.Columns { columns = append(columns, column) } } requests[table] = libovsdb.MonitorRequest{ Columns: columns, Select: libovsdb.MonitorSelect{ Initial: true, Insert: true, Delete: true, Modify: true}} initial, _ := ovs.Monitor(database, "", requests) populateDatabase(initial, &db) return &db }