anchor.diff:      || [_, _, Publisher, _, Hero, _, _, _, Chapters, _] <- Rows],
       RowIDs = [R || [R|_] <- Rows],
   
  -    ?ELog("RowIds ~p", [RowIds]),
  +    ?ELog("RowIds ~p", [RowIDs]),
       ?ELog("~s", [binary_to_list(?UPDATE)]),
       BoundUpdStmt = OciSession:prep_sql(?UPDATE),
       ?assertMatch({?PORT_MODULE, statement, _, _, _}, BoundUpdStmt),
  
positive.code:     Ref = make_ref(),
      ?assertEqual(Ref, OciPort:echo(Ref)),
      % Load the ref cache to generate long ref
      _Refs = [make_ref() || _I <- lists:seq(1,1000000)],
      Ref1 = make_ref(),
      ?assertEqual(Ref1, OciPort:echo(Ref1)),
      %Fun = fun() -> ok end, % Not Supported
  
negative.code:     ?assertEqual(<<"binary">>, OciPort:echo(<<"binary">>)),
      ?assertEqual({1,'Atom',1.2,"string"}, OciPort:echo({1,'Atom',1.2,"string"})),
      ?assertEqual([1, atom, 1.2,"string"], OciPort:echo([1,atom,1.2,"string"])).
  
  bad_password(#{ociport := OciPort, conf := #{tns := Tns, user := User, password := Pswd}}) ->
      ?ELog("+---------------------------------------------+"),
  