@@ -15,9 +15,9 @@ function getAuroraDataValue (value) {
1515 return value . longValue ;
1616 } else if ( 'stringValue' in value ) {
1717 return value . stringValue ;
18- } else if ( 'booleanValue' in value ) {
18+ } else /* istanbul ignore else */ if ( 'booleanValue' in value ) {
1919 return value . booleanValue ;
20- } else /* istanbul ignore next */ {
20+ } else {
2121 const type = Object . keys ( value ) [ 0 ] ;
2222 throw new Error ( `Unknown value type '${ type } ' from row` ) ;
2323 }
@@ -41,16 +41,6 @@ function hydrateRecord (record, fields) {
4141 value = new Date ( value + 'Z' ) ;
4242 break ;
4343
44- case 'CHAR' :
45- if ( field . precision === 5 ) {
46- // ENUM ?
47- break ;
48- } else if ( field . precision === 13 ) {
49- // SET ?
50- value = new Set ( value . split ( ',' ) ) ;
51- }
52- break ;
53-
5444 default :
5545 break ;
5646 }
@@ -90,22 +80,33 @@ class Client_AuroraDataMySQL extends Client_MySQL { // eslint-disable-line camel
9080 return new RDSDataService ( config ) ;
9181 }
9282
93- acquireRawConnection ( ) {
94- return {
95- client : this . driver ,
96- parameters : {
97- // common parameters for Data API requests
98- database : this . config . connection . database ,
99- resourceArn : this . config . connection . resourceArn ,
100- secretArn : this . config . connection . secretArn
101- }
102- } ;
103- }
83+ initializePool ( ) {
84+ /* istanbul ignore if */
85+ if ( this . pool ) {
86+ this . logger . warn ( 'The pool has already been initialized' ) ;
87+ return ;
88+ }
10489
105- destroyRawConnection ( connection ) { }
90+ this . knexUid = 0 ;
10691
107- validateConnection ( connection ) {
108- return true ;
92+ // common parameters for Data API requests
93+ const parameters = {
94+ database : this . config . connection . database ,
95+ resourceArn : this . config . connection . resourceArn ,
96+ secretArn : this . config . connection . secretArn
97+ } ;
98+
99+ this . pool = {
100+ acquire : ( ) => ( {
101+ promise : Promise . resolve ( {
102+ client : this . driver ,
103+ parameters,
104+ __knexUid : this . knexUid ++
105+ } )
106+ } ) ,
107+ release : ( ) => true ,
108+ destroy : ( ) => true
109+ } ;
109110 }
110111
111112 prepBindings ( bindings ) {
0 commit comments