@@ -88,9 +88,11 @@ def test_type_map_text
8888
8989 def test_type_map_binary
9090 vec = Pgvector ::Vector . new ( [ 1 , 2 , 3 ] )
91+ binary_vec = Pgvector ::Bit . new ( [ true , false , true ] )
9192 sparse_vec = Pgvector ::SparseVector . new ( [ 1 , 2 , 3 ] )
9293 coder = PG ::BinaryEncoder ::CopyRow . new ( type_map : Pgvector ::PG ::BinaryEncoder . type_map )
9394 assert_match vec . to_binary , coder . encode ( [ vec ] )
95+ assert_match binary_vec . to_binary , coder . encode ( [ binary_vec ] )
9496 assert_match sparse_vec . to_binary , coder . encode ( [ sparse_vec ] )
9597 end
9698
@@ -112,13 +114,15 @@ def test_copy_text
112114
113115 def test_copy_binary
114116 embedding = Pgvector ::Vector . new ( [ 1 , 2 , 3 ] )
117+ binary_embedding = Pgvector ::Bit . new ( [ true , false , true ] )
115118 sparse_embedding = Pgvector ::SparseVector . new ( [ 1 , 2 , 3 ] )
116119 coder = PG ::BinaryEncoder ::CopyRow . new
117- conn . copy_data ( "COPY pg_items (embedding, sparse_embedding) FROM STDIN WITH (FORMAT BINARY)" , coder ) do
118- conn . put_copy_data ( [ embedding . to_binary , sparse_embedding . to_binary ] )
120+ conn . copy_data ( "COPY pg_items (embedding, binary_embedding, sparse_embedding) FROM STDIN WITH (FORMAT BINARY)" , coder ) do
121+ conn . put_copy_data ( [ embedding . to_binary , binary_embedding . to_binary , sparse_embedding . to_binary ] )
119122 end
120123 res = conn . exec ( "SELECT * FROM pg_items" ) . first
121124 assert_equal [ 1 , 2 , 3 ] , res [ "embedding" ]
125+ assert_equal "101" , res [ "binary_embedding" ]
122126 assert_equal [ 1 , 2 , 3 ] , res [ "sparse_embedding" ] . to_a
123127 end
124128
0 commit comments