@spinajs/orm-sql
Advanced tools
Comparing version 1.0.28 to 1.0.29
@@ -143,3 +143,3 @@ "use strict"; | ||
let bindings = []; | ||
let stmt = 'GROUP BY '; | ||
let stmt = ' GROUP BY '; | ||
const builds = builder.GroupStatements.map(x => x.build()); | ||
@@ -150,3 +150,3 @@ stmt += builds.map(x => x.Statements).join(","); | ||
bindings, | ||
expression: stmt, | ||
expression: builds.length != 0 ? stmt : '', | ||
}; | ||
@@ -153,0 +153,0 @@ } |
@@ -37,2 +37,4 @@ "use strict"; | ||
this.Container.register(statements_1.SqlGroupByStatement).as(orm_1.GroupByStatement); | ||
this.Container.register(statements_1.SqlDateTimeWrapper).as(orm_1.DateTimeWrapper); | ||
this.Container.register(statements_1.SqlDateWrapper).as(orm_1.DateWrapper); | ||
this.Container.register(compilers_1.SqlWithRecursiveCompiler).as(orm_2.RecursiveQueryCompiler); | ||
@@ -39,0 +41,0 @@ this.Container.register(compilers_1.SqlSelectQueryCompiler).as(orm_2.SelectQueryCompiler); |
@@ -1,2 +0,2 @@ | ||
import { BetweenStatement, JoinStatement, ColumnStatement, ColumnRawStatement, InStatement, IQueryStatementResult, RawQueryStatement, WhereStatement, ExistsQueryStatement, ColumnMethodStatement, WhereQueryStatement, WithRecursiveStatement, GroupByStatement } from '@spinajs/orm'; | ||
import { BetweenStatement, JoinStatement, ColumnStatement, ColumnRawStatement, InStatement, IQueryStatementResult, RawQueryStatement, WhereStatement, ExistsQueryStatement, ColumnMethodStatement, WhereQueryStatement, WithRecursiveStatement, GroupByStatement, DateWrapper, DateTimeWrapper } from '@spinajs/orm'; | ||
export declare class SqlRawStatement extends RawQueryStatement { | ||
@@ -29,2 +29,8 @@ build(): IQueryStatementResult; | ||
} | ||
export declare abstract class SqlDateWrapper extends DateWrapper { | ||
wrap(): string; | ||
} | ||
export declare abstract class SqlDateTimeWrapper extends DateTimeWrapper { | ||
wrap(): string; | ||
} | ||
export declare class SqlColumnRawStatement extends ColumnRawStatement { | ||
@@ -31,0 +37,0 @@ build(): IQueryStatementResult; |
@@ -9,3 +9,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.SqlExistsQueryStatement = exports.SqlWhereQueryStatement = exports.SqlColumnRawStatement = exports.SqlColumnMethodStatement = exports.SqlColumnStatement = exports.SqlInStatement = exports.SqlJoinStatement = exports.SqlWhereStatement = exports.SqlGroupByStatement = exports.SqlBetweenStatement = exports.SqlWithRecursiveStatement = exports.SqlRawStatement = void 0; | ||
exports.SqlExistsQueryStatement = exports.SqlWhereQueryStatement = exports.SqlColumnRawStatement = exports.SqlDateTimeWrapper = exports.SqlDateWrapper = exports.SqlColumnMethodStatement = exports.SqlColumnStatement = exports.SqlInStatement = exports.SqlJoinStatement = exports.SqlWhereStatement = exports.SqlGroupByStatement = exports.SqlBetweenStatement = exports.SqlWithRecursiveStatement = exports.SqlRawStatement = void 0; | ||
const compilers_1 = require("./compilers"); | ||
@@ -92,5 +92,14 @@ const di_1 = require("@spinajs/di"); | ||
let column = this._column; | ||
if (this._tableAlias) { | ||
column = `\`${this._tableAlias}\`.${this._column}`; | ||
if (column instanceof orm_1.Wrap) { | ||
const wrapper = this._container.resolve(column.Wrapper, [ | ||
column.Column, | ||
this._tableAlias | ||
]); | ||
column = wrapper.wrap(); | ||
} | ||
else { | ||
if (this._tableAlias) { | ||
column = `\`${this._tableAlias}\`.${this._column}`; | ||
} | ||
} | ||
return { | ||
@@ -194,2 +203,20 @@ Bindings: isNullableQuery ? [] : [this._value], | ||
exports.SqlColumnMethodStatement = SqlColumnMethodStatement; | ||
class SqlDateWrapper extends orm_1.DateWrapper { | ||
wrap() { | ||
if (this._tableAlias) { | ||
return `DATE(\`${this._tableAlias}\`.\`${this._value}\`)`; | ||
} | ||
return `DATE(\`${this._value}\`)`; | ||
} | ||
} | ||
exports.SqlDateWrapper = SqlDateWrapper; | ||
class SqlDateTimeWrapper extends orm_1.DateTimeWrapper { | ||
wrap() { | ||
if (this._tableAlias) { | ||
return `DATETIME(\`${this._tableAlias}\`.\`${this._value}\`)`; | ||
} | ||
return `DATETIME(\`${this._value}\`)`; | ||
} | ||
} | ||
exports.SqlDateTimeWrapper = SqlDateTimeWrapper; | ||
let SqlColumnRawStatement = class SqlColumnRawStatement extends orm_1.ColumnRawStatement { | ||
@@ -196,0 +223,0 @@ build() { |
{ | ||
"name": "@spinajs/orm-sql", | ||
"version": "1.0.28", | ||
"version": "1.0.29", | ||
"description": "SpinaJS orm basic sql language support. Use it as base for specific db drivers", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
74358
1155