File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -20,6 +20,17 @@ await pgvector.registerTypes(client);
2020await client . query ( 'DROP TABLE IF EXISTS items' ) ;
2121await client . query ( `CREATE TABLE items (id bigserial, embedding vector(${ dimensions } ))` ) ;
2222
23+ function copyRow ( stream , line ) {
24+ return new Promise ( ( resolve ) => {
25+ let ok = stream . write ( line ) ;
26+ if ( ! ok ) {
27+ stream . once ( 'drain' , ( ) => resolve ( ) ) ;
28+ } else {
29+ resolve ( ) ;
30+ }
31+ } ) ;
32+ }
33+
2334// load data
2435console . log ( `Loading ${ embeddings . length } rows` ) ;
2536const stream = client . query ( copyFrom ( 'COPY items (embedding) FROM STDIN' ) ) ;
@@ -30,7 +41,7 @@ for (const [i, embedding] of embeddings.entries()) {
3041 }
3142
3243 const line = `${ pgvector . toSql ( embedding ) } \n` ;
33- stream . flushChunk ( line ) ;
44+ await copyRow ( stream , line ) ;
3445}
3546
3647stream . on ( 'finish' , async function ( ) {
You can’t perform that action at this time.
0 commit comments