@@ -67,7 +67,7 @@ function Postgres(a, b) {
6767 , listener
6868
6969 function postgres ( xs ) {
70- return query ( { } , getConnection ( ) , xs , Array . from ( arguments ) . slice ( 1 ) )
70+ return query ( { prepare : options . prepare } , getConnection ( ) , xs , Array . from ( arguments ) . slice ( 1 ) )
7171 }
7272
7373 Object . assign ( postgres , {
@@ -167,7 +167,7 @@ function Postgres(a, b) {
167167
168168 function query ( query , connection , xs , args ) {
169169 query . origin = options . debug ? new Error ( ) . stack : cachedError ( xs )
170- query . dynamic = query . dynamic || options . no_prepare
170+ query . prepare = 'prepare' in query ? query . prepare : options . prepare
171171 if ( ! query . raw && ( ! Array . isArray ( xs ) || ! Array . isArray ( xs . raw ) ) )
172172 return nested ( xs , args )
173173
@@ -241,7 +241,7 @@ function Postgres(a, b) {
241241 function fetchArrayTypes ( connection ) {
242242 return arrayTypesPromise || ( arrayTypesPromise =
243243 new Promise ( ( resolve , reject ) => {
244- send ( connection , { resolve, reject, raw : true , dynamic : true } , `
244+ send ( connection , { resolve, reject, raw : true , prepare : false } , `
245245 select b.oid, b.typarray
246246 from pg_catalog.pg_type a
247247 left join pg_catalog.pg_type b on b.oid = a.typelem
@@ -284,8 +284,9 @@ function Postgres(a, b) {
284284 return sql `select pg_notify(${ channel } , ${ '' + payload } )`
285285 }
286286
287- function unsafe ( xs , args ) {
288- return query ( { raw : true , simple : ! args , dynamic : true } , connection || getConnection ( ) , xs , args || [ ] )
287+ function unsafe ( xs , args , queryOptions ) {
288+ const prepare = queryOptions && queryOptions . prepare || false ;
289+ return query ( { raw : true , simple : ! args , prepare } , connection || getConnection ( ) , xs , args || [ ] )
289290 }
290291
291292 function file ( path , args , options = { } ) {
@@ -414,7 +415,7 @@ function Postgres(a, b) {
414415 args . forEach ( x => parseValue ( x , xargs , types ) )
415416
416417 return {
417- sig : ! query . dynamic && types + str ,
418+ sig : query . prepare && types + str ,
418419 str,
419420 args : xargs
420421 }
@@ -433,7 +434,7 @@ function Postgres(a, b) {
433434 }
434435
435436 return {
436- sig : ! query . dynamic && ! xargs . dynamic && types + str ,
437+ sig : query . prepare && ! xargs . dynamic && types + str ,
437438 str : str . trim ( ) ,
438439 args : xargs
439440 }
@@ -559,7 +560,7 @@ function parseOptions(a, b) {
559560 ssl : o . ssl || url . query . sslmode || url . query . ssl || false ,
560561 idle_timeout : o . idle_timeout || url . query . idle_timeout || env . PGIDLE_TIMEOUT || warn ( o . timeout ) ,
561562 connect_timeout : o . connect_timeout || url . query . connect_timeout || env . PGCONNECT_TIMEOUT || 30 ,
562- no_prepare : o . no_prepare ,
563+ prepare : 'prepare' in o ? o . prepare : ' no_prepare' in o ? ! o . no_prepare : true ,
563564 onnotice : o . onnotice ,
564565 onparameter : o . onparameter ,
565566 transform : Object . assign ( { } , o . transform ) ,
0 commit comments