anchor.diff:  -record(?STATE, { ipaddr                 :: inet:ip_address(),
                     port                   :: integer(),
                     database               :: binary(),
  +                  schema                 :: map(),
                     conn_pid               :: pid(),
                     conn_ref               :: reference(),
                     connection_timeout = 0 :: integer(),
  
positive.code: handle_call(_Request, _From, State) ->
      {reply, ok, State}.
  
  handle_cast(connect, State = #?STATE{ ipaddr = Host,
                                        port = Port,
                                        connection_timeout = TimeOut}) ->
  
negative.code:             State = #?STATE{ conn_pid = Conn, database = DB }) ->
      Reply = eovsdb_protocol:get_schema(Conn, DB),
      {reply, Reply, State};
  handle_call({get_table_schema, Table, Col}, _From,
              State = #?STATE{ schema = Schema }) ->
      Reply = table_schema(Table, Col, Schema),
      {reply, Reply, State};
  handle_call({get_schema, DB}, _From,
              State = #?STATE{ conn_pid = Conn }) ->
      Reply = eovsdb_protocol:get_schema(Conn, DB),
      {reply, Reply, State};
  handle_call(get_regist_schema, _From,
              State = #?STATE{ schema = Schema }) ->
      {reply, Schema, State};
  handle_call({get_columns, Table}, _From,
              State = #?STATE{ conn_pid = Conn, database = DB }) ->
      Reply = eovsdb_protocol:get_columns(Conn, DB, Table),
  