feat: query to fetch unique columns

Signed-off-by: Muhammad Aaqil <aaqilcs102@gmail.com>
This commit is contained in:
Muhammad Aaqil 2024-04-14 15:57:11 +05:00
parent 012c2def3a
commit 514630bdcd
1 changed files with 29 additions and 0 deletions

View File

@ -2105,3 +2105,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);
};