typesql-cli 0.15.0-experimental.3 → 0.15.0-experimental.4

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typesql-cli",
3
- "version": "0.15.0-experimental.3",
3
+ "version": "0.15.0-experimental.4",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -1 +1 @@
1
- {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/describe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGjE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B,OAAO,EAAc,WAAW,EAAW,MAAM,YAAY,CAAC;AAwB9D,MAAM,MAAM,kBAAkB,GAAG;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAoBF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAazH"}
1
+ {"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/describe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGjE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B,OAAO,EAAc,WAAW,EAAW,MAAM,YAAY,CAAC;AAyB9D,MAAM,MAAM,kBAAkB,GAAG;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAoBF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAazH"}
@@ -1 +1 @@
1
- {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/describe.ts"],"names":[],"mappings":";;AAqDA,sCAaC;AAhED,kDAAsF;AAGtF,qCAA4D;AAC5D,sFAAsH;AACtH,2CAA8D;AAC9D,mDAAqD;AAErD,SAAS,mBAAmB,CAAC,GAAW,EAAE,MAA8B,EAAE,sBAA2C,EAAE,cAAsC,EAAE,eAAyB;IAEvL,MAAM,UAAU,GAAG,sBAAsB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;IAE9I,MAAM,MAAM,GAAG,IAAA,2CAAqB,EAAC,GAAG,EAAE,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAEpF,MAAM,UAAU,GAAc;QAC7B,GAAG,EAAE,MAAM;QACX,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,kBAAkB,EAAE,sBAAsB,CAAC,kBAAkB;QAC7D,OAAO,EAAE,kBAAkB,CAAC,cAAc,EAAE,sBAAsB,CAAC;QACnE,UAAU,EAAE,cAAc,CAAC,SAAS,KAAK,QAAQ;YAChD,CAAC,CAAC,oBAAoB,CAAC,cAAc,EAAE,sBAAsB,EAAE,UAAU,CAAC;YAC1E,CAAC,CAAC,oBAAoB,CAAC,cAAc,EAAE,sBAAsB,EAAE,UAAU,CAAC;KAC3E,CAAA;IACD,IAAI,cAAc,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3C,UAAU,CAAC,IAAI,GAAG,eAAe,CAAC,cAAc,EAAE,sBAAsB,EAAE,UAAU,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,IAAA,eAAE,EAAC,UAAU,CAAC,CAAC;AACvB,CAAC;AAMD,SAAS,eAAe,CAAC,GAAwB,EAAE,YAA0B,EAAE,OAAgB;;IAC9F,OAAO;QACN,UAAU,EAAE,GAAG,CAAC,IAAI;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,MAAA,YAAY,CAAC,GAAG,CAAC,MAAM,CAAQ,mCAAI,GAAG;QAC5C,KAAK,EAAE,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO;KACtC,CAAA;AACF,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB,EAAE,SAAiB,EAAE,OAAgB,EAAE,MAAe;IAC7F,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IACpC,OAAO;QACN,IAAI,EAAE,SAAS;QACf,OAAO;QACP,UAAU,EAAE,GAAG,wBAAa,CAAC,SAAS,CAAC,GAAG,SAAS,EAAS;KAC5D,CAAA;AACF,CAAC;AAED,SAAgB,aAAa,CAAC,QAAa,EAAE,GAAW,EAAE,eAAyB;IAClF,OAAO,IAAA,uBAAY,EAAC,QAAQ,CAAC;SAC3B,OAAO,CAAC,QAAQ,CAAC,EAAE;QACnB,MAAM,WAAW,GAAG,IAAA,iBAAQ,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO,IAAA,2BAAgB,EAAC,QAAQ,EAAE,GAAG,CAAC;aACpC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;aACzF,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;IAC7G,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QACf,OAAO;YACN,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,GAAG;SAChB,CAAA;IACF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAa,EAAE,GAAW,EAAE,cAAgC,EAAE,WAAmC;IAC5H,IAAI,WAAW,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxC,IAAI,WAAW,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,MAAM,mCACR,cAAc,KACjB,kBAAkB,EAAE,KAAK,GACzB,CAAA;YACD,OAAO,IAAA,oBAAO,EAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,qDAA+B,EAAC,GAAG,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;QAC1G,OAAO,IAAA,0BAAe,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;YAC5D,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YAC7C,MAAM,MAAM,mCACR,cAAc,KACjB,kBAAkB,EAAE,CAAC,SAAS,GAC9B,CAAA;YACD,OAAO,MAAM,CAAC;QACf,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,mCACR,cAAc,KACjB,kBAAkB,EAAE,KAAK,GACzB,CAAA;IACD,OAAO,IAAA,oBAAO,EAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,WAAW,CAAC,UAAoB;IACxC,MAAM,KAAK,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IAC1E,IAAI,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,WAAW,GAAG,UAAU;SAC5B,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;SACjD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC;SAC5B,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;IAC9B,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAiB;IAC9C,MAAM,KAAK,GAAG,YAAY,CAAC;IAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gDAAgD;IAChF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,kBAAkB,CAAC,cAAsC,EAAE,sBAA2C;IAC9G,OAAO,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,wBAAa,EAAE,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACzI,CAAC;AAED,SAAS,oBAAoB,CAAC,cAAsC,EAAE,sBAA2C,EAAE,UAAoB;IACtI,OAAO,sBAAsB,CAAC,UAAU;SACtC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,WAAC,OAAA,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAA,cAAc,CAAC,qBAAqB,CAAC,KAAK,CAAC,mCAAI,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA,EAAA,CAAC,CAAA;AAC3J,CAAC;AAED,SAAS,oBAAoB,CAAC,cAAsC,EAAE,sBAA2C,EAAE,UAAoB;IACtI,MAAM,WAAW,GAAG,cAAc,CAAC,qBAAqB,CAAC,MAAM,CAAC;IAChE,OAAO,sBAAsB,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC;SACzD,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,eAAC,OAAA,aAAa,CAAC,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,EAAE,KAAK,EAAE,MAAA,MAAA,cAAc,CAAC,yBAAyB,0CAAG,KAAK,CAAC,mCAAI,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAA,EAAA,CAAC,CAAA;AAC7L,CAAC;AAED,SAAS,eAAe,CAAC,cAAsC,EAAE,sBAA2C,EAAE,UAAoB;IACjI,OAAO,sBAAsB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,qBAAqB,CAAC,MAAM,CAAC;SAC5F,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,WAAC,OAAA,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAA,cAAc,CAAC,qBAAqB,CAAC,KAAK,CAAC,mCAAI,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA,EAAA,CAAC,CAAA;AAC3J,CAAC"}
1
+ {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/describe.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,4 @@
1
- import { QueryType } from '../types';
1
+ import { PostgresTraverseResult } from './traverse';
2
2
  import { PostgresColumnSchema } from '../drivers/types';
3
- export type PostgresTraverseResult = {
4
- queryType: QueryType;
5
- columnsNullability: boolean[];
6
- parametersNullability: boolean[];
7
- whereParamtersNullability?: boolean[];
8
- parameterList: boolean[];
9
- limit?: number;
10
- };
11
3
  export declare function parseSql(sql: string, dbSchema: PostgresColumnSchema[]): PostgresTraverseResult;
12
4
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAC9B,qBAAqB,EAAE,OAAO,EAAE,CAAC;IACjC,yBAAyB,CAAC,EAAE,OAAO,EAAE,CAAC;IACtC,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAA;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,GAAG,sBAAsB,CAM9F"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAe,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,GAAG,sBAAsB,CAM9F"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/parser.ts"],"names":[],"mappings":";;AAcA,4BAMC;AApBD,+DAAyE;AACzE,yCAAyC;AAazC,SAAgB,QAAQ,CAAC,GAAW,EAAE,QAAgC;IACrE,MAAM,MAAM,GAAG,IAAA,mBAAS,EAAC,GAAG,CAAC,CAAC;IAE9B,MAAM,cAAc,GAAG,IAAA,sBAAW,EAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;IAE5D,OAAO,cAAc,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/parser.ts"],"names":[],"mappings":";;AAKA,4BAMC;AAXD,+DAAyE;AACzE,yCAAiE;AAIjE,SAAgB,QAAQ,CAAC,GAAW,EAAE,QAAgC;IACrE,MAAM,MAAM,GAAG,IAAA,mBAAS,EAAC,GAAG,CAAC,CAAC;IAE9B,MAAM,cAAc,GAAG,IAAA,sBAAW,EAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;IAE5D,OAAO,cAAc,CAAC;AACvB,CAAC"}
@@ -1,5 +1,13 @@
1
1
  import { StmtContext } from '@wsporto/typesql-parser/postgres/PostgreSQLParser';
2
- import { PostgresTraverseResult } from './parser';
3
2
  import { PostgresColumnSchema } from '../drivers/types';
3
+ import { QueryType } from '../types';
4
+ export type PostgresTraverseResult = {
5
+ queryType: QueryType;
6
+ columnsNullability: boolean[];
7
+ parametersNullability: boolean[];
8
+ whereParamtersNullability?: boolean[];
9
+ parameterList: boolean[];
10
+ limit?: number;
11
+ };
4
12
  export declare function traverseSmt(stmt: StmtContext, dbSchema: PostgresColumnSchema[]): PostgresTraverseResult;
5
13
  //# sourceMappingURL=traverse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4gC,WAAW,EAAsK,MAAM,mDAAmD,CAAC;AAC9vC,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAgBxD,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,EAAE,GAAG,sBAAsB,CAuBvG"}
1
+ {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/traverse.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4jC,WAAW,EAA4L,MAAM,mDAAmD,CAAC;AAEp0C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAcrC,MAAM,MAAM,sBAAsB,GAAG;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,kBAAkB,EAAE,OAAO,EAAE,CAAC;IAC9B,qBAAqB,EAAE,OAAO,EAAE,CAAC;IACjC,yBAAyB,CAAC,EAAE,OAAO,EAAE,CAAC;IACtC,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAA;AAOD,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB,EAAE,GAAG,sBAAsB,CAuBvG"}
@@ -11,7 +11,7 @@ function traverseSmt(stmt, dbSchema) {
11
11
  };
12
12
  const selectstmt = stmt.selectstmt();
13
13
  if (selectstmt) {
14
- const result = traverseSelectstmt(selectstmt, dbSchema, traverseResult);
14
+ const result = traverseSelectstmt(selectstmt, dbSchema, [], traverseResult);
15
15
  return result;
16
16
  }
17
17
  const insertstmt = stmt.insertstmt();
@@ -41,58 +41,62 @@ function collectContextsOfType(ctx, targetType) {
41
41
  });
42
42
  return results;
43
43
  }
44
- function traverseSelectstmt(selectstmt, dbSchema, traverseResult) {
44
+ function traverseSelectstmt(selectstmt, dbSchema, fromColumns, traverseResult) {
45
45
  const result = collectContextsOfType(selectstmt, PostgreSQLParser_1.C_expr_exprContext).filter(c_expr => c_expr.PARAM());
46
46
  const paramIsListResult = result.map(param => paramIsList(param));
47
- const columns = traverse_selectstmt(selectstmt, dbSchema, traverseResult);
47
+ const columns = traverse_selectstmt(selectstmt, dbSchema, fromColumns, traverseResult);
48
48
  const columnsNullability = columns.map(col => !col.is_nullable);
49
49
  const limit = checkLimit(selectstmt);
50
50
  return {
51
51
  queryType: 'Select',
52
52
  columnsNullability,
53
- parametersNullability: [],
53
+ parametersNullability: traverseResult.parametersNullability,
54
54
  parameterList: paramIsListResult,
55
55
  limit
56
56
  };
57
57
  }
58
- function traverse_selectstmt(selectstmt, dbSchema, traverseResult) {
58
+ function traverse_selectstmt(selectstmt, dbSchema, fromColumns, traverseResult) {
59
59
  const select_no_parens = selectstmt.select_no_parens();
60
60
  if (select_no_parens) {
61
- return traverse_select_no_parens(select_no_parens, dbSchema, traverseResult);
61
+ return traverse_select_no_parens(select_no_parens, dbSchema, fromColumns, traverseResult);
62
62
  }
63
63
  return [];
64
64
  }
65
- function traverse_select_no_parens(select_no_parens, dbSchema, traverseResult) {
65
+ function traverse_select_no_parens(select_no_parens, dbSchema, fromColumns, traverseResult) {
66
66
  let withColumns = [];
67
67
  const with_clause = select_no_parens.with_clause();
68
68
  if (with_clause) {
69
- withColumns = with_clause.cte_list().common_table_expr_list().flatMap(common_table_expr => traverse_common_table_expr(common_table_expr, dbSchema, traverseResult));
69
+ with_clause.cte_list().common_table_expr_list()
70
+ .forEach(common_table_expr => {
71
+ const withResult = traverse_common_table_expr(common_table_expr, dbSchema, withColumns.concat(fromColumns), traverseResult);
72
+ withColumns.push(...withResult);
73
+ });
70
74
  }
71
75
  const select_clause = select_no_parens.select_clause();
72
76
  if (select_clause) {
73
- return traverse_select_clause(select_clause, withColumns.concat(dbSchema), traverseResult);
77
+ return traverse_select_clause(select_clause, dbSchema, withColumns.concat(fromColumns), traverseResult);
74
78
  }
75
79
  return [];
76
80
  }
77
- function traverse_common_table_expr(common_table_expr, dbSchema, traverseResult) {
81
+ function traverse_common_table_expr(common_table_expr, dbSchema, fromColumns, traverseResult) {
78
82
  const tableName = common_table_expr.name().getText();
79
83
  const select_stmt = common_table_expr.preparablestmt().selectstmt();
80
84
  if (select_stmt) {
81
- const columns = traverse_selectstmt(select_stmt, dbSchema, traverseResult);
85
+ const columns = traverse_selectstmt(select_stmt, dbSchema, fromColumns, traverseResult);
82
86
  const columnsWithTalbeName = columns.map(col => (Object.assign(Object.assign({}, col), { table_name: tableName })));
83
87
  return columnsWithTalbeName;
84
88
  }
85
89
  return [];
86
90
  }
87
- function traverse_select_clause(select_clause, dbSchema, traverseResult) {
91
+ function traverse_select_clause(select_clause, dbSchema, fromColumns, traverseResult) {
88
92
  const simple_select_intersect_list = select_clause.simple_select_intersect_list();
89
93
  let selectColumns = [];
90
94
  if (simple_select_intersect_list) {
91
- selectColumns = traverse_simple_select_intersect(simple_select_intersect_list[0], dbSchema, traverseResult);
95
+ selectColumns = traverse_simple_select_intersect(simple_select_intersect_list[0], dbSchema, fromColumns, traverseResult);
92
96
  }
93
97
  //union
94
98
  for (let index = 1; index < simple_select_intersect_list.length; index++) {
95
- const unionNotNull = traverse_simple_select_intersect(simple_select_intersect_list[index], dbSchema, traverseResult);
99
+ const unionNotNull = traverse_simple_select_intersect(simple_select_intersect_list[index], dbSchema, fromColumns, traverseResult);
96
100
  selectColumns = selectColumns.map((value, columnIndex) => {
97
101
  const col = Object.assign(Object.assign({}, value), { is_nullable: value.is_nullable || unionNotNull[columnIndex].is_nullable });
98
102
  return col;
@@ -100,238 +104,316 @@ function traverse_select_clause(select_clause, dbSchema, traverseResult) {
100
104
  }
101
105
  return selectColumns;
102
106
  }
103
- function traverse_simple_select_intersect(simple_select_intersect, dbSchema, traverseResult) {
107
+ function traverse_simple_select_intersect(simple_select_intersect, dbSchema, fromColumns, traverseResult) {
104
108
  const simple_select_pramary = simple_select_intersect.simple_select_pramary_list()[0];
105
109
  if (simple_select_pramary) {
106
- return traverse_simple_select_pramary(simple_select_pramary, dbSchema, traverseResult);
110
+ return traverse_simple_select_pramary(simple_select_pramary, dbSchema, fromColumns, traverseResult);
107
111
  }
108
112
  return [];
109
113
  }
110
- function traverse_simple_select_pramary(simple_select_pramary, dbSchema, traverseResult) {
114
+ function traverse_simple_select_pramary(simple_select_pramary, dbSchema, parentFromColumns, traverseResult) {
111
115
  const fromColumns = [];
112
116
  const from_clause = simple_select_pramary.from_clause();
113
117
  if (from_clause) {
114
118
  const where_clause = simple_select_pramary.where_clause();
115
- const fields = traverse_from_clause(from_clause, dbSchema, traverseResult);
119
+ const fields = traverse_from_clause(from_clause, dbSchema, parentFromColumns, traverseResult);
116
120
  const fieldsNotNull = where_clause != null ? fields.map(field => checkIsNullable(where_clause, field)) : fields;
117
121
  fromColumns.push(...fieldsNotNull);
118
122
  }
119
- const filteredColumns = filterColumns_simple_select_pramary(simple_select_pramary, fromColumns, traverseResult);
123
+ const values_clause = simple_select_pramary.values_clause();
124
+ if (values_clause) {
125
+ const valuesColumns = traverse_values_clause(values_clause, dbSchema, parentFromColumns, traverseResult);
126
+ return valuesColumns;
127
+ }
128
+ const filteredColumns = filterColumns_simple_select_pramary(simple_select_pramary, dbSchema, parentFromColumns.concat(fromColumns), traverseResult);
120
129
  return filteredColumns;
121
130
  }
122
- function filterColumns_simple_select_pramary(simple_select_pramary, fromColumns, traverseResult) {
131
+ function traverse_values_clause(values_clause, dbSchema, fromColumns, traverseResult) {
132
+ const expr_list_list = values_clause.expr_list_list();
133
+ if (expr_list_list) {
134
+ return expr_list_list.flatMap(expr_list => traverse_expr_list(expr_list, dbSchema, fromColumns, traverseResult));
135
+ }
136
+ return [];
137
+ }
138
+ function traverse_expr_list(expr_list, dbSchema, fromColumns, traverseResult) {
139
+ const columns = expr_list.a_expr_list().map(a_expr => {
140
+ const notNull = traverse_a_expr(a_expr, dbSchema, fromColumns, traverseResult);
141
+ const result = {
142
+ column_name: a_expr.getText(),
143
+ is_nullable: !notNull,
144
+ table_name: '',
145
+ table_schema: ''
146
+ };
147
+ return result;
148
+ });
149
+ return columns;
150
+ }
151
+ function filterColumns_simple_select_pramary(simple_select_pramary, dbSchema, fromColumns, traverseResult) {
123
152
  const target_list_ = simple_select_pramary.target_list_();
124
153
  if (target_list_) {
125
154
  const target_list = target_list_.target_list();
126
155
  if (target_list) {
127
- return filterColumns_target_list(target_list, fromColumns, traverseResult);
156
+ return filterColumns_target_list(target_list, dbSchema, fromColumns, traverseResult);
128
157
  }
129
158
  }
130
159
  return [];
131
160
  }
132
- function filterColumns_target_list(target_list, fromColumns, traverseResult) {
161
+ function filterColumns_target_list(target_list, dbSchema, fromColumns, traverseResult) {
133
162
  const columns = target_list.target_el_list().flatMap(target_el => {
134
163
  const fieldName = (0, select_columns_1.splitName)(target_el.getText());
135
164
  if (fieldName.name == '*') {
136
165
  const columns = filterColumns(fromColumns, fieldName);
137
166
  return columns;
138
167
  }
139
- const column = isNotNull_target_el(target_el, fromColumns, traverseResult);
168
+ const column = isNotNull_target_el(target_el, dbSchema, fromColumns, traverseResult);
140
169
  return [column];
141
170
  });
142
171
  return columns;
143
172
  }
144
- function isNotNull_target_el(target_el, fromColumns, traverseResult) {
173
+ function isNotNull_target_el(target_el, dbSchema, fromColumns, traverseResult) {
145
174
  if (target_el instanceof PostgreSQLParser_1.Target_labelContext) {
146
175
  const a_expr = target_el.a_expr();
147
- const isNotNull = traverse_a_expr(a_expr, fromColumns, traverseResult);
176
+ const exprResult = traverse_a_expr(a_expr, dbSchema, fromColumns, traverseResult);
148
177
  const colLabel = target_el.colLabel();
149
178
  const alias = colLabel != null ? colLabel.getText() : '';
150
179
  const fieldName = (0, select_columns_1.splitName)(a_expr.getText());
151
180
  return {
152
181
  column_name: alias || fieldName.name,
153
- is_nullable: !isNotNull,
182
+ is_nullable: exprResult.is_nullable,
154
183
  table_name: fieldName.prefix,
155
184
  table_schema: ''
156
185
  };
157
186
  }
158
187
  throw Error('Column not found');
159
188
  }
160
- function traverse_a_expr(a_expr, fromColumns, traverseResult) {
189
+ function traverse_a_expr(a_expr, dbSchema, fromColumns, traverseResult) {
161
190
  const a_expr_qual = a_expr.a_expr_qual();
162
191
  if (a_expr_qual) {
163
- return traverse_a_expr_qual(a_expr_qual, fromColumns, traverseResult);
192
+ const notNull = traverse_a_expr_qual(a_expr_qual, dbSchema, fromColumns, traverseResult);
193
+ return notNull;
164
194
  }
165
- return false;
195
+ return {
196
+ column_name: '',
197
+ is_nullable: true
198
+ };
166
199
  }
167
- function traverse_a_expr_qual(a_expr_qual, fromColumns, traverseResult) {
200
+ function traverse_a_expr_qual(a_expr_qual, dbSchema, fromColumns, traverseResult) {
168
201
  const a_expr_lessless = a_expr_qual.a_expr_lessless();
169
202
  if (a_expr_lessless) {
170
- return traverse_a_expr_lessless(a_expr_lessless, fromColumns, traverseResult);
203
+ return traverse_a_expr_lessless(a_expr_lessless, dbSchema, fromColumns, traverseResult);
171
204
  }
172
- return false;
205
+ throw Error('traverse_a_expr_qual - Not expected:' + a_expr_qual.getText());
173
206
  }
174
- function traverse_a_expr_lessless(a_expr_lessless, fromColumns, traverseResult) {
207
+ function traverse_a_expr_lessless(a_expr_lessless, dbSchema, fromColumns, traverseResult) {
175
208
  const a_expr_or = a_expr_lessless.a_expr_or_list()[0];
176
209
  if (a_expr_or) {
177
- return traverse_expr_or(a_expr_or, fromColumns, traverseResult);
210
+ return traverse_expr_or(a_expr_or, dbSchema, fromColumns, traverseResult);
178
211
  }
179
- return false;
212
+ throw Error('traverse_a_expr_lessless - Not expected:' + a_expr_lessless.getText());
180
213
  }
181
- function traverse_expr_or(a_expr_or, fromColumns, traverseResult) {
214
+ function traverse_expr_or(a_expr_or, dbSchema, fromColumns, traverseResult) {
182
215
  const a_expr_and = a_expr_or.a_expr_and_list()[0];
183
216
  if (a_expr_and) {
184
- return traverse_expr_and(a_expr_and, fromColumns, traverseResult);
217
+ return traverse_expr_and(a_expr_and, dbSchema, fromColumns, traverseResult);
185
218
  }
186
- return false;
219
+ throw Error('traverse_expr_or - Not expected:' + a_expr_or.getText());
187
220
  }
188
- function traverse_expr_and(a_expr_and, fromColumns, traverseResult) {
221
+ function traverse_expr_and(a_expr_and, dbSchema, fromColumns, traverseResult) {
189
222
  const a_expr_between = a_expr_and.a_expr_between_list()[0];
190
223
  if (a_expr_between) {
191
- return traverse_expr_between(a_expr_between, fromColumns, traverseResult);
224
+ return traverse_expr_between(a_expr_between, dbSchema, fromColumns, traverseResult);
192
225
  }
193
- return false;
226
+ throw Error('traverse_expr_and - Not expected:' + a_expr_and.getText());
194
227
  }
195
- function traverse_expr_between(a_expr_between, fromColumns, traverseResult) {
228
+ function traverse_expr_between(a_expr_between, dbSchema, fromColumns, traverseResult) {
196
229
  const a_expr_in = a_expr_between.a_expr_in_list()[0];
197
230
  if (a_expr_in) {
198
- return traverse_expr_in(a_expr_in, fromColumns, traverseResult);
231
+ return traverse_expr_in(a_expr_in, dbSchema, fromColumns, traverseResult);
199
232
  }
200
- return false;
233
+ throw Error('traverse_expr_between - Not expected:' + a_expr_between.getText());
201
234
  }
202
- function traverse_expr_in(a_expr_in, fromColumns, traverseResult) {
235
+ function traverse_expr_in(a_expr_in, dbSchema, fromColumns, traverseResult) {
203
236
  const a_expr_unary = a_expr_in.a_expr_unary_not();
204
237
  if (a_expr_unary) {
205
- return traverse_expr_unary(a_expr_unary, fromColumns, traverseResult);
238
+ return traverse_expr_unary(a_expr_unary, dbSchema, fromColumns, traverseResult);
206
239
  }
207
- return false;
240
+ throw Error('traverse_expr_in - Not expected:' + a_expr_in.getText());
208
241
  }
209
- function traverse_expr_unary(a_expr_unary, fromColumns, traverseResult) {
242
+ function traverse_expr_unary(a_expr_unary, dbSchema, fromColumns, traverseResult) {
210
243
  const a_expr_isnull = a_expr_unary.a_expr_isnull();
211
244
  if (a_expr_isnull) {
212
- return traverse_expr_isnull(a_expr_isnull, fromColumns, traverseResult);
245
+ return traverse_expr_isnull(a_expr_isnull, dbSchema, fromColumns, traverseResult);
213
246
  }
214
- return false;
247
+ throw Error('traverse_expr_unary - Not expected:' + a_expr_unary.getText());
215
248
  }
216
- function traverse_expr_isnull(a_expr_isnull, fromColumns, traverseResult) {
249
+ function traverse_expr_isnull(a_expr_isnull, dbSchema, fromColumns, traverseResult) {
217
250
  const a_expr_is_not = a_expr_isnull.a_expr_is_not();
218
251
  if (a_expr_is_not) {
219
- return traverse_expr_is_not(a_expr_is_not, fromColumns, traverseResult);
252
+ return traverse_expr_is_not(a_expr_is_not, dbSchema, fromColumns, traverseResult);
220
253
  }
221
- return false;
254
+ throw Error('traverse_expr_isnull - Not expected:' + a_expr_isnull.getText());
222
255
  }
223
- function traverse_expr_is_not(a_expr_is_not, fromColumns, traverseResult) {
256
+ function traverse_expr_is_not(a_expr_is_not, dbSchema, fromColumns, traverseResult) {
224
257
  const a_expr_compare = a_expr_is_not.a_expr_compare();
225
258
  if (a_expr_compare) {
226
- return traverse_expr_compare(a_expr_compare, fromColumns, traverseResult);
259
+ return traverse_expr_compare(a_expr_compare, dbSchema, fromColumns, traverseResult);
227
260
  }
228
- return false;
261
+ throw Error('traverse_expr_is_not - Not expected:' + a_expr_is_not.getText());
229
262
  }
230
- function traverse_expr_compare(a_expr_compare, fromColumns, traverseResult) {
263
+ function traverse_expr_compare(a_expr_compare, dbSchema, fromColumns, traverseResult) {
231
264
  const a_expr_like = a_expr_compare.a_expr_like_list()[0];
232
265
  if (a_expr_like) {
233
- return traverse_expr_like(a_expr_like, fromColumns, traverseResult);
266
+ return traverse_expr_like(a_expr_like, dbSchema, fromColumns, traverseResult);
234
267
  }
235
- return false;
268
+ throw Error('traverse_expr_compare - Not expected:' + a_expr_compare.getText());
236
269
  }
237
- function traverse_expr_like(a_expr_like, fromColumns, traverseResult) {
270
+ function traverse_expr_like(a_expr_like, dbSchema, fromColumns, traverseResult) {
238
271
  const a_expr_qual_op = a_expr_like.a_expr_qual_op_list()[0];
239
272
  if (a_expr_qual_op) {
240
- return traverse_expr_qual_op(a_expr_qual_op, fromColumns, traverseResult);
273
+ return traverse_expr_qual_op(a_expr_qual_op, dbSchema, fromColumns, traverseResult);
241
274
  }
242
- return false;
275
+ throw Error('traverse_expr_like - Not expected:' + a_expr_like.getText());
243
276
  }
244
- function traverse_expr_qual_op(a_expr_qual_op, fromColumns, traverseResult) {
277
+ function traverse_expr_qual_op(a_expr_qual_op, dbSchema, fromColumns, traverseResult) {
245
278
  const a_expr_unary_qualop = a_expr_qual_op.a_expr_unary_qualop_list()[0];
246
279
  if (a_expr_unary_qualop) {
247
- return traverse_expr_unary_qualop(a_expr_unary_qualop, fromColumns, traverseResult);
280
+ return traverse_expr_unary_qualop(a_expr_unary_qualop, dbSchema, fromColumns, traverseResult);
248
281
  }
249
- return false;
282
+ throw Error('traverse_expr_qual_op - Not expected:' + a_expr_qual_op.getText());
250
283
  }
251
- function traverse_expr_unary_qualop(a_expr_unary_qualop, fromColumns, traverseResult) {
284
+ function traverse_expr_unary_qualop(a_expr_unary_qualop, dbSchema, fromColumns, traverseResult) {
252
285
  const a_expr_add = a_expr_unary_qualop.a_expr_add();
253
286
  if (a_expr_add) {
254
- const isNotNull = a_expr_add.a_expr_mul_list().every(a_expr_mul => traverse_expr_mul(a_expr_mul, fromColumns, traverseResult));
255
- return isNotNull;
287
+ const exprResult = a_expr_add.a_expr_mul_list().map(a_expr_mul => traverse_expr_mul(a_expr_mul, dbSchema, fromColumns, traverseResult));
288
+ const result = {
289
+ column_name: a_expr_unary_qualop.getText(),
290
+ is_nullable: exprResult.some(col => col.is_nullable)
291
+ };
292
+ return result;
256
293
  }
257
- return false;
294
+ throw Error('traverse_expr_unary_qualop - Not expected:' + a_expr_unary_qualop.getText());
258
295
  }
259
- function traverse_expr_mul(a_expr_mul, fromColumns, traverseResult) {
296
+ function traverse_expr_mul(a_expr_mul, dbSchema, fromColumns, traverseResult) {
260
297
  const a_expr_mul_list = a_expr_mul.a_expr_caret_list();
261
298
  if (a_expr_mul_list) {
262
- return a_expr_mul.a_expr_caret_list().every(a_expr_caret => traverse_expr_caret(a_expr_caret, fromColumns, traverseResult));
299
+ const notNullInfo = a_expr_mul.a_expr_caret_list().map(a_expr_caret => traverse_expr_caret(a_expr_caret, dbSchema, fromColumns, traverseResult));
300
+ const result = {
301
+ column_name: a_expr_mul.getText(),
302
+ is_nullable: notNullInfo.some(notNullInfo => notNullInfo.is_nullable)
303
+ };
304
+ return result;
263
305
  }
264
- return false;
306
+ throw Error('traverse_expr_mul - Not expected:' + a_expr_mul.getText());
265
307
  }
266
- function traverse_expr_caret(a_expr_caret, fromColumns, traverseResult) {
308
+ function traverse_expr_caret(a_expr_caret, dbSchema, fromColumns, traverseResult) {
267
309
  const a_expr_unary_sign_list = a_expr_caret.a_expr_unary_sign_list();
268
310
  if (a_expr_unary_sign_list) {
269
- return a_expr_caret.a_expr_unary_sign_list().every(a_expr_unary_sign => traverse_expr_unary_sign(a_expr_unary_sign, fromColumns, traverseResult));
270
- ;
311
+ const notNullInfo = a_expr_caret.a_expr_unary_sign_list()
312
+ .map(a_expr_unary_sign => traverse_expr_unary_sign(a_expr_unary_sign, dbSchema, fromColumns, traverseResult));
313
+ const result = {
314
+ column_name: a_expr_caret.getText(),
315
+ is_nullable: notNullInfo.some(notNullInfo => notNullInfo.is_nullable)
316
+ };
317
+ return result;
271
318
  }
272
- return false;
319
+ throw Error('traverse_expr_caret - Not expected:' + a_expr_caret.getText());
273
320
  }
274
- function traverse_expr_unary_sign(a_expr_unary_sign, fromColumns, traverseResult) {
321
+ function traverse_expr_unary_sign(a_expr_unary_sign, dbSchema, fromColumns, traverseResult) {
275
322
  const a_expr_at_time_zone = a_expr_unary_sign.a_expr_at_time_zone();
276
323
  if (a_expr_at_time_zone) {
277
- return traverse_expr_at_time_zone(a_expr_at_time_zone, fromColumns, traverseResult);
324
+ return traverse_expr_at_time_zone(a_expr_at_time_zone, dbSchema, fromColumns, traverseResult);
278
325
  }
279
- return false;
326
+ throw Error('traverse_expr_unary_sign - Not expected:' + a_expr_unary_sign.getText());
280
327
  }
281
- function traverse_expr_at_time_zone(a_expr_at_time_zone, fromColumns, traverseResult) {
328
+ function traverse_expr_at_time_zone(a_expr_at_time_zone, dbSchema, fromColumns, traverseResult) {
282
329
  const a_expr_collate = a_expr_at_time_zone.a_expr_collate();
283
330
  if (a_expr_collate) {
284
- return traverse_expr_collate(a_expr_collate, fromColumns, traverseResult);
331
+ return traverse_expr_collate(a_expr_collate, dbSchema, fromColumns, traverseResult);
285
332
  }
286
- return false;
333
+ throw Error('traverse_expr_at_time_zone - Not expected:' + a_expr_at_time_zone.getText());
287
334
  }
288
- function traverse_expr_collate(a_expr_collate, fromColumns, traverseResult) {
335
+ function traverse_expr_collate(a_expr_collate, dbSchema, fromColumns, traverseResult) {
289
336
  const a_expr_typecast = a_expr_collate.a_expr_typecast();
290
337
  if (a_expr_typecast) {
291
- return traverse_expr_typecast(a_expr_typecast, fromColumns, traverseResult);
338
+ return traverse_expr_typecast(a_expr_typecast, dbSchema, fromColumns, traverseResult);
292
339
  }
293
- return false;
340
+ throw Error('traverse_expr_collate - Not expected:' + a_expr_collate.getText());
294
341
  }
295
- function traverse_expr_typecast(a_expr_typecast, fromColumns, traverseResult) {
342
+ function traverse_expr_typecast(a_expr_typecast, dbSchema, fromColumns, traverseResult) {
296
343
  const c_expr = a_expr_typecast.c_expr();
297
344
  if (c_expr) {
298
- return traversec_expr(c_expr, fromColumns, traverseResult);
345
+ return traversec_expr(c_expr, dbSchema, fromColumns, traverseResult);
299
346
  }
300
- return false;
347
+ throw Error('traverse_expr_typecast - Not expected:' + a_expr_typecast.getText());
301
348
  }
302
- function traversec_expr(c_expr, fromColumns, traverseResult) {
349
+ function traversec_expr(c_expr, dbSchema, fromColumns, traverseResult) {
303
350
  var _a, _b;
304
351
  if (c_expr instanceof PostgreSQLParser_1.C_expr_exprContext) {
305
352
  const columnref = c_expr.columnref();
306
353
  if (columnref) {
307
354
  const fieldName = (0, select_columns_1.splitName)(columnref.getText());
308
355
  const col = findColumn(fieldName, fromColumns);
309
- return !col.is_nullable;
356
+ return col;
310
357
  }
311
358
  const aexprconst = c_expr.aexprconst();
312
359
  if (aexprconst) {
313
- return aexprconst.NULL_P() === null;
360
+ const is_nullable = aexprconst.NULL_P() != null;
361
+ return {
362
+ column_name: aexprconst.getText(),
363
+ is_nullable
364
+ };
314
365
  }
315
366
  if (c_expr.PARAM()) {
316
- traverseResult.parametersNullability.push(false);
367
+ traverseResult.parametersNullability.push(true);
368
+ return {
369
+ column_name: c_expr.PARAM().getText(),
370
+ is_nullable: false
371
+ };
317
372
  }
318
373
  const func_application = (_a = c_expr.func_expr()) === null || _a === void 0 ? void 0 : _a.func_application();
319
374
  if (func_application) {
320
- return traversefunc_application(func_application, fromColumns, traverseResult);
375
+ const isNotNull = traversefunc_application(func_application, dbSchema, fromColumns, traverseResult);
376
+ return {
377
+ column_name: func_application.getText(),
378
+ is_nullable: !isNotNull
379
+ };
321
380
  }
322
381
  const func_expr_common_subexpr = (_b = c_expr.func_expr()) === null || _b === void 0 ? void 0 : _b.func_expr_common_subexpr();
323
382
  if (func_expr_common_subexpr) {
324
- return traversefunc_expr_common_subexpr(func_expr_common_subexpr, fromColumns, traverseResult);
383
+ const isNotNull = traversefunc_expr_common_subexpr(func_expr_common_subexpr, dbSchema, fromColumns, traverseResult);
384
+ return {
385
+ column_name: func_expr_common_subexpr.getText(),
386
+ is_nullable: !isNotNull
387
+ };
388
+ }
389
+ const select_with_parens = c_expr.select_with_parens();
390
+ if (select_with_parens) {
391
+ traverse_select_with_parens(select_with_parens, dbSchema, fromColumns, traverseResult);
392
+ return {
393
+ column_name: select_with_parens.getText(),
394
+ is_nullable: true
395
+ };
396
+ }
397
+ const a_expr_in_parens = c_expr._a_expr_in_parens;
398
+ if (a_expr_in_parens) {
399
+ return traverse_a_expr(a_expr_in_parens, dbSchema, fromColumns, traverseResult);
325
400
  }
326
401
  }
327
402
  if (c_expr instanceof PostgreSQLParser_1.C_expr_caseContext) {
328
- return traversec_expr_case(c_expr, fromColumns, traverseResult);
403
+ const isNotNull = traversec_expr_case(c_expr, dbSchema, fromColumns, traverseResult);
404
+ return {
405
+ column_name: c_expr.getText(),
406
+ is_nullable: !isNotNull
407
+ };
329
408
  }
330
409
  if (c_expr instanceof PostgreSQLParser_1.C_expr_existsContext) {
331
410
  //todo - traverse
332
- return true;
411
+ return {
412
+ column_name: c_expr.getText(),
413
+ is_nullable: false
414
+ };
333
415
  }
334
- return false;
416
+ throw Error('traversec_expr - Not expected:' + c_expr.getText());
335
417
  }
336
418
  function filterColumns(fromColumns, fieldName) {
337
419
  return fromColumns.filter(col => (fieldName.prefix === '' || col.table_name === fieldName.prefix)
@@ -344,77 +426,96 @@ function excludeColumns(fromColumns, excludeList) {
344
426
  return !found;
345
427
  });
346
428
  }
347
- function traversec_expr_case(c_expr_case, fromColumns, traverseResult) {
429
+ function traversec_expr_case(c_expr_case, dbSchema, fromColumns, traverseResult) {
348
430
  var _a;
349
431
  const case_expr = c_expr_case.case_expr();
350
- const whenIsNotNull = case_expr.when_clause_list().when_clause_list().every(when_clause => traversewhen_clause(when_clause, fromColumns, traverseResult));
432
+ const whenIsNotNull = case_expr.when_clause_list().when_clause_list().every(when_clause => traversewhen_clause(when_clause, dbSchema, fromColumns, traverseResult));
351
433
  const elseExpr = (_a = case_expr.case_default()) === null || _a === void 0 ? void 0 : _a.a_expr();
352
- const elseIsNotNull = elseExpr ? traverse_a_expr(elseExpr, fromColumns, traverseResult) : false;
434
+ const elseIsNotNull = elseExpr ? !traverse_a_expr(elseExpr, dbSchema, fromColumns, traverseResult).is_nullable : false;
353
435
  return elseIsNotNull && whenIsNotNull;
354
436
  }
355
- function traversewhen_clause(when_clause, fromColumns, traverseResult) {
437
+ function traversewhen_clause(when_clause, dbSchema, fromColumns, traverseResult) {
356
438
  const a_expr_list = when_clause.a_expr_list();
357
439
  const thenExprList = a_expr_list.filter((_, index) => index % 2 == 1);
358
- return thenExprList.every(thenExpr => traverse_a_expr(thenExpr, fromColumns, traverseResult));
440
+ return thenExprList.every(thenExpr => traverse_a_expr(thenExpr, dbSchema, fromColumns, traverseResult));
359
441
  }
360
- function traversefunc_application(func_application, fromColumns, traverseResult) {
442
+ function traversefunc_application(func_application, dbSchema, fromColumns, traverseResult) {
443
+ var _a;
361
444
  const functionName = func_application.func_name().getText().toLowerCase();
445
+ const func_arg_expr_list = ((_a = func_application.func_arg_list()) === null || _a === void 0 ? void 0 : _a.func_arg_expr_list()) || [];
446
+ const argsResult = func_arg_expr_list.map(func_arg_expr => traversefunc_arg_expr(func_arg_expr, dbSchema, fromColumns, traverseResult));
362
447
  if (functionName === 'count') {
363
448
  return true;
364
449
  }
365
- if (functionName === 'concat') {
366
- const func_arg_expr_list = func_application.func_arg_list().func_arg_expr_list();
450
+ if (functionName === 'concat' || functionName === 'concat_ws') {
367
451
  if (func_arg_expr_list) {
368
- return func_arg_expr_list.every(func_arg_expr => traversefunc_arg_expr(func_arg_expr, fromColumns, traverseResult));
452
+ return argsResult.every(col => col);
369
453
  }
370
454
  return false;
371
455
  }
456
+ if (functionName === 'to_date') {
457
+ const firstArg = argsResult[0];
458
+ return firstArg;
459
+ }
372
460
  if (functionName === 'generate_series') {
373
461
  return true;
374
462
  }
463
+ if (func_arg_expr_list) {
464
+ func_arg_expr_list.forEach(func_arg_expr => traversefunc_arg_expr(func_arg_expr, dbSchema, fromColumns, traverseResult));
465
+ }
375
466
  return false;
376
467
  }
377
- function traversefunc_expr_common_subexpr(func_expr_common_subexpr, fromColumns, traverseResult) {
468
+ function traversefunc_expr_common_subexpr(func_expr_common_subexpr, dbSchema, fromColumns, traverseResult) {
378
469
  if (func_expr_common_subexpr.COALESCE()) {
379
470
  const func_arg_list = func_expr_common_subexpr.expr_list().a_expr_list();
380
- const result = func_arg_list.some(func_arg_expr => traverse_a_expr(func_arg_expr, fromColumns, traverseResult));
381
- return result;
471
+ const result = func_arg_list.map(func_arg_expr => {
472
+ const paramResult = traverse_a_expr(func_arg_expr, dbSchema, fromColumns, traverseResult);
473
+ if (isParameter(paramResult.column_name)) {
474
+ traverseResult.parametersNullability[traverseResult.parametersNullability.length - 1] = false;
475
+ paramResult.is_nullable = true;
476
+ }
477
+ return paramResult;
478
+ });
479
+ return result.some(col => !col.is_nullable);
382
480
  }
383
481
  if (func_expr_common_subexpr.EXTRACT()) {
384
482
  const a_expr = func_expr_common_subexpr.extract_list().a_expr();
385
- const result = traverse_a_expr(a_expr, fromColumns, traverseResult);
386
- return result;
483
+ const result = traverse_a_expr(a_expr, dbSchema, fromColumns, traverseResult);
484
+ return !result.is_nullable;
387
485
  }
388
486
  return false;
389
487
  }
390
- function traversefunc_arg_expr(func_arg_expr, fromColumns, traverseResult) {
488
+ function traversefunc_arg_expr(func_arg_expr, dbSchema, fromColumns, traverseResult) {
391
489
  const a_expr = func_arg_expr.a_expr();
392
- return traverse_a_expr(a_expr, fromColumns, traverseResult);
490
+ return !traverse_a_expr(a_expr, dbSchema, fromColumns, traverseResult).is_nullable;
393
491
  }
394
492
  function findColumn(fieldName, fromColumns) {
395
- const col = fromColumns.find(col => (fieldName.prefix === '' || col.table_name === fieldName.prefix) && col.column_name === fieldName.name);
493
+ const col = fromColumns.find(col => (fieldName.prefix === '' || col.table_name.toLowerCase() === fieldName.prefix.toLowerCase()) && col.column_name.toLowerCase() === fieldName.name.toLowerCase());
396
494
  if (col == null) {
397
- throw Error('Column not found: ' + fieldName);
495
+ throw Error('Column not found: ' + fieldNameToString(fieldName));
398
496
  }
399
497
  return col;
400
498
  }
499
+ function fieldNameToString(fieldName) {
500
+ return fieldName.prefix !== '' ? `${fieldName.prefix}.${fieldName.name}` : fieldName.name;
501
+ }
401
502
  function checkIsNullable(where_clause, field) {
402
503
  const isNotNullResult = !field.is_nullable || isNotNull(field, where_clause);
403
504
  const col = Object.assign(Object.assign({}, field), { is_nullable: !isNotNullResult });
404
505
  return col;
405
506
  }
406
- function traverse_from_clause(from_clause, dbSchema, traverseResult) {
507
+ function traverse_from_clause(from_clause, dbSchema, fromColumns, traverseResult) {
407
508
  const from_list = from_clause.from_list();
408
509
  if (from_list) {
409
- return traverse_from_list(from_list, dbSchema, traverseResult);
510
+ return traverse_from_list(from_list, dbSchema, fromColumns, traverseResult);
410
511
  }
411
512
  return [];
412
513
  }
413
- function traverse_from_list(from_list, dbSchema, traverseResult) {
414
- const fromColumns = from_list.table_ref_list().flatMap(table_ref => traverse_table_ref(table_ref, dbSchema, traverseResult));
415
- return fromColumns;
514
+ function traverse_from_list(from_list, dbSchema, fromColumns, traverseResult) {
515
+ const newColumns = from_list.table_ref_list().flatMap(table_ref => traverse_table_ref(table_ref, dbSchema, fromColumns, traverseResult));
516
+ return newColumns;
416
517
  }
417
- function traverse_table_ref(table_ref, dbSchema, traverseResult) {
518
+ function traverse_table_ref(table_ref, dbSchema, fromColumns, traverseResult) {
418
519
  const allColumns = [];
419
520
  const relation_expr = table_ref.relation_expr();
420
521
  const aliasClause = table_ref.alias_clause();
@@ -422,8 +523,8 @@ function traverse_table_ref(table_ref, dbSchema, traverseResult) {
422
523
  if (relation_expr) {
423
524
  const tableName = traverse_relation_expr(relation_expr, dbSchema);
424
525
  const tableNameWithAlias = alias ? alias : tableName;
425
- const fromColumns = dbSchema.filter(col => col.table_name === tableName).map(col => (Object.assign(Object.assign({}, col), { table_name: tableNameWithAlias })));
426
- allColumns.push(...fromColumns);
526
+ const fromColumnsResult = fromColumns.concat(dbSchema).filter(col => col.table_name === tableName).map(col => (Object.assign(Object.assign({}, col), { table_name: tableNameWithAlias })));
527
+ allColumns.push(...fromColumnsResult);
427
528
  }
428
529
  const table_ref_list = table_ref.table_ref_list();
429
530
  const join_type_list = table_ref.join_type_list();
@@ -432,7 +533,7 @@ function traverse_table_ref(table_ref, dbSchema, traverseResult) {
432
533
  const joinColumns = table_ref_list.flatMap((table_ref, joinIndex) => {
433
534
  const joinType = join_type_list[joinIndex]; //INNER, LEFT
434
535
  const joinQual = join_qual_list[joinIndex];
435
- const joinColumns = traverse_table_ref(table_ref, dbSchema, traverseResult);
536
+ const joinColumns = traverse_table_ref(table_ref, dbSchema, fromColumns, traverseResult);
436
537
  const isUsing = (joinQual === null || joinQual === void 0 ? void 0 : joinQual.USING()) ? true : false;
437
538
  const isLeftJoin = joinType === null || joinType === void 0 ? void 0 : joinType.LEFT();
438
539
  const filteredColumns = isUsing ? filterUsingColumns(joinColumns, joinQual) : joinColumns;
@@ -443,7 +544,7 @@ function traverse_table_ref(table_ref, dbSchema, traverseResult) {
443
544
  }
444
545
  const select_with_parens = table_ref.select_with_parens();
445
546
  if (select_with_parens) {
446
- const columns = traverse_select_with_parens(select_with_parens, dbSchema, traverseResult);
547
+ const columns = traverse_select_with_parens(select_with_parens, dbSchema, fromColumns, traverseResult);
447
548
  const withAlias = columns.map(col => (Object.assign(Object.assign({}, col), { table_name: alias || col.table_name })));
448
549
  return withAlias;
449
550
  }
@@ -454,14 +555,14 @@ function filterUsingColumns(fromColumns, joinQual) {
454
555
  const filteredColumns = excludeColumns(fromColumns, excludeList);
455
556
  return filteredColumns;
456
557
  }
457
- function traverse_select_with_parens(select_with_parens, dbSchema, traverseResult) {
558
+ function traverse_select_with_parens(select_with_parens, dbSchema, fromColumns, traverseResult) {
458
559
  const select_with_parens2 = select_with_parens.select_with_parens();
459
560
  if (select_with_parens2) {
460
- return traverse_select_with_parens(select_with_parens2, dbSchema, traverseResult);
561
+ return traverse_select_with_parens(select_with_parens2, dbSchema, fromColumns, traverseResult);
461
562
  }
462
563
  const select_no_parens = select_with_parens.select_no_parens();
463
564
  if (select_no_parens) {
464
- return traverse_select_no_parens(select_no_parens, dbSchema, traverseResult);
565
+ return traverse_select_no_parens(select_no_parens, dbSchema, fromColumns, traverseResult);
465
566
  }
466
567
  return [];
467
568
  }
@@ -521,16 +622,19 @@ function paramIsList(c_expr) {
521
622
  const a_expr_qual = a_expr_lessless === null || a_expr_lessless === void 0 ? void 0 : a_expr_lessless.parentCtx;
522
623
  const a_expr = a_expr_qual === null || a_expr_qual === void 0 ? void 0 : a_expr_qual.parentCtx;
523
624
  const expr_list = a_expr === null || a_expr === void 0 ? void 0 : a_expr.parentCtx;
524
- return expr_list instanceof PostgreSQLParser_1.Expr_listContext;
625
+ const in_expr_list = expr_list === null || expr_list === void 0 ? void 0 : expr_list.parentCtx;
626
+ return in_expr_list instanceof PostgreSQLParser_1.In_expr_listContext;
525
627
  }
526
628
  function traverseInsertstmt(insertstmt, dbSchema) {
527
629
  const insert_target = insertstmt.insert_target();
528
630
  const tableName = insert_target.getText();
529
631
  const insertColumns = dbSchema.filter(col => col.table_name === tableName);
530
632
  const insert_rest = insertstmt.insert_rest();
531
- const parametersNullability = insert_rest.insert_column_list()
633
+ const insertColumnsList = insert_rest.insert_column_list()
532
634
  .insert_column_item_list()
533
635
  .map(insert_column_item => traverse_insert_column_item(insert_column_item, insertColumns));
636
+ const selectstmt = insert_rest.selectstmt();
637
+ const parametersNullability = traverse_insert_select_stmt(selectstmt, dbSchema, insertColumnsList);
534
638
  return {
535
639
  queryType: 'Insert',
536
640
  parametersNullability,
@@ -538,6 +642,35 @@ function traverseInsertstmt(insertstmt, dbSchema) {
538
642
  parameterList: []
539
643
  };
540
644
  }
645
+ function traverse_insert_select_stmt(selectstmt, dbSchema, insertColumnlist) {
646
+ var _a, _b, _c, _d;
647
+ const simple_select = (_c = (_b = (_a = selectstmt.select_no_parens()) === null || _a === void 0 ? void 0 : _a.select_clause()) === null || _b === void 0 ? void 0 : _b.simple_select_intersect_list()) === null || _c === void 0 ? void 0 : _c[0];
648
+ if (simple_select) {
649
+ const simple_select_pramary = (_d = simple_select === null || simple_select === void 0 ? void 0 : simple_select.simple_select_pramary_list()) === null || _d === void 0 ? void 0 : _d[0];
650
+ if (simple_select_pramary) {
651
+ return simple_select_pramary.values_clause().expr_list_list()
652
+ .flatMap(expr_list => traverse_insert_a_expr_list(expr_list, dbSchema, insertColumnlist));
653
+ }
654
+ }
655
+ return [];
656
+ }
657
+ function traverse_insert_a_expr_list(expr_list, dbSchema, insertColumns) {
658
+ const parametersNullability = [];
659
+ expr_list.a_expr_list().forEach((a_expr, index) => {
660
+ const traverseResult = {
661
+ columnsNullability: [],
662
+ parametersNullability: []
663
+ };
664
+ const result = traverse_a_expr(a_expr, dbSchema, insertColumns, traverseResult);
665
+ if (isParameter(result.column_name)) {
666
+ parametersNullability.push(!insertColumns[index].is_nullable);
667
+ }
668
+ else {
669
+ parametersNullability.push(...traverseResult.parametersNullability);
670
+ }
671
+ });
672
+ return parametersNullability;
673
+ }
541
674
  function traverseDeletestmt(deleteStmt, dbSchema, traverseResult) {
542
675
  return {
543
676
  queryType: 'Delete',
@@ -551,12 +684,12 @@ function traverseUpdatestmt(updatestmt, dbSchema, traverseResult) {
551
684
  const tableName = relation_expr_opt_alias.getText();
552
685
  const updateColumns = dbSchema.filter(col => col.table_name === tableName);
553
686
  updatestmt.set_clause_list().set_clause_list()
554
- .map(set_clause => traverse_set_clause(set_clause, updateColumns, traverseResult));
687
+ .map(set_clause => traverse_set_clause(set_clause, dbSchema, updateColumns, traverseResult));
555
688
  const dataParameters = traverseResult.parametersNullability;
556
689
  const where_clause = updatestmt.where_or_current_clause();
557
690
  if (where_clause) {
558
691
  const a_expr = where_clause.a_expr();
559
- traverse_a_expr(a_expr, updateColumns, traverseResult);
692
+ traverse_a_expr(a_expr, dbSchema, updateColumns, traverseResult);
560
693
  }
561
694
  const whereParameters = traverseResult.parametersNullability.slice(dataParameters.length);
562
695
  return {
@@ -567,15 +700,14 @@ function traverseUpdatestmt(updatestmt, dbSchema, traverseResult) {
567
700
  whereParamtersNullability: whereParameters
568
701
  };
569
702
  }
570
- function traverse_set_clause(set_clause, updateColumns, traverseResult) {
703
+ function traverse_set_clause(set_clause, dbSchema, updateColumns, traverseResult) {
571
704
  const set_target = set_clause.set_target();
572
705
  const columnName = (0, select_columns_1.splitName)(set_target.getText());
573
706
  const column = findColumn(columnName, updateColumns);
574
707
  const a_expr = set_clause.a_expr();
575
- const paramsBefore = traverseResult.parametersNullability.length;
576
- traverse_a_expr(a_expr, updateColumns, traverseResult);
577
- for (let i = paramsBefore; i < traverseResult.parametersNullability.length; i++) {
578
- traverseResult.parametersNullability[i] = traverseResult.parametersNullability[i] || !column.is_nullable;
708
+ const a_exprResult = traverse_a_expr(a_expr, dbSchema, updateColumns, traverseResult);
709
+ if (isParameter(a_exprResult.column_name)) {
710
+ traverseResult.parametersNullability[traverseResult.parametersNullability.length - 1] = !column.is_nullable;
579
711
  }
580
712
  return !column.is_nullable;
581
713
  }
@@ -587,7 +719,7 @@ function isNotNull_colid(colid, dbSchema) {
587
719
  const columnName = colid.getText();
588
720
  const fieldName = (0, select_columns_1.splitName)(columnName);
589
721
  const column = findColumn(fieldName, dbSchema);
590
- return !column.is_nullable;
722
+ return column;
591
723
  }
592
724
  function isNotNull(field, where_clause) {
593
725
  const a_expr = where_clause.a_expr();
@@ -791,4 +923,9 @@ function checkLimit_select_no_parens(select_no_parens) {
791
923
  function checkLimit_select_with_parens(select_with_parens) {
792
924
  return checkLimit(select_with_parens);
793
925
  }
926
+ function isParameter(str) {
927
+ // Regular expression to match $1, $2, $123, etc. with optional casts (e.g. $1::int4)
928
+ const paramPattern = /^\$[0-9]+(::[a-zA-Z_][a-zA-Z0-9_]*)?$/;
929
+ return paramPattern.test(str);
930
+ }
794
931
  //# sourceMappingURL=traverse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/traverse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../../src/postgres-query-analyzer/traverse.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,15 @@ function getValueForType(paramIndex, typeOid, isList) {
54
54
  return `'1', '2'`;
55
55
  }
56
56
  return `'${paramIndex + 1}'`;
57
+ case 'date':
58
+ return `'${formatDate(new Date())}'`;
57
59
  }
58
60
  return '1';
59
61
  }
62
+ function formatDate(date) {
63
+ const year = date.getFullYear();
64
+ const month = String(date.getMonth() + 1).padStart(2, '0'); // Months are zero-indexed, so add 1
65
+ const day = String(date.getDate()).padStart(2, '0');
66
+ return `${year}-${month}-${day}`;
67
+ }
60
68
  //# sourceMappingURL=replace-list-params.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"replace-list-params.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/replace-list-params.ts"],"names":[],"mappings":";;AAGA,8CAgBC;AAED,sDAaC;AAED,0EAQC;AA5CD,mDAAqD;AAGrD,SAAgB,iBAAiB,CAAC,GAAW,EAAE,kBAA8C;IAC5F,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAClD,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,IAAI,aAAa,KAAK,CAAC,IAAI,kBAAkB,CAAC;QACpD,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM;YACN,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAgB,qBAAqB,CAAC,GAAW,EAAE,aAAwB,EAAE,WAAqB;IACjG,MAAM,UAAU,GAAG,UAAU,CAAC;IAE9B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,6BAA6B;QAEzE,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,kCAAkC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC;QACtE,CAAC;aAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAgB,+BAA+B,CAAC,GAAW,EAAE,YAAuB,EAAE,WAAqB;IAC1G,MAAM,UAAU,GAAG,UAAU,CAAC;IAE9B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB,EAAE,OAAe,EAAE,MAAe;IAC5E,QAAQ,wBAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,KAAK,MAAM;YACV,IAAI,MAAM,EAAE,CAAC;gBACZ,OAAO,MAAM,CAAC;YACf,CAAC;YACD,OAAO,GAAG,UAAU,MAAM,CAAC;QAC5B,KAAK,MAAM;YACV,IAAI,MAAM,EAAE,CAAC;gBACZ,OAAO,UAAU,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,UAAU,GAAG,CAAC,GAAG,CAAC;IAE/B,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"replace-list-params.js","sourceRoot":"","sources":["../../../src/sqlite-query-analyzer/replace-list-params.ts"],"names":[],"mappings":"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"}