Skip to content

Commit 26346fb

Browse files
committed
added 'prefix' option to Table.prototype.star()
1 parent 47ddb42 commit 26346fb

2 files changed

Lines changed: 25 additions & 1 deletion

File tree

lib/table.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,14 @@ Table.prototype.getName = function() {
121121
return this._name;
122122
};
123123

124-
Table.prototype.star = function() {
124+
Table.prototype.star = function(options) {
125+
options = options || {};
126+
if (options.prefix) {
127+
return this.columns.map(function(column) {
128+
return this[column.name].as(options.prefix + column.name);
129+
}.bind(this));
130+
}
131+
125132
return new Column({table: this, star: true});
126133
};
127134

test/dialects/table-tests.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,23 @@ Harness.test({
5454
params: []
5555
});
5656

57+
Harness.test({
58+
query: user.select(user.star({ prefix: 'foo_' })).from(user),
59+
pg: {
60+
text: 'SELECT "user"."id" AS "foo_id", "user"."name" AS "foo_name" FROM "user"',
61+
string: 'SELECT "user"."id" AS "foo_id", "user"."name" AS "foo_name" FROM "user"'
62+
},
63+
sqlite: {
64+
text: 'SELECT "user"."id" AS "foo_id", "user"."name" AS "foo_name" FROM "user"',
65+
string: 'SELECT "user"."id" AS "foo_id", "user"."name" AS "foo_name" FROM "user"'
66+
},
67+
mysql: {
68+
text: 'SELECT `user`.`id` AS `foo_id`, `user`.`name` AS `foo_name` FROM `user`',
69+
string: 'SELECT `user`.`id` AS `foo_id`, `user`.`name` AS `foo_name` FROM `user`'
70+
},
71+
params: []
72+
});
73+
5774
Harness.test({
5875
query: user.select(user.id).from(user).where(user.name.equals('foo')),
5976
pg: {

0 commit comments

Comments
 (0)