@@ -93,33 +93,42 @@ async function run() {
9393 VCOL8 VECTOR(4, int8),
9494 VCOL VECTOR(4),
9595 VCOLFlexDouble VECTOR(*, *),
96- VCOLFlexFloat VECTOR(*, *))` ) ;
96+ VCOLFlexFloat VECTOR(*, *),
97+ VCOLBinary VECTOR(16, binary))` ) ;
9798
9899 const arr = [ 2345.67 , 12.2 , - 23.4 , - 65.2 ] ;
99100 const float64arr = new Float64Array ( arr ) ;
100101 const float32arr = new Float32Array ( arr ) ;
101102 const int8arr = new Int8Array ( [ 126 , 125 , - 126 , - 23 ] ) ;
103+
104+ // 16 dimensions numbering from left/msb
105+ // 1,1,1,1,0,0,0,0
106+ // 1,1,0,0,1,0,0,0
107+ const uInt8Arr = new Uint8Array ( [ 240 , 200 ] ) ;
108+
102109 // Add both float32 and float64 range elements
103110 const arrFlexDouble = [ 2345.67 , 12.666428727762776 ] ;
104111 // Add only float32 range elements
105112 const arrFlexFloat32 = [ 2345.67 , 12.66 , 43.23 ] ;
106113
107114 console . log ( 'Inserting Vector ' ) ;
108115 result = await connection . execute ( `insert into ${ tableName } values(:id, :vec32, :vec64, :vec8, :vec,
109- :vecFlexDouble, :vecFlexFloat)` ,
116+ :vecFlexDouble, :vecFlexFloat, :vecBinary )` ,
110117 { id : 1 ,
111118 vec32 : float32arr ,
112119 vec64 : float64arr ,
113120 vec8 : int8arr ,
114121 vec : { type : oracledb . DB_TYPE_VECTOR , val : arr } ,
115122 vecFlexDouble : { type : oracledb . DB_TYPE_VECTOR , val : arrFlexDouble } ,
116- vecFlexFloat : { type : oracledb . DB_TYPE_VECTOR , val : arrFlexFloat32 }
123+ vecFlexFloat : { type : oracledb . DB_TYPE_VECTOR , val : arrFlexFloat32 } ,
124+ vecBinary : { type : oracledb . DB_TYPE_VECTOR , val : uInt8Arr }
117125 } ) ;
118126 console . log ( 'Rows inserted: ' + result . rowsAffected ) ;
119127
120128 console . log ( 'Query Results:' ) ;
121129 result = await connection . execute (
122- `select id, VCOL32, VCOL64, VCOL8, VCOL, VCOLFlexDouble, VCOLFlexFloat from ${ tableName } ORDER BY id` ) ;
130+ `select id, VCOL32, VCOL64, VCOL8, VCOL, VCOLFlexDouble, VCOLFlexFloat, VCOLBinary
131+ from ${ tableName } ORDER BY id` ) ;
123132 console . log ( "Query metadata:" , result . metaData ) ;
124133 console . log ( "Query rows:" , result . rows ) ;
125134 const vec32 = result . rows [ 0 ] . VCOL32 ;
@@ -128,13 +137,15 @@ async function run() {
128137 const vec = result . rows [ 0 ] . VCOL ;
129138 const vecFlexDouble = result . rows [ 0 ] . VCOLFLEXDOUBLE ;
130139 const vecFlexFloat = result . rows [ 0 ] . VCOLFLEXFLOAT ;
140+ const vecBinary = result . rows [ 0 ] . VCOLBINARY ;
131141
132142 assert ( vec32 . constructor , Array ) ;
133143 assert ( vec64 . constructor , Array ) ;
134144 assert ( vec . constructor , Array ) ;
135145 assert ( vecFlexDouble . constructor , Array ) ;
136146 assert ( vecFlexFloat . constructor , Array ) ;
137147 assert ( vec8 . constructor , Array ) ;
148+ assert ( vecBinary . constructor , Array ) ;
138149
139150 // Reading vector as string.
140151 console . log ( "Fetch Vector Column as string" ) ;
0 commit comments