typesql-cli 0.7.0 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../src/code-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGpF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAO5C,OAAO,EAAE,kBAAkB,EAA4B,MAAM,wBAAwB,CAAC;AAEtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,wBAAgB,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,GAAE,OAAe,GAAG,MAAM,CAuXnI;AAkDD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,CA6DvE;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAerF;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAelE;AAOD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,UAMtD;AAkBD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,UAI9C;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAE5D;AAWD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAGlE;AAGD,wBAAsB,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,OAAO,iBAanH;AAED,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,GAAE,OAAe,mBAWxK;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACnB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,IAAI,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACvC,CAAA"}
1
+ {"version":3,"file":"code-generator.d.ts","sourceRoot":"","sources":["../../src/code-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGpF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAO5C,OAAO,EAAE,kBAAkB,EAA4B,MAAM,wBAAwB,CAAC;AAEtF,OAAO,EAAE,oBAAoB,EAAsB,MAAM,8BAA8B,CAAC;AAExF,wBAAgB,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,GAAE,OAAe,GAAG,MAAM,CAgXnI;AA2ED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,CA6DvE;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAerF;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAelE;AAOD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,UAMtD;AAsBD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,UAI9C;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAE5D;AAWD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAGlE;AAGD,wBAAsB,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,OAAO,iBAanH;AAED,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,GAAE,OAAe,mBAWxK;AAED,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACnB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,IAAI,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACvC,CAAA"}
package/code-generator.js CHANGED
@@ -93,7 +93,9 @@ function generateTsCode(tsDescriptor, fileName, target, crud = false) {
93
93
  writeTypeBlock(writer, selectFields, selectColumnsTypeName, false);
94
94
  writer.writeLine(`const NumericOperatorList = ['=', '<>', '>', '<', '>=', '<='] as const;`);
95
95
  writer.writeLine(`type NumericOperator = typeof NumericOperatorList[number];`);
96
- writer.writeLine(`type StringOperator = '=' | '<>' | '>' | '<' | '>=' | '<=' | 'LIKE';`);
96
+ if (hasStringColumn(tsDescriptor.columns)) {
97
+ writer.writeLine(`type StringOperator = '=' | '<>' | '>' | '<' | '>=' | '<=' | 'LIKE';`);
98
+ }
97
99
  writer.writeLine(`type SetOperator = 'IN' | 'NOT IN';`);
98
100
  writer.writeLine(`type BetweenOperator = 'BETWEEN';`);
99
101
  writer.blankLine();
@@ -142,6 +144,12 @@ function generateTsCode(tsDescriptor, fileName, target, crud = false) {
142
144
  else {
143
145
  writer.writeLine(`const where = whereConditionsToObject(params?.where);`);
144
146
  writer.writeLine('const paramsValues: any = [];');
147
+ if (tsDescriptor.dynamicQuery.with) {
148
+ writer.writeLine(`let withClause = '';`);
149
+ tsDescriptor.dynamicQuery.with.forEach(withFragment => {
150
+ generateDynamicQueryFrom(writer, 'withClause', withFragment, tsDescriptor.columns);
151
+ });
152
+ }
145
153
  writer.writeLine(`let sql = 'SELECT';`);
146
154
  tsDescriptor.dynamicQuery.select.forEach(fragment => {
147
155
  writer.write(`if (params?.select == null || ${fragment.dependOnFields.map(fieldIndex => 'params.select.' + tsDescriptor.columns[fieldIndex].name).join('&&')})`).block(() => {
@@ -149,28 +157,7 @@ function generateTsCode(tsDescriptor, fileName, target, crud = false) {
149
157
  });
150
158
  });
151
159
  tsDescriptor.dynamicQuery.from.forEach(fragment => {
152
- const selectConditions = fragment.dependOnFields.map(fieldIndex => 'params.select.' + tsDescriptor.columns[fieldIndex].name);
153
- if (selectConditions.length > 0) {
154
- selectConditions.unshift('params?.select == null');
155
- }
156
- const paramConditions = fragment.dependOnParams.map(param => 'params.params?.' + param + ' != null');
157
- const whereConditions = fragment.dependOnFields.map(fieldIndex => 'where.' + tsDescriptor.columns[fieldIndex].name + ' != null');
158
- const allConditions = [...selectConditions, ...paramConditions, ...whereConditions];
159
- const paramValues = fragment.parameters.map(param => 'params?.params?.' + param);
160
- if (allConditions.length > 0) {
161
- writer.write(`if (${allConditions.join(' || ')})`).block(() => {
162
- writer.write(`sql += EOL + \`${fragment.fragment}\`;`);
163
- paramValues.forEach(paramValues => {
164
- writer.writeLine(`paramsValues.push(${paramValues});`);
165
- });
166
- });
167
- }
168
- else {
169
- writer.writeLine(`sql += EOL + \`${fragment.fragment}\`;`);
170
- paramValues.forEach(paramValues => {
171
- writer.writeLine(`paramsValues.push(${paramValues});`);
172
- });
173
- }
160
+ generateDynamicQueryFrom(writer, 'sql', fragment, tsDescriptor.columns);
174
161
  });
175
162
  writer.writeLine(`sql += EOL + \`WHERE 1 = 1\`;`);
176
163
  tsDescriptor.dynamicQuery.where.forEach(fragment => {
@@ -188,6 +175,11 @@ function generateTsCode(tsDescriptor, fileName, target, crud = false) {
188
175
  writer.writeLine(`sql += EOL + '${fragment.fragment}';`);
189
176
  }
190
177
  });
178
+ if (tsDescriptor.dynamicQuery.with) {
179
+ writer.write(`if (withClause != '') `).block(() => {
180
+ writer.writeLine(`sql = 'WITH ' + withClause + EOL + sql;`);
181
+ });
182
+ }
191
183
  writer.write(`params?.where?.forEach(condition => `).inlineBlock(() => {
192
184
  writer.writeLine(`const where = whereCondition(condition);`);
193
185
  writer.write(`if (where?.hasValue)`).block(() => {
@@ -272,7 +264,7 @@ function generateTsCode(tsDescriptor, fileName, target, crud = false) {
272
264
  writer.writeLine(`return obj;`);
273
265
  });
274
266
  writer.blankLine();
275
- writer.write(`export type WhereConditionResult = `).block(() => {
267
+ writer.write(`type WhereConditionResult = `).block(() => {
276
268
  writer.writeLine('sql: string;');
277
269
  writer.writeLine('hasValue: boolean;');
278
270
  writer.writeLine('values: any[];');
@@ -291,13 +283,15 @@ function generateTsCode(tsDescriptor, fileName, target, crud = false) {
291
283
  writer.writeLine('const selectFragment = selectFragments[condition[0]];');
292
284
  writer.writeLine('const operator = condition[1];');
293
285
  writer.blankLine();
294
- writer.write(`if (operator == 'LIKE') `).block(() => {
295
- writer.write(`return `).block(() => {
296
- writer.writeLine('sql: `${selectFragment} LIKE concat(\'%\', ?, \'%\')`,');
297
- writer.writeLine('hasValue: condition[2] != null,');
298
- writer.writeLine('values: [condition[2]]');
286
+ if (hasStringColumn(tsDescriptor.columns)) {
287
+ writer.write(`if (operator == 'LIKE') `).block(() => {
288
+ writer.write(`return `).block(() => {
289
+ writer.writeLine('sql: `${selectFragment} LIKE concat(\'%\', ?, \'%\')`,');
290
+ writer.writeLine('hasValue: condition[2] != null,');
291
+ writer.writeLine('values: [condition[2]]');
292
+ });
299
293
  });
300
- });
294
+ }
301
295
  writer.write(`if (operator == 'BETWEEN') `).block(() => {
302
296
  writer.write(`return `).block(() => {
303
297
  writer.writeLine('sql: `${selectFragment} BETWEEN ? AND ?`,');
@@ -407,6 +401,30 @@ function generateTsCode(tsDescriptor, fileName, target, crud = false) {
407
401
  return writer.toString();
408
402
  }
409
403
  exports.generateTsCode = generateTsCode;
404
+ function generateDynamicQueryFrom(writer, sqlVar, fragment, columns) {
405
+ const selectConditions = fragment.dependOnFields.map(fieldIndex => 'params.select.' + columns[fieldIndex].name);
406
+ if (selectConditions.length > 0) {
407
+ selectConditions.unshift('params?.select == null');
408
+ }
409
+ const paramConditions = fragment.dependOnParams.map(param => 'params.params?.' + param + ' != null');
410
+ const whereConditions = fragment.dependOnFields.map(fieldIndex => 'where.' + columns[fieldIndex].name + ' != null');
411
+ const allConditions = [...selectConditions, ...paramConditions, ...whereConditions];
412
+ const paramValues = fragment.parameters.map(param => 'params?.params?.' + param);
413
+ if (allConditions.length > 0) {
414
+ writer.write(`if (${allConditions.join(' || ')})`).block(() => {
415
+ writer.write(`${sqlVar} += EOL + \`${fragment.fragment}\`;`);
416
+ paramValues.forEach(paramValues => {
417
+ writer.writeLine(`paramsValues.push(${paramValues});`);
418
+ });
419
+ });
420
+ }
421
+ else {
422
+ writer.writeLine(`${sqlVar} += EOL + \`${fragment.fragment}\`;`);
423
+ paramValues.forEach(paramValues => {
424
+ writer.writeLine(`paramsValues.push(${paramValues});`);
425
+ });
426
+ }
427
+ }
410
428
  function getOperator(type) {
411
429
  if (type == 'number' || type == 'Date') {
412
430
  return 'NumericOperator';
@@ -560,6 +578,9 @@ function mapColumnType(columnType) {
560
578
  const mappedTypes = types.map(type => (0, mysql_mapping_1.converToTsType)(type));
561
579
  return mappedTypes.join(' | '); // number | string
562
580
  }
581
+ function hasStringColumn(columns) {
582
+ return columns.some(c => c.tsType == 'string');
583
+ }
563
584
  function generateTsContent(tsDescriptorOption, queryName, target, crud) {
564
585
  if ((0, Option_1.isNone)(tsDescriptorOption)) {
565
586
  return '//Invalid sql';
@@ -1 +1 @@
1
- {"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../src/code-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-generator.js","sourceRoot":"","sources":["../../src/code-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"describe-dynamic-query.d.ts","sourceRoot":"","sources":["../../src/describe-dynamic-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,EAAgD,MAAM,8BAA8B,CAAC;AAE9I,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,oBAAoB,CA8DjJ"}
1
+ {"version":3,"file":"describe-dynamic-query.d.ts","sourceRoot":"","sources":["../../src/describe-dynamic-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,oBAAoB,EAAgD,MAAM,8BAA8B,CAAC;AAE9I,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,oBAAoB,CAqCjJ"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.describeDynamicQuery = void 0;
4
4
  function describeDynamicQuery(dynamicQueryInfo, namedParameters, columnNames) {
5
- const { select, from, where } = dynamicQueryInfo;
5
+ const { with: withFragments, select, from, where } = dynamicQueryInfo;
6
6
  const selectFragments = select.map((fragment, index) => {
7
7
  const fragmentResult = {
8
8
  fragment: fragment.fragment,
@@ -13,33 +13,8 @@ function describeDynamicQuery(dynamicQueryInfo, namedParameters, columnNames) {
13
13
  };
14
14
  return fragmentResult;
15
15
  });
16
- const fromFragements = from.map(fragment => {
17
- if (fragment.relation) {
18
- addAllChildFields(fragment, from);
19
- }
20
- const filteredWhere = where.filter(whereFragment => includeAny(whereFragment.fields, fragment.fields));
21
- const hasUnconditional = filteredWhere
22
- .some(fragment => fragment.dependOnParams.length == 0);
23
- if (hasUnconditional) {
24
- return {
25
- fragment: fragment.fragment,
26
- dependOnFields: [],
27
- dependOnParams: [],
28
- parameters: fragment.parameters.map(paramIndex => namedParameters[paramIndex])
29
- };
30
- }
31
- const selectedFields = select.flatMap(fragment => fragment.fields)
32
- .filter(field => fragment.dependOn.includes(field.table));
33
- const fieldIndex = selectedFields.map(field => columnNames.findIndex(col => col.columnName == field.name && (col.table == field.table || col.table == '')));
34
- const params = filteredWhere.flatMap(fragment => fragment.dependOnParams).map(paramIndex => namedParameters[paramIndex]);
35
- const fragmentResult = {
36
- fragment: fragment.fragment,
37
- dependOnFields: fieldIndex,
38
- dependOnParams: [...new Set(params)],
39
- parameters: fragment.parameters.map(paramIndex => namedParameters[paramIndex])
40
- };
41
- return fragmentResult;
42
- });
16
+ const withFragements = withFragments === null || withFragments === void 0 ? void 0 : withFragments.map(fragment => transformFrom(fragment, withFragments, select, from, where, namedParameters));
17
+ const fromFragements = from.map(fragment => transformFrom(fragment, undefined, select, from, where, namedParameters));
43
18
  const whereFragements = where.map(fragment => {
44
19
  const params = fragment.dependOnParams.map(paramIndex => namedParameters[paramIndex]);
45
20
  const fragmentResult = {
@@ -50,23 +25,64 @@ function describeDynamicQuery(dynamicQueryInfo, namedParameters, columnNames) {
50
25
  };
51
26
  return fragmentResult;
52
27
  });
53
- return {
28
+ const result = {
54
29
  select: selectFragments,
55
30
  from: fromFragements,
56
31
  where: whereFragements
57
32
  };
33
+ if (withFragements != null && withFragements.length > 0) {
34
+ result.with = withFragements;
35
+ }
36
+ return result;
58
37
  }
59
38
  exports.describeDynamicQuery = describeDynamicQuery;
39
+ function transformFrom(fragment, withFragments, select, from, where, namedParameters) {
40
+ if (fragment.relation) {
41
+ addAllChildFields(fragment, from, withFragments);
42
+ }
43
+ const filteredWhere = where.filter(whereFragment => includeAny(whereFragment.fields, fragment.fields));
44
+ const hasUnconditional = filteredWhere
45
+ .some(fragment => fragment.dependOnParams.length == 0);
46
+ if (hasUnconditional) {
47
+ return {
48
+ fragment: fragment.fragment,
49
+ dependOnFields: [],
50
+ dependOnParams: [],
51
+ parameters: fragment.parameters.map(paramIndex => namedParameters[paramIndex])
52
+ };
53
+ }
54
+ const fieldIndex = select.flatMap((selectField, index) => {
55
+ const found = selectField.dependOn.find(dependsOn => fragment.dependOn.includes(dependsOn));
56
+ if (found) {
57
+ return index;
58
+ }
59
+ return [];
60
+ });
61
+ const params = filteredWhere.flatMap(fragment => fragment.dependOnParams).map(paramIndex => namedParameters[paramIndex]);
62
+ const fragmentResult = {
63
+ fragment: fragment.fragment,
64
+ dependOnFields: fieldIndex,
65
+ dependOnParams: [...new Set(params)],
66
+ parameters: fragment.parameters.map(paramIndex => namedParameters[paramIndex])
67
+ };
68
+ return fragmentResult;
69
+ }
60
70
  function includeAny(fields, fields2) {
61
71
  return fields.some(f => fields2.find(f2 => f2.field == f.field && f2.table == f.table));
62
72
  }
63
- function addAllChildFields(currentRelation, from) {
73
+ function addAllChildFields(currentRelation, select, withFragments) {
64
74
  currentRelation.dependOn.push(currentRelation.relation + '');
65
- from.forEach(fragment => {
75
+ select.forEach(fragment => {
66
76
  if (fragment.parentRelation == currentRelation.relation) {
67
77
  currentRelation.fields.push(...fragment.fields);
68
78
  currentRelation.dependOn.push(fragment.relation + '');
69
79
  }
80
+ withFragments === null || withFragments === void 0 ? void 0 : withFragments.forEach(withFragment => {
81
+ if (withFragment.parentRelation == fragment.relation) {
82
+ withFragment.fields.push(...fragment.fields);
83
+ withFragment.dependOn.push(fragment.relation + '');
84
+ }
85
+ });
70
86
  });
71
87
  }
72
88
  //# sourceMappingURL=describe-dynamic-query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"describe-dynamic-query.js","sourceRoot":"","sources":["../../src/describe-dynamic-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"describe-dynamic-query.js","sourceRoot":"","sources":["../../src/describe-dynamic-query.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"infer-column-nullability.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-column-nullability.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,yBAAyB,EAAqB,WAAW,EAK5D,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAS7D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,aASzE;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,yBAAyB,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,aAiBpH;AAqRD,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CA0DhF"}
1
+ {"version":3,"file":"infer-column-nullability.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-column-nullability.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,yBAAyB,EAAqB,WAAW,EAK5D,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAS7D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,aASzE;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,yBAAyB,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,aAiBpH;AAwRD,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CA0DhF"}
@@ -158,6 +158,9 @@ function inferNotNullSimpleExpr(simpleExpr, dbSchema, fromColumns) {
158
158
  return exprList.every(expr => inferNotNullExpr(expr, dbSchema, fromColumns));
159
159
  }
160
160
  if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprSubQueryContext) {
161
+ if (simpleExpr.EXISTS_SYMBOL()) {
162
+ return true;
163
+ }
161
164
  return false;
162
165
  }
163
166
  if (simpleExpr instanceof ts_mysql_parser_1.SimpleExprCaseContext) {
@@ -1 +1 @@
1
- {"version":3,"file":"infer-column-nullability.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-column-nullability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infer-column-nullability.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/infer-column-nullability.ts"],"names":[],"mappings":"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"}
@@ -285,41 +285,4 @@ function collectAllQuerySpecifications(tree, result) {
285
285
  }
286
286
  }
287
287
  }
288
- function printQuery(dynamicSqlInfo) {
289
- console.dir(dynamicSqlInfo, { depth: null });
290
- let sql = `let sql = 'SELECT';\n`;
291
- dynamicSqlInfo.select.forEach(selectItem => {
292
- if (selectItem.fields.length > 0) {
293
- sql += `if (${selectItem.fields.map(f => 'select.' + f.name)}) {\n`;
294
- sql += ` sql += ${selectItem.fragment};\n`;
295
- sql += '}\n';
296
- }
297
- else {
298
- sql += `sql += ${selectItem.fragment};\n`;
299
- }
300
- });
301
- sql += 'FROM ';
302
- dynamicSqlInfo.from.forEach(from => {
303
- if (from.dependOnFields.length > 0) {
304
- sql += `if (${from.dependOnFields.map(f => 'select.' + f.name).concat(from.dependOnParams.map(p => 'params.' + p)).join(' || ')}) {\n`;
305
- sql += ` sql += ${from.fragment};\n`;
306
- sql += '}\n';
307
- }
308
- else {
309
- sql += `sql += ${from.fragment};\n`;
310
- }
311
- });
312
- sql += `sql += 'WHERE 1 = 1'\n`;
313
- dynamicSqlInfo.where.forEach(where => {
314
- if (where.dependOnFields.length > 0 || where.dependOnParams.length > 0) {
315
- sql += `if (${where.dependOnFields.map(f => 'select.' + f.name).concat(where.dependOnParams.map(param => 'param.' + param)).join(' || ')})) {\n`;
316
- sql += ` sql += '${where.fragment}';\n`;
317
- sql += '}\n';
318
- }
319
- else {
320
- sql += `sql += ${where.fragment};\n`;
321
- }
322
- });
323
- console.log(sql);
324
- }
325
288
  //# sourceMappingURL=parse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/parse.ts"],"names":[],"mappings":"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"}
@@ -10,12 +10,18 @@ export declare function splitName(fieldName: string): FieldName;
10
10
  export declare const functionAlias: ColumnSchema[];
11
11
  export declare function findColumnSchema(tableName: string, columnName: string, dbSchema: ColumnSchema[]): ColumnSchema | undefined;
12
12
  export declare function findColumn(fieldName: FieldName, columns: ColumnDef[]): ColumnDef;
13
+ export declare function findColumnOrNull(fieldName: FieldName, columns: ColumnDef[]): ColumnDef | undefined;
13
14
  export declare function extractOriginalSql(rule: ParserRuleContext): string | undefined;
14
- export declare function getExpressions(ctx: RuleContext, exprType: any): RuleContext[];
15
+ type Expr = {
16
+ expr: RuleContext;
17
+ isSubQuery: boolean;
18
+ };
19
+ export declare function getExpressions(ctx: RuleContext, exprType: any): Expr[];
15
20
  export type ExpressionAndOperator = {
16
21
  operator: string;
17
22
  expr: ExprContext;
18
23
  };
19
24
  export declare function getTopLevelAndExpr(expr: ExprContext, all: ExpressionAndOperator[]): void;
20
25
  export declare function getSimpleExpressions(ctx: RuleContext): ParseTree[];
26
+ export {};
21
27
  //# sourceMappingURL=select-columns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-columns.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/select-columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,EACH,kBAAkB,EAIqH,iBAAiB,EAAE,WAAW,EACxK,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG7D,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,CAyB9I;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,eAQ7E;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,iBAAiB,UAW1D;AAED,wBAAgB,4BAA4B,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAM7F;AAGD,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAWtD;AAOD,eAAO,MAAM,aAAa,EAAE,YAAY,EAqHvC,CAAA;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,4BAI/F;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,SAAS,CAoBhF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,sBAOzD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,GAAG,WAAW,EAAE,CAK7E;AAgBD,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;CACrB,CAAA;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,qBAAqB,EAAE,QAgBjF;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,EAAE,CAKlE"}
1
+ {"version":3,"file":"select-columns.d.ts","sourceRoot":"","sources":["../../../src/mysql-query-analyzer/select-columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,EACH,kBAAkB,EAIqH,iBAAiB,EAAE,WAAW,EACxK,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG7D,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,CAyB9I;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,eAQ7E;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,iBAAiB,UAW1D;AAED,wBAAgB,4BAA4B,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAM7F;AAGD,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAWtD;AAOD,eAAO,MAAM,aAAa,EAAE,YAAY,EAqHvC,CAAA;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,4BAI/F;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,SAAS,CAOhF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,SAAS,GAAG,SAAS,CAiBlG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,sBAOzD;AAED,KAAK,IAAI,GAAG;IACR,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACvB,CAAA;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI,EAAE,CAKtE;AAmBD,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;CACrB,CAAA;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,qBAAqB,EAAE,QAgBjF;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,EAAE,CAKlE"}