Update sql gen. Add support for raw sql in joins select and regular select sections
This commit is contained in:
Vendored
+8
@@ -640,6 +640,10 @@ export type ServerQueryParam<T extends {
|
||||
group?: keyof T | ServerQueryParamGroupBy<T> | (keyof T | ServerQueryParamGroupBy<T>)[];
|
||||
countSubQueries?: ServerQueryParamsCount[];
|
||||
fullTextSearch?: ServerQueryParamFullTextSearch<T>;
|
||||
/**
|
||||
* Raw SQL to use as select
|
||||
*/
|
||||
select_sql?: string;
|
||||
[key: string]: any;
|
||||
};
|
||||
/**
|
||||
@@ -801,6 +805,10 @@ export type ServerQueryParamsJoin<Table extends string = string, Field extends o
|
||||
count?: boolean;
|
||||
})[];
|
||||
operator?: (typeof ServerQueryOperators)[number];
|
||||
/**
|
||||
* Raw SQL to use as join select
|
||||
*/
|
||||
select_sql?: string;
|
||||
};
|
||||
/**
|
||||
* Defines how a root-table field maps to a join-table field in an `ON` clause.
|
||||
|
||||
Vendored
+8
-2
@@ -141,7 +141,10 @@ export default function sqlGenerator({ tableName, genObject, dbFullName, count }
|
||||
: undefined;
|
||||
let queryString = (() => {
|
||||
let str = "SELECT";
|
||||
if (genObject?.selectFields?.[0]) {
|
||||
if (genObject?.select_sql) {
|
||||
str += ` ${genObject.select_sql}`;
|
||||
}
|
||||
else if (genObject?.selectFields?.[0]) {
|
||||
if (genObject.join) {
|
||||
str += ` ${genObject.selectFields
|
||||
?.map((fld) => typeof fld == "object"
|
||||
@@ -212,7 +215,10 @@ export default function sqlGenerator({ tableName, genObject, dbFullName, count }
|
||||
if (existingJoinTableNames.includes(joinTableName))
|
||||
return null;
|
||||
existingJoinTableNames.push(joinTableName);
|
||||
if (joinObj.selectFields) {
|
||||
if (joinObj.select_sql) {
|
||||
return joinObj.select_sql;
|
||||
}
|
||||
else if (joinObj.selectFields) {
|
||||
return joinObj.selectFields
|
||||
.map((selectField) => {
|
||||
if (typeof selectField == "string") {
|
||||
|
||||
Reference in New Issue
Block a user