Skip to content

Commit b358d5b

Browse files
author
Serpan911
authored
Merge pull request #49 from 2do2go/feature/add-subquery-alias
Add alias to subquery
2 parents df5c653 + 755924c commit b358d5b

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

lib/dialects/base/blocks.js

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -368,11 +368,25 @@ module.exports = function(dialect) {
368368
});
369369

370370
dialect.blocks.add('query', function(params) {
371-
return dialect.buildTemplate('subQuery', {queryBody: params.query});
371+
var templateParams = {
372+
queryBody: params.query
373+
};
374+
if (params.query && params.query.type === 'union') {
375+
templateParams.alias = params.query.alias;
376+
}
377+
378+
return dialect.buildTemplate('subQuery', templateParams);
372379
});
373380

374381
dialect.blocks.add('select', function(params) {
375-
return dialect.buildTemplate('subQuery', {queryBody: params.select});
382+
var templateParams = {
383+
queryBody: params.select
384+
};
385+
if (params.select && params.select.type === 'union') {
386+
templateParams.alias = params.select.alias;
387+
}
388+
389+
return dialect.buildTemplate('subQuery', templateParams);
376390
});
377391

378392
dialect.blocks.add('queries', function(params) {

lib/dialects/base/templates.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,12 @@ module.exports = function(dialect) {
1919

2020

2121
dialect.templates.add('subQuery', {
22-
pattern: '({queryBody})',
22+
pattern: '({queryBody}) {alias}',
2323
validate: function(type, params) {
2424
templateChecks.requiredProp(type, params, 'queryBody');
2525
templateChecks.propType(type, params, 'queryBody', 'object');
26+
27+
templateChecks.propType(type, params, 'alias', ['string', 'object']);
2628
}
2729
});
2830

0 commit comments

Comments
 (0)