From cfb6ee957ac4485b18c567b55d2e02fadb4eaf1e Mon Sep 17 00:00:00 2001 From: Vitaly Tomilov Date: Wed, 27 Dec 2017 18:58:31 +0000 Subject: [PATCH] Reuse connection in getAllClasses as per the title. --- src/Adapters/Storage/Postgres/PostgresStorageAdapter.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Adapters/Storage/Postgres/PostgresStorageAdapter.js b/src/Adapters/Storage/Postgres/PostgresStorageAdapter.js index 231d1a6c18..bfe0d6247c 100644 --- a/src/Adapters/Storage/Postgres/PostgresStorageAdapter.js +++ b/src/Adapters/Storage/Postgres/PostgresStorageAdapter.js @@ -856,8 +856,11 @@ export class PostgresStorageAdapter { // schemas cannot be retrieved, returns a promise that rejects. Requirements for the // rejection reason are TBD. getAllClasses() { - return this._ensureSchemaCollectionExists() - .then(() => this._client.map('SELECT * FROM "_SCHEMA"', null, row => toParseSchema({ className: row.className, ...row.schema }))); + const self = this; + return this._client.task('get-all-classes', function * (t) { + yield self._ensureSchemaCollectionExists(t); + return yield t.map('SELECT * FROM "_SCHEMA"', null, row => toParseSchema({ className: row.className, ...row.schema })); + }); } // Return a promise for the schema with the given name, in Parse format. If