@cubejs-backend/schema-compiler
Advanced tools
Comparing version 0.10.9 to 0.10.14
@@ -89,2 +89,10 @@ /* eslint-disable no-unused-vars,prefer-template */ | ||
get asSyntaxTable() { | ||
return 'AS'; | ||
} | ||
get asSyntaxJoin() { | ||
return 'AS'; | ||
} | ||
defaultOrder() { | ||
@@ -438,3 +446,3 @@ if (this.options.preAggregationQuery) { | ||
return `SELECT ${forSelect} FROM ${dateSeriesSql}` + | ||
` LEFT JOIN (${baseQuery}) AS ${baseQueryAlias} ON ${dateJoinConditionSql}` + | ||
` LEFT JOIN (${baseQuery}) ${this.asSyntaxJoin} ${baseQueryAlias} ON ${dateJoinConditionSql}` + | ||
this.groupByClause(); | ||
@@ -448,3 +456,3 @@ } | ||
dateSeriesSql(timeDimension) { | ||
return `(${this.seriesSql(timeDimension)}) AS ${timeDimension.dateSeriesAliasName()}`; | ||
return `(${this.seriesSql(timeDimension)}) ${this.asSyntaxTable} ${timeDimension.dateSeriesAliasName()}`; | ||
} | ||
@@ -456,3 +464,3 @@ | ||
); | ||
return `SELECT date_from::timestamptz, date_to::timestamptz FROM (VALUES ${values}) AS dates (date_from, date_to)`; | ||
return `SELECT date_from::timestamptz, date_to::timestamptz FROM (VALUES ${values}) ${this.asSyntaxTable} dates (date_from, date_to)`; | ||
} | ||
@@ -512,7 +520,7 @@ | ||
const joins = join.joins.map(j => | ||
`LEFT JOIN ${this.cubeSql(j.originalTo)} AS ${this.cubeAlias(j.originalTo)} | ||
`LEFT JOIN ${this.cubeSql(j.originalTo)} ${this.asSyntaxJoin} ${this.cubeAlias(j.originalTo)} | ||
ON ${this.evaluateSql(j.originalFrom, j.join.sql)}` | ||
).concat(subQueryDimensions.map(d => this.subQueryJoin(d))); | ||
return `${this.cubeSql(join.root)} AS ${this.cubeAlias(join.root)}\n${joins.join("\n")}`; | ||
return `${this.cubeSql(join.root)} ${this.asSyntaxJoin} ${this.cubeAlias(join.root)}\n${joins.join("\n")}`; | ||
} | ||
@@ -524,3 +532,3 @@ | ||
const subQueryAlias = this.escapeColumnName(this.aliasName(prefix)); | ||
return `LEFT JOIN (${subQuery.buildParamAnnotatedSql()}) AS ${subQueryAlias} | ||
return `LEFT JOIN (${subQuery.buildParamAnnotatedSql()}) ${this.asSyntaxJoin} ${subQueryAlias} | ||
ON ${subQueryAlias}.${primaryKey.aliasName()} = ${this.primaryKeySql(this.cubeEvaluator.primaryKeys[cubeName], cubeName)}`; | ||
@@ -599,4 +607,4 @@ } | ||
shouldBuildJoinForMeasureSelect ? '' : measureSubQueryDimensions.map(d => this.subQueryJoin(d)).join("\n"); | ||
return `SELECT ${columnsForSelect} FROM (${this.keysQuery(primaryKeyDimension, filters)}) AS ${this.escapeColumnName('keys')} ` + | ||
`LEFT OUTER JOIN ${keyCubeSql} AS ${this.cubeAlias(keyCubeName)} ON | ||
return `SELECT ${columnsForSelect} FROM (${this.keysQuery(primaryKeyDimension, filters)}) ${this.asSyntaxTable} ${this.escapeColumnName('keys')} ` + | ||
`LEFT OUTER JOIN ${keyCubeSql} ${this.asSyntaxJoin} ${this.cubeAlias(keyCubeName)} ON | ||
${this.escapeColumnName('keys')}.${primaryKeyDimension.aliasName()} = ${keyInMeasureSelect} ` + | ||
@@ -1243,6 +1251,6 @@ subQueryJoins + | ||
const dimensionSql = this.dimensionSql(foundMainTimeDimension); | ||
return `select max(${dimensionSql}) from ${this.cubeSql(cube)} AS ${this.cubeAlias(cube)}`; | ||
return `select max(${dimensionSql}) from ${this.cubeSql(cube)} ${this.asSyntaxTable} ${this.cubeAlias(cube)}`; | ||
} | ||
} | ||
return `select count(*) from ${this.cubeSql(cube)} AS ${this.cubeAlias(cube)}`; | ||
return `select count(*) from ${this.cubeSql(cube)} ${this.asSyntaxTable} ${this.cubeAlias(cube)}`; | ||
}).map(paramAnnotatedSql => this.paramAllocator.buildSqlAndParams(paramAnnotatedSql)); | ||
@@ -1259,3 +1267,3 @@ return { | ||
cube, | ||
this.paramAllocator.buildSqlAndParams(`select count(*) as ${this.escapeColumnName('total_count')} from ${this.cubeSql(cube)} AS ${this.cubeAlias(cube)}`) | ||
this.paramAllocator.buildSqlAndParams(`select count(*) as ${this.escapeColumnName('total_count')} from ${this.cubeSql(cube)} ${this.asSyntaxTable} ${this.cubeAlias(cube)}`) | ||
]) | ||
@@ -1283,3 +1291,3 @@ ); | ||
const sqlAndParams = this.preAggregationSql(cube, preAggregation); | ||
return [`CREATE TABLE ${tableName} AS ${sqlAndParams[0]}`, sqlAndParams[1]]; | ||
return [`CREATE TABLE ${tableName} ${this.asSyntaxTable} ${sqlAndParams[0]}`, sqlAndParams[1]]; | ||
} | ||
@@ -1286,0 +1294,0 @@ |
@@ -12,2 +12,3 @@ const postgres = require('./PostgresQuery'); | ||
const hive = require('./HiveQuery'); | ||
const oracle = require('./OracleQuery'); | ||
@@ -28,2 +29,3 @@ const ADAPTERS = { | ||
hive, | ||
oracle, | ||
}; | ||
@@ -30,0 +32,0 @@ exports.query = (compilers, dbType, queryOptions) => { |
@@ -6,2 +6,13 @@ # Change Log | ||
## [0.10.14](https://github.com/statsbotco/cubejs-client/compare/v0.10.13...v0.10.14) (2019-07-13) | ||
### Features | ||
* Oracle driver ([#160](https://github.com/statsbotco/cubejs-client/issues/160)) ([854ebff](https://github.com/statsbotco/cubejs-client/commit/854ebff)) | ||
## [0.10.9](https://github.com/statsbotco/cubejs-client/compare/v0.10.8...v0.10.9) (2019-06-30) | ||
@@ -8,0 +19,0 @@ |
@@ -5,3 +5,3 @@ { | ||
"author": "Statsbot, Inc.", | ||
"version": "0.10.9", | ||
"version": "0.10.14", | ||
"engines": { | ||
@@ -44,3 +44,3 @@ "node": ">=8.11.1" | ||
"license": "Apache-2.0", | ||
"gitHead": "ce7a3c9e1e48159135bc3d3b33d62e81310b7a81" | ||
"gitHead": "4cae379833df080f8da3e7506aa04bb35df68aae" | ||
} |
338416
56
9370