This commit is contained in:
Muhammad Aaqil 2024-04-20 14:37:55 +05:00 committed by GitHub
commit 5c371dec5b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 29 additions and 0 deletions

View File

@ -2143,3 +2143,32 @@ SQLConnector.prototype.setNullableProperty = function(property) {
throw new Error(g.f('{{setNullableProperty}} must be implemented by' +
'the connector'));
};
/**
* Build sql to discover properties with unique index
*/
SQLConnector.prototype.buildQueryUniqueKeys = function(schema, table) {
throw new Error(g.f('{{buildQueryUniqueKeys}} must be implemented by the connector'));
};
/**
* Discover properties with unique index
* @param {String} table The table name
* @param {Object} options The options for discovery
* @param {Function} [cb] The callback function
*/
SQLConnector.prototype.discoverUniqueKeys = function(table, options, cb) {
const self = this;
const args = self.getArgs(table, options, cb);
let schema = args.schema || args.owner;
if (typeof (self.getDefaultSchema) === 'function' && !schema) {
schema = self.getDefaultSchema();
}
table = args.table;
options = args.options;
cb = args.cb;
const sql = self.buildQueryUniqueKeys(schema, table);
this.execute(sql, cb);
};