@l-v-yonsama/multi-platform-database-drivers 0.1.30 → 0.1.32

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.
Files changed (149) hide show
  1. package/built/src/{db/drivers → drivers}/AwsS3Driver.d.ts +4 -3
  2. package/built/src/{db/drivers → drivers}/AwsS3Driver.js +49 -7
  3. package/built/src/drivers/AwsS3Driver.js.map +1 -0
  4. package/built/src/drivers/AwsSQSDriver.d.ts +27 -0
  5. package/built/src/drivers/AwsSQSDriver.js +140 -0
  6. package/built/src/drivers/AwsSQSDriver.js.map +1 -0
  7. package/built/src/{db/drivers → drivers}/BaseDriver.d.ts +4 -3
  8. package/built/src/{db/drivers → drivers}/BaseDriver.js +34 -5
  9. package/built/src/drivers/BaseDriver.js.map +1 -0
  10. package/built/src/drivers/DBDriverResolver.d.ts +12 -0
  11. package/built/src/{service → drivers}/DBDriverResolver.js +20 -32
  12. package/built/src/drivers/DBDriverResolver.js.map +1 -0
  13. package/built/src/drivers/DBError.js.map +1 -0
  14. package/built/src/{db/drivers → drivers}/MySQLDriver.d.ts +1 -1
  15. package/built/src/{db/drivers → drivers}/MySQLDriver.js +9 -7
  16. package/built/src/drivers/MySQLDriver.js.map +1 -0
  17. package/built/src/{db/drivers → drivers}/PostgresDriver.d.ts +2 -2
  18. package/built/src/{db/drivers → drivers}/PostgresDriver.js +8 -6
  19. package/built/src/drivers/PostgresDriver.js.map +1 -0
  20. package/built/src/{db/drivers → drivers}/RedisDriver.d.ts +4 -7
  21. package/built/src/{db/drivers → drivers}/RedisDriver.js +41 -100
  22. package/built/src/drivers/RedisDriver.js.map +1 -0
  23. package/built/src/{db/drivers → drivers}/index.d.ts +2 -0
  24. package/built/src/{db/drivers → drivers}/index.js +2 -0
  25. package/built/src/drivers/index.js.map +1 -0
  26. package/built/src/index.d.ts +2 -2
  27. package/built/src/index.js +2 -2
  28. package/built/src/index.js.map +1 -1
  29. package/built/src/{db/resource → resource}/DbResource.d.ts +33 -37
  30. package/built/src/{db/resource → resource}/DbResource.js +30 -95
  31. package/built/src/resource/DbResource.js.map +1 -0
  32. package/built/src/{db/resource → resource}/MultipleResultSetDataHolder.d.ts +1 -1
  33. package/built/src/{db/resource → resource}/MultipleResultSetDataHolder.js +1 -1
  34. package/built/src/resource/MultipleResultSetDataHolder.js.map +1 -0
  35. package/built/src/{db/resource → resource}/ResourceHelper.d.ts +1 -1
  36. package/built/src/resource/ResourceHelper.js.map +1 -0
  37. package/built/src/{db/resource → resource}/ResultSetDataHolder.d.ts +1 -1
  38. package/built/src/{db/resource → resource}/ResultSetDataHolder.js +2 -3
  39. package/built/src/resource/ResultSetDataHolder.js.map +1 -0
  40. package/built/src/{db/resource → resource}/index.d.ts +0 -1
  41. package/built/src/{db/resource → resource}/index.js +0 -1
  42. package/built/src/resource/index.js.map +1 -0
  43. package/built/src/types/AwsRegion.d.ts +30 -0
  44. package/built/src/types/AwsRegion.js +33 -0
  45. package/built/src/types/AwsRegion.js.map +1 -0
  46. package/built/src/{db/resource/types → types}/DBType.d.ts +1 -0
  47. package/built/src/{db/resource/types → types}/DBType.js +1 -0
  48. package/built/src/types/DBType.js.map +1 -0
  49. package/built/src/types/GeneralColumnType.js.map +1 -0
  50. package/built/src/{service/response/GeneralResponse.d.ts → types/GeneralResult.d.ts} +1 -1
  51. package/built/src/types/GeneralResult.js.map +1 -0
  52. package/built/src/types/MySQLColumnType.js.map +1 -0
  53. package/built/src/types/PostgresColumnType.js.map +1 -0
  54. package/built/src/types/RedisKeyType.d.ts +9 -0
  55. package/built/src/types/RedisKeyType.js +12 -0
  56. package/built/src/types/RedisKeyType.js.map +1 -0
  57. package/built/src/{db/resource/types → types}/ResourceType.d.ts +1 -0
  58. package/built/src/{db/resource/types → types}/ResourceType.js +1 -0
  59. package/built/src/types/ResourceType.js.map +1 -0
  60. package/built/src/types/ScanParams.d.ts +7 -0
  61. package/built/src/{service/response/result/ConnectionResult.js → types/ScanParams.js} +1 -1
  62. package/built/src/types/ScanParams.js.map +1 -0
  63. package/built/src/types/index.d.ts +7 -2
  64. package/built/src/types/index.js +7 -2
  65. package/built/src/types/index.js.map +1 -1
  66. package/package.json +4 -4
  67. package/built/src/db/DBError.js.map +0 -1
  68. package/built/src/db/drivers/AwsS3Driver.js.map +0 -1
  69. package/built/src/db/drivers/BaseDriver.js.map +0 -1
  70. package/built/src/db/drivers/MySQLDriver.js.map +0 -1
  71. package/built/src/db/drivers/PostgresDriver.js.map +0 -1
  72. package/built/src/db/drivers/RedisDriver.js.map +0 -1
  73. package/built/src/db/drivers/index.js.map +0 -1
  74. package/built/src/db/index.d.ts +0 -3
  75. package/built/src/db/index.js +0 -7
  76. package/built/src/db/index.js.map +0 -1
  77. package/built/src/db/resource/DbResource.js.map +0 -1
  78. package/built/src/db/resource/MultipleResultSetDataHolder.js.map +0 -1
  79. package/built/src/db/resource/ResourceHelper.js.map +0 -1
  80. package/built/src/db/resource/ResultSetDataHolder.js.map +0 -1
  81. package/built/src/db/resource/index.js.map +0 -1
  82. package/built/src/db/resource/types/DBType.js.map +0 -1
  83. package/built/src/db/resource/types/GeneralColumnType.js.map +0 -1
  84. package/built/src/db/resource/types/MySQLColumnType.js.map +0 -1
  85. package/built/src/db/resource/types/ODBCVendorType.d.ts +0 -3
  86. package/built/src/db/resource/types/ODBCVendorType.js +0 -8
  87. package/built/src/db/resource/types/ODBCVendorType.js.map +0 -1
  88. package/built/src/db/resource/types/PostgresColumnType.js.map +0 -1
  89. package/built/src/db/resource/types/RedisKeyType.d.ts +0 -12
  90. package/built/src/db/resource/types/RedisKeyType.js +0 -55
  91. package/built/src/db/resource/types/RedisKeyType.js.map +0 -1
  92. package/built/src/db/resource/types/ResourceType.js.map +0 -1
  93. package/built/src/db/resource/types/index.d.ts +0 -7
  94. package/built/src/db/resource/types/index.js +0 -11
  95. package/built/src/db/resource/types/index.js.map +0 -1
  96. package/built/src/service/DBAccessService.d.ts +0 -21
  97. package/built/src/service/DBAccessService.js +0 -359
  98. package/built/src/service/DBAccessService.js.map +0 -1
  99. package/built/src/service/DBDriverResolver.d.ts +0 -17
  100. package/built/src/service/DBDriverResolver.js.map +0 -1
  101. package/built/src/service/SQLService.d.ts +0 -5
  102. package/built/src/service/SQLService.js +0 -68
  103. package/built/src/service/SQLService.js.map +0 -1
  104. package/built/src/service/index.d.ts +0 -5
  105. package/built/src/service/index.js +0 -9
  106. package/built/src/service/index.js.map +0 -1
  107. package/built/src/service/request/RedisRequest.d.ts +0 -18
  108. package/built/src/service/request/RedisRequest.js +0 -14
  109. package/built/src/service/request/RedisRequest.js.map +0 -1
  110. package/built/src/service/request/S3Request.d.ts +0 -14
  111. package/built/src/service/request/S3Request.js +0 -12
  112. package/built/src/service/request/S3Request.js.map +0 -1
  113. package/built/src/service/request/index.d.ts +0 -80
  114. package/built/src/service/request/index.js +0 -23
  115. package/built/src/service/request/index.js.map +0 -1
  116. package/built/src/service/response/GeneralDBResponse.d.ts +0 -8
  117. package/built/src/service/response/GeneralDBResponse.js +0 -3
  118. package/built/src/service/response/GeneralDBResponse.js.map +0 -1
  119. package/built/src/service/response/GeneralResponse.js +0 -13
  120. package/built/src/service/response/GeneralResponse.js.map +0 -1
  121. package/built/src/service/response/index.d.ts +0 -3
  122. package/built/src/service/response/index.js +0 -7
  123. package/built/src/service/response/index.js.map +0 -1
  124. package/built/src/service/response/result/ConnectionResult.d.ts +0 -3
  125. package/built/src/service/response/result/ConnectionResult.js.map +0 -1
  126. package/built/src/service/response/result/GeneralResult.d.ts +0 -6
  127. package/built/src/service/response/result/GeneralResult.js.map +0 -1
  128. package/built/src/service/response/result/ProgressResult.d.ts +0 -7
  129. package/built/src/service/response/result/ProgressResult.js +0 -14
  130. package/built/src/service/response/result/ProgressResult.js.map +0 -1
  131. package/built/src/service/response/result/index.d.ts +0 -3
  132. package/built/src/service/response/result/index.js +0 -7
  133. package/built/src/service/response/result/index.js.map +0 -1
  134. package/built/src/types/DateModifiedType.d.ts +0 -14
  135. package/built/src/types/DateModifiedType.js +0 -68
  136. package/built/src/types/DateModifiedType.js.map +0 -1
  137. package/built/src/types/FileKindType.d.ts +0 -12
  138. package/built/src/types/FileKindType.js +0 -75
  139. package/built/src/types/FileKindType.js.map +0 -1
  140. /package/built/src/{db → drivers}/DBError.d.ts +0 -0
  141. /package/built/src/{db → drivers}/DBError.js +0 -0
  142. /package/built/src/{db/resource → resource}/ResourceHelper.js +0 -0
  143. /package/built/src/{db/resource/types → types}/GeneralColumnType.d.ts +0 -0
  144. /package/built/src/{db/resource/types → types}/GeneralColumnType.js +0 -0
  145. /package/built/src/{service/response/result → types}/GeneralResult.js +0 -0
  146. /package/built/src/{db/resource/types → types}/MySQLColumnType.d.ts +0 -0
  147. /package/built/src/{db/resource/types → types}/MySQLColumnType.js +0 -0
  148. /package/built/src/{db/resource/types → types}/PostgresColumnType.d.ts +0 -0
  149. /package/built/src/{db/resource/types → types}/PostgresColumnType.js +0 -0
@@ -1,6 +1,7 @@
1
- import { BaseDriver, RequestSqlOptions } from './BaseDriver';
2
- import { DbConnection, DbDatabase, TableRows, SchemaAndTableHints, ResultSetDataHolder } from '../resource';
3
1
  import { PutObjectCommandInput, S3Client, S3ClientConfig } from '@aws-sdk/client-s3';
2
+ import { BaseDriver, RequestSqlOptions } from './BaseDriver';
3
+ import { DbConnection, DbDatabase, DbKey, ResultSetDataHolder, S3KeyParams } from '../resource';
4
+ import { ScanParams } from '../types';
4
5
  export declare class AwsS3Driver extends BaseDriver {
5
6
  s3Client: S3Client;
6
7
  finder: any;
@@ -8,8 +9,8 @@ export declare class AwsS3Driver extends BaseDriver {
8
9
  constructor(conRes: DbConnection);
9
10
  connectSub(): Promise<string>;
10
11
  test(with_connect?: boolean): Promise<string>;
11
- countTables(tables: SchemaAndTableHints, options: any): Promise<TableRows[]>;
12
12
  abortSearch(): void;
13
+ scan(params: ScanParams): Promise<DbKey<S3KeyParams>[]>;
13
14
  getInfomationSchemas(options: {
14
15
  progress_callback?: Function | undefined;
15
16
  params?: any;
@@ -2,9 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AwsS3Driver = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const client_s3_1 = require("@aws-sdk/client-s3");
5
6
  const BaseDriver_1 = require("./BaseDriver");
6
7
  const resource_1 = require("../resource");
7
- const client_s3_1 = require("@aws-sdk/client-s3");
8
+ const types_1 = require("../types");
8
9
  class AwsS3Driver extends BaseDriver_1.BaseDriver {
9
10
  constructor(conRes) {
10
11
  super(conRes);
@@ -20,7 +21,7 @@ class AwsS3Driver extends BaseDriver_1.BaseDriver {
20
21
  accessKeyId: this.conRes.user,
21
22
  secretAccessKey: this.conRes.password,
22
23
  };
23
- if (this.conRes.dbType === resource_1.DBType.Minio) {
24
+ if (this.conRes.dbType === types_1.DBType.Minio) {
24
25
  this.config.endpoint = this.conRes.url;
25
26
  this.config.s3ForcePathStyle = 'true';
26
27
  }
@@ -49,16 +50,57 @@ class AwsS3Driver extends BaseDriver_1.BaseDriver {
49
50
  return errorReason;
50
51
  });
51
52
  }
52
- countTables(tables, options) {
53
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
54
- return new Array();
55
- });
56
- }
57
53
  abortSearch() {
58
54
  if (this.finder) {
59
55
  this.finder.abort();
60
56
  }
61
57
  }
58
+ scan(params) {
59
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
60
+ const { target, limit, keyword, withValue } = params;
61
+ let truncated = true;
62
+ let pageMarker;
63
+ const bucketParams = {
64
+ Bucket: target,
65
+ Prefix: keyword,
66
+ };
67
+ const list = [];
68
+ while (truncated) {
69
+ try {
70
+ bucketParams.MaxKeys = Math.min(1000, limit - list.length);
71
+ const response = yield this.s3Client.send(new client_s3_1.ListObjectsCommand(bucketParams));
72
+ response.Contents.forEach((item) => {
73
+ const key = new resource_1.DbKey(item.Key, {
74
+ etag: item.ETag,
75
+ size: item.Size,
76
+ storageClass: item.StorageClass,
77
+ lastModified: item.LastModified,
78
+ });
79
+ list.push(key);
80
+ });
81
+ truncated = response.IsTruncated;
82
+ if (truncated) {
83
+ pageMarker = response.Contents.slice(-1)[0].Key;
84
+ bucketParams.Marker = pageMarker;
85
+ }
86
+ }
87
+ catch (err) {
88
+ console.log('Error', err);
89
+ truncated = false;
90
+ }
91
+ }
92
+ if (withValue) {
93
+ const promises = list.map((it) => tslib_1.__awaiter(this, void 0, void 0, function* () {
94
+ it.params.base64 = yield this.getValueByKey({
95
+ bucket: target,
96
+ key: it.name,
97
+ });
98
+ }));
99
+ yield Promise.all(promises);
100
+ }
101
+ return list;
102
+ });
103
+ }
62
104
  getInfomationSchemas(options) {
63
105
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
64
106
  if (!this.conRes) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsS3Driver.js","sourceRoot":"","sources":["../../../src/drivers/AwsS3Driver.ts"],"names":[],"mappings":";;;;AAGA,kDAY4B;AAC5B,6CAA6D;AAC7D,0CAQqB;AACrB,oCAA8C;AAE9C,MAAa,WAAY,SAAQ,uBAAU;IAKzC,YAAY,MAAoB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAEK,UAAU;;YACd,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;YAEjC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBACtB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;aACzC;YAED,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG;gBACxB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBAC7B,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;aACtC,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,cAAM,CAAC,KAAK,EAAE;gBACjC,IAAI,CAAC,MAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBACxC,IAAI,CAAC,MAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC;aAC9C;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE1C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;KAAA;IAEK,IAAI,CAAC,YAAY,GAAG,KAAK;;YAC7B,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,YAAY,EAAE;gBAChB,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;aACpC;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI;oBACF,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,8BAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;iBAChE;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACjB,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC;iBACzB;aACF;YAED,IAAI,YAAY,EAAE;gBAChB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;aACzB;YAED,OAAO,WAAW,CAAC;QACrB,CAAC;KAAA;IAYD,WAAW;QACT,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;SACrB;IACH,CAAC;IAwIK,IAAI,CAAC,MAAkB;;YAC3B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;YAGrD,IAAI,SAAS,GAAG,IAAI,CAAC;YAErB,IAAI,UAAU,CAAC;YAEf,MAAM,YAAY,GAA4B;gBAC5C,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,OAAO;aAChB,CAAC;YAEF,MAAM,IAAI,GAAyB,EAAE,CAAC;YACtC,OAAO,SAAS,EAAE;gBAChB,IAAI;oBACF,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACvC,IAAI,8BAAkB,CAAC,YAAY,CAAC,CACrC,CAAC;oBAEF,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBACjC,MAAM,GAAG,GAAG,IAAI,gBAAK,CAAc,IAAI,CAAC,GAAG,EAAE;4BAC3C,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,YAAY,EAAE,IAAI,CAAC,YAAY;4BAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;yBAChC,CAAC,CAAC;wBACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACjB,CAAC,CAAC,CAAC;oBAEH,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC;oBAEjC,IAAI,SAAS,EAAE;wBACb,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;wBAEhD,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC;qBAClC;iBACF;gBAAC,OAAO,GAAG,EAAE;oBACZ,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBAC1B,SAAS,GAAG,KAAK,CAAC;iBACnB;aACF;YAED,IAAI,SAAS,EAAE;gBACb,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAO,EAAE,EAAE,EAAE;oBACrC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC;wBAC1C,MAAM,EAAE,MAAM;wBACd,GAAG,EAAE,EAAE,CAAC,IAAI;qBACb,CAAC,CAAC;gBACL,CAAC,CAAA,CAAC,CAAC;gBACH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC7B;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAoBK,oBAAoB,CAAC,OAG1B;;YACC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,OAAO,EAAE,CAAC;aACX;YACD,MAAM,WAAW,GAAG,IAAI,KAAK,EAAc,CAAC;YAC5C,MAAM,UAAU,GAAG,IAAI,qBAAU,CAAC,IAAI,CAAC,CAAC;YACxC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE7B,IAAI;gBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,8BAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrE,IAAI,OAAO,CAAC,OAAO,EAAE;oBACnB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE;wBACpC,MAAM,QAAQ,GAAG,IAAI,qBAAU,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;wBAClE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBAC/B;iBACF;gBACD,IAAI,OAAO,CAAC,KAAK,EAAE;oBACjB,MAAM,OAAO,GAAG,IAAI,oBAAS,CAC3B,OAAO,CAAC,KAAK,CAAC,EAAE,EAChB,OAAO,CAAC,KAAK,CAAC,WAAW,CAC1B,CAAC;oBACF,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAC9B;qBAAM;iBAEN;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAElB;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;KAAA;IACK,UAAU,CACd,GAAW,EACX,OAA2B;;YAE3B,OAAO,IAAI,8BAAmB,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;KAAA;IAyCK,YAAY,CAAC,EAAE,MAAM,EAAsB;;YAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,+BAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC;KAAA;IAEK,aAAa,CAAC,EAClB,MAAM,EACN,GAAG,GAIJ;;YAEC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACnC,IAAI,4BAAgB,CAAC;gBACnB,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,GAAG;aACT,CAAC,CACH,CAAC;YACF,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,CAAC;KAAA;IAEK,SAAS,CAAC,EACd,MAAM,EACN,GAAG,EACH,IAAI,GAKL;;YACC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACtB,IAAI,4BAAgB,CAAC;gBACnB,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,GAAG;gBACR,IAAI,EAAE,IAAI;aACX,CAAC,CACH,CAAC;QACJ,CAAC;KAAA;IAEK,YAAY,CAAC,EAAE,MAAM,EAAsB;;YAC/C,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,+BAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC;KAAA;IAEK,gBAAgB,CAAC,EAAE,MAAM,EAAsB;;YACnD,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,IAAI,UAAU,CAAC;YACf,MAAM,YAAY,GAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAE7C,OAAO,SAAS,EAAE;gBAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACvC,IAAI,8BAAkB,CAAC,YAAY,CAAC,CACrC,CAAC;gBAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACnC,IAAI,+BAAmB,CAAC;wBACtB,MAAM,EAAE,MAAM;wBACd,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CACH,CAAC;iBACH;gBAED,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC;gBAEjC,IAAI,SAAS,EAAE;oBACb,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBAEhD,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC;iBAClC;aAEF;QACH,CAAC;KAAA;IAEK,QAAQ;;YACZ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aACzB;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;KAAA;CACF;AApbD,kCAobC"}
@@ -0,0 +1,27 @@
1
+ import { SQSClient, SQSClientConfig } from '@aws-sdk/client-sqs';
2
+ import { BaseDriver, RequestSqlOptions } from './BaseDriver';
3
+ import { DbConnection, DbDatabase, DbKey, ResultSetDataHolder, SQSMessageParams, SchemaAndTableHints, TableRows } from '../resource';
4
+ import { ScanParams } from '../types';
5
+ export declare class AwsSQSDriver extends BaseDriver {
6
+ countTables(tables: SchemaAndTableHints, options: any): Promise<TableRows[]>;
7
+ sqsClient: SQSClient;
8
+ finder: any;
9
+ config: SQSClientConfig;
10
+ constructor(conRes: DbConnection);
11
+ connectSub(): Promise<string>;
12
+ test(with_connect?: boolean): Promise<string>;
13
+ abortSearch(): void;
14
+ scan(params: ScanParams): Promise<DbKey<SQSMessageParams>[]>;
15
+ getInfomationSchemas(options: {
16
+ progress_callback?: Function | undefined;
17
+ params?: any;
18
+ }): Promise<Array<DbDatabase>>;
19
+ requestSql(sql: string, options?: RequestSqlOptions): Promise<ResultSetDataHolder>;
20
+ createQueue({ name }: {
21
+ name: string;
22
+ }): Promise<void>;
23
+ removeQueue({ url }: {
24
+ url: string;
25
+ }): Promise<void>;
26
+ closeSub(): Promise<string>;
27
+ }
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AwsSQSDriver = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const client_sqs_1 = require("@aws-sdk/client-sqs");
6
+ const url = tslib_1.__importStar(require("url"));
7
+ const BaseDriver_1 = require("./BaseDriver");
8
+ const resource_1 = require("../resource");
9
+ const types_1 = require("../types");
10
+ class AwsSQSDriver extends BaseDriver_1.BaseDriver {
11
+ countTables(tables, options) {
12
+ throw new Error('Method not implemented.');
13
+ }
14
+ constructor(conRes) {
15
+ super(conRes);
16
+ }
17
+ connectSub() {
18
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
19
+ this.config = {};
20
+ this.config.region = types_1.AwsRegion.usWest1;
21
+ if (this.conRes.region) {
22
+ this.config.region = this.conRes.region;
23
+ }
24
+ this.config.credentials = {
25
+ accessKeyId: this.conRes.user,
26
+ secretAccessKey: this.conRes.password,
27
+ };
28
+ if (this.conRes.url) {
29
+ this.config.endpoint = this.conRes.url;
30
+ }
31
+ this.sqsClient = new client_sqs_1.SQSClient(this.config);
32
+ return this.test(false);
33
+ });
34
+ }
35
+ test(with_connect = false) {
36
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
37
+ let errorReason = '';
38
+ if (with_connect) {
39
+ errorReason = yield this.connect();
40
+ }
41
+ if (this.sqsClient) {
42
+ try {
43
+ const a = yield this.sqsClient.send(new client_sqs_1.ListQueuesCommand({ MaxResults: 1 }));
44
+ }
45
+ catch (e) {
46
+ errorReason = e.message;
47
+ }
48
+ }
49
+ if (with_connect) {
50
+ yield this.disconnect();
51
+ }
52
+ return errorReason;
53
+ });
54
+ }
55
+ abortSearch() {
56
+ if (this.finder) {
57
+ this.finder.abort();
58
+ }
59
+ }
60
+ scan(params) {
61
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
62
+ const { target, limit, keyword } = params;
63
+ const result = yield this.sqsClient.send(new client_sqs_1.ReceiveMessageCommand({
64
+ QueueUrl: target,
65
+ MaxNumberOfMessages: limit,
66
+ }));
67
+ let messages = result.Messages;
68
+ if (keyword) {
69
+ messages = messages.filter((it) => it.Body.includes(keyword) || it.MessageId.includes(keyword));
70
+ }
71
+ return messages.map((it) => {
72
+ const params = {
73
+ body: it.Body,
74
+ receiptHandle: it.ReceiptHandle,
75
+ md5OfBody: it.MD5OfBody,
76
+ };
77
+ return new resource_1.DbKey(it.MessageId, params);
78
+ });
79
+ });
80
+ }
81
+ getInfomationSchemas(options) {
82
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
83
+ if (!this.conRes) {
84
+ return [];
85
+ }
86
+ const dbResources = new Array();
87
+ const dbDatabase = new resource_1.DbDatabase('SQS');
88
+ dbResources.push(dbDatabase);
89
+ try {
90
+ let NextToken = undefined;
91
+ do {
92
+ const queues = yield this.sqsClient.send(new client_sqs_1.ListQueuesCommand({ MaxResults: 1000, NextToken }));
93
+ if (queues.QueueUrls) {
94
+ for (const queueUrl of queues.QueueUrls) {
95
+ const name = url.parse(queueUrl).pathname;
96
+ const attr = yield this.sqsClient.send(new client_sqs_1.GetQueueAttributesCommand({
97
+ QueueUrl: queueUrl,
98
+ AttributeNames: ['All'],
99
+ }));
100
+ const attributes = attr === null || attr === void 0 ? void 0 : attr.Attributes;
101
+ const dbQueue = new resource_1.DbSQSQueue(name, queueUrl, attributes);
102
+ dbDatabase.addChild(dbQueue);
103
+ }
104
+ }
105
+ NextToken = queues.NextToken;
106
+ } while (NextToken);
107
+ dbDatabase.comment = `${dbDatabase.getChildren().length} queues`;
108
+ }
109
+ catch (e) {
110
+ console.error(e);
111
+ }
112
+ return dbResources;
113
+ });
114
+ }
115
+ requestSql(sql, options) {
116
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
117
+ return new resource_1.ResultSetDataHolder([]);
118
+ });
119
+ }
120
+ createQueue({ name }) {
121
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
122
+ yield this.sqsClient.send(new client_sqs_1.CreateQueueCommand({ QueueName: name }));
123
+ });
124
+ }
125
+ removeQueue({ url }) {
126
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
127
+ yield this.sqsClient.send(new client_sqs_1.DeleteQueueCommand({ QueueUrl: url }));
128
+ });
129
+ }
130
+ closeSub() {
131
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
132
+ if (this.sqsClient) {
133
+ this.sqsClient.destroy();
134
+ }
135
+ return '';
136
+ });
137
+ }
138
+ }
139
+ exports.AwsSQSDriver = AwsSQSDriver;
140
+ //# sourceMappingURL=AwsSQSDriver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AwsSQSDriver.js","sourceRoot":"","sources":["../../../src/drivers/AwsSQSDriver.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { DBError } from '../DBError';
2
- import { DbConnection, ColumnResolver, DbColumn, SchemaAndTableHints, TableRows, DbDatabase, ResultSetDataHolder } from '../resource';
1
+ import { ColumnResolver, DbColumn, DbConnection, DbDatabase, ResultSetDataHolder, SchemaAndTableHints } from '../resource';
2
+ import { GeneralResult } from '../types';
3
+ import { DBError } from './DBError';
3
4
  export declare abstract class BaseDriver {
4
5
  isConnected: boolean;
5
6
  protected conRes: DbConnection;
@@ -13,6 +14,7 @@ export declare abstract class BaseDriver {
13
14
  isQuery(sql: string): boolean;
14
15
  createColumnResolver(sql?: string): ColumnResolver;
15
16
  parseSchemaAndTableHints(sql: string): SchemaAndTableHints;
17
+ flow<T = any>(f: () => Promise<T>): Promise<GeneralResult<T>>;
16
18
  resetDefaultSchema(database: DbDatabase): void;
17
19
  resolveColumn(column: string, resolver?: ColumnResolver): DbColumn | undefined;
18
20
  resolveColumnComment(column: string, resolver?: ColumnResolver): string;
@@ -26,7 +28,6 @@ export declare abstract class BaseDriver {
26
28
  params?: any;
27
29
  }): Promise<Array<DbDatabase>>;
28
30
  abstract test(with_connect: boolean): Promise<string>;
29
- abstract countTables(tables: SchemaAndTableHints, options: any): Promise<TableRows[]>;
30
31
  abstract requestSql(sql: string, options?: RequestSqlOptions): Promise<ResultSetDataHolder>;
31
32
  createDBError(message: string, sourceError: any): DBError;
32
33
  }
@@ -2,11 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseDriver = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const DBError_1 = require("../DBError");
6
- const resource_1 = require("../resource");
7
5
  const tunnel = tslib_1.__importStar(require("tunnel-ssh"));
8
6
  const get_port_please_1 = require("get-port-please");
9
7
  const fs = tslib_1.__importStar(require("fs"));
8
+ const resource_1 = require("../resource");
9
+ const types_1 = require("../types");
10
+ const DBError_1 = require("./DBError");
10
11
  class BaseDriver {
11
12
  constructor(conRes) {
12
13
  this.conRes = conRes;
@@ -50,6 +51,34 @@ class BaseDriver {
50
51
  }
51
52
  return ret;
52
53
  }
54
+ flow(f) {
55
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
56
+ let ok = true;
57
+ let message = yield this.connect();
58
+ let result;
59
+ if (message) {
60
+ return {
61
+ ok: false,
62
+ message,
63
+ };
64
+ }
65
+ try {
66
+ result = yield f();
67
+ }
68
+ catch (e) {
69
+ ok = false;
70
+ message = e.message;
71
+ }
72
+ finally {
73
+ yield this.disconnect();
74
+ }
75
+ return {
76
+ ok,
77
+ message,
78
+ result,
79
+ };
80
+ });
81
+ }
53
82
  resetDefaultSchema(database) {
54
83
  const searchNames = [];
55
84
  if (this.conRes.database) {
@@ -61,7 +90,7 @@ class BaseDriver {
61
90
  searchNames.push('public');
62
91
  for (const searchName of searchNames) {
63
92
  const child = database.getChildByName(searchName, {
64
- resouceType: resource_1.ResourceType.Schema,
93
+ resouceType: types_1.ResourceType.Schema,
65
94
  });
66
95
  if (child) {
67
96
  child.isDefault = true;
@@ -70,7 +99,7 @@ class BaseDriver {
70
99
  }
71
100
  const child = database
72
101
  .getChildren()
73
- .find((it) => it.getResouceType() === resource_1.ResourceType.Schema);
102
+ .find((it) => it.getResouceType() === types_1.ResourceType.Schema);
74
103
  if (child) {
75
104
  child.isDefault = true;
76
105
  }
@@ -82,7 +111,7 @@ class BaseDriver {
82
111
  if (this.conRes) {
83
112
  for (let i = 0; i < resolver.hints.list.length; i++) {
84
113
  const hints = resolver.hints.list[i];
85
- const t = resource_1.ResourceHelper.findResource(this.conRes, resource_1.ResourceType.Table, hints.table);
114
+ const t = resource_1.ResourceHelper.findResource(this.conRes, types_1.ResourceType.Table, hints.table);
86
115
  if (t) {
87
116
  return t.getChildByName(column, { unwrapQuote: true });
88
117
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseDriver.js","sourceRoot":"","sources":["../../../src/drivers/BaseDriver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { BaseDriver } from './BaseDriver';
2
+ import { ConnectionSetting } from '../resource';
3
+ export declare class DBDriverResolver {
4
+ private driverMap;
5
+ private static instance;
6
+ static getInstance(): DBDriverResolver;
7
+ private constructor();
8
+ getDriverById(connectionId: string): BaseDriver;
9
+ createDriver<T extends BaseDriver>(setting: ConnectionSetting): T;
10
+ removeDriver(driver: BaseDriver): void;
11
+ closeAll(): Promise<string>;
12
+ }
@@ -2,8 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DBDriverResolver = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const db_1 = require("../db");
6
5
  const short_unique_id_1 = tslib_1.__importDefault(require("short-unique-id"));
6
+ const resource_1 = require("../resource");
7
+ const types_1 = require("../types");
8
+ const MySQLDriver_1 = require("./MySQLDriver");
9
+ const PostgresDriver_1 = require("./PostgresDriver");
10
+ const RedisDriver_1 = require("./RedisDriver");
11
+ const AwsS3Driver_1 = require("./AwsS3Driver");
12
+ const AwsSQSDriver_1 = require("./AwsSQSDriver");
7
13
  const uid = new short_unique_id_1.default();
8
14
  class DBDriverResolver {
9
15
  static getInstance() {
@@ -13,28 +19,8 @@ class DBDriverResolver {
13
19
  return this.instance;
14
20
  }
15
21
  constructor() {
16
- this.connectionList = new Array();
17
- this.connectionSettingList = new Array();
18
22
  this.driverMap = new Map();
19
23
  }
20
- addConnectionSetting(setting) {
21
- if (this.connectionSettingList.some((it) => it.name === setting.name)) {
22
- return;
23
- }
24
- this.connectionSettingList.push(setting);
25
- }
26
- removeConnectionSettingByName(name) {
27
- const idx = this.connectionSettingList.findIndex((it) => it.name === name);
28
- if (idx >= 0) {
29
- this.connectionSettingList.splice(idx, 1);
30
- }
31
- }
32
- getConResList() {
33
- return this.connectionList;
34
- }
35
- getSettingByName(defName) {
36
- return this.connectionSettingList.find((def) => def.name === defName);
37
- }
38
24
  getDriverById(connectionId) {
39
25
  if (!this.driverMap.has(connectionId)) {
40
26
  throw new Error(`Connection resource for 'ID:${connectionId}' not found.`);
@@ -42,26 +28,28 @@ class DBDriverResolver {
42
28
  return this.driverMap.get(connectionId);
43
29
  }
44
30
  createDriver(setting) {
45
- const conRes = new db_1.DbConnection(Object.assign(Object.assign({}, setting), { id: uid.randomUUID(8) }));
31
+ const conRes = new resource_1.DbConnection(Object.assign(Object.assign({}, setting), { id: uid.randomUUID(8) }));
46
32
  let driver = undefined;
47
33
  switch (conRes.dbType) {
48
- case db_1.DBType.MySQL:
49
- driver = new db_1.MySQLDriver(conRes);
34
+ case types_1.DBType.MySQL:
35
+ driver = new MySQLDriver_1.MySQLDriver(conRes);
36
+ break;
37
+ case types_1.DBType.Postgres:
38
+ driver = new PostgresDriver_1.PostgresDriver(conRes);
50
39
  break;
51
- case db_1.DBType.Postgres:
52
- driver = new db_1.PostgresDriver(conRes);
40
+ case types_1.DBType.Redis:
41
+ driver = new RedisDriver_1.RedisDriver(conRes);
53
42
  break;
54
- case db_1.DBType.Redis:
55
- driver = new db_1.RedisDriver(conRes);
43
+ case types_1.DBType.AwsS3:
44
+ case types_1.DBType.Minio:
45
+ driver = new AwsS3Driver_1.AwsS3Driver(conRes);
56
46
  break;
57
- case db_1.DBType.AwsS3:
58
- case db_1.DBType.Minio:
59
- driver = new db_1.AwsS3Driver(conRes);
47
+ case types_1.DBType.AwsSQS:
48
+ driver = new AwsSQSDriver_1.AwsSQSDriver(conRes);
60
49
  break;
61
50
  default:
62
51
  throw new Error(`${conRes.dbType} is not supported.`);
63
52
  }
64
- this.connectionList.push(conRes);
65
53
  this.driverMap.set(conRes.id, driver);
66
54
  return driver;
67
55
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DBDriverResolver.js","sourceRoot":"","sources":["../../../src/drivers/DBDriverResolver.ts"],"names":[],"mappings":";;;;AAAA,8EAA4C;AAE5C,0CAA8D;AAC9D,oCAAkC;AAClC,+CAA4C;AAC5C,qDAAkD;AAClD,+CAA4C;AAC5C,+CAA4C;AAC5C,iDAA8C;AAE9C,MAAM,GAAG,GAAG,IAAI,yBAAa,EAAE,CAAC;AAEhC,MAAa,gBAAgB;IAK3B,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;SACxC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAGD;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;IACjD,CAAC;IAED,aAAa,CAAC,YAAoB;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACrC,MAAM,IAAI,KAAK,CACb,+BAA+B,YAAY,cAAc,CAC1D,CAAC;SACH;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,YAAY,CAAuB,OAA0B;QAC3D,MAAM,MAAM,GAAG,IAAI,uBAAY,iCAC1B,OAAO,KACV,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IACrB,CAAC;QAEH,IAAI,MAAM,GAAG,SAAS,CAAC;QACvB,QAAQ,MAAM,CAAC,MAAM,EAAE;YAIrB,KAAK,cAAM,CAAC,KAAK;gBACf,MAAM,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,cAAM,CAAC,QAAQ;gBAClB,MAAM,GAAG,IAAI,+BAAc,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,cAAM,CAAC,KAAK;gBACf,MAAM,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM;YAIR,KAAK,cAAM,CAAC,KAAK,CAAC;YAClB,KAAK,cAAM,CAAC,KAAK;gBACf,MAAM,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,cAAM,CAAC,MAAM;gBAChB,MAAM,GAAG,IAAI,2BAAY,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM;YAOR;gBACE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,oBAAoB,CAAC,CAAC;SACzD;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,MAAkB;QAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAEK,QAAQ;;YACZ,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAO,MAAkB,EAAE,EAAE;gBAClD,IAAI;oBACF,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;iBAC3B;gBAAC,OAAO,CAAC,EAAE;oBACV,YAAY,IAAI,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;iBAClC;YACH,CAAC,CAAA,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO,YAAY,CAAC;QACtB,CAAC;KAAA;CACF;AArFD,4CAqFC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DBError.js","sourceRoot":"","sources":["../../../src/drivers/DBError.ts"],"names":[],"mappings":";;;AAAA,MAAa,OAAQ,SAAQ,KAAK;IAMhC,YACE,OAAY,EACZ,IAAS,EACT,KAAU,EACV,UAAe,EACf,QAAa;QAEb,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,UAAU,EAAE;YACjD,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SACjD;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;SACvC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAzBD,0BAyBC"}
@@ -1,5 +1,5 @@
1
1
  import { BaseDriver, RequestSqlOptions } from './BaseDriver';
2
- import { ResultSetDataHolder, RdhKey, DbConnection, DbDatabase, DbSchema, DbTable, DbColumn, ColumnResolver, TableRows, SchemaAndTableHints } from '../resource';
2
+ import { ColumnResolver, DbColumn, DbConnection, DbDatabase, DbSchema, DbTable, RdhKey, ResultSetDataHolder, SchemaAndTableHints, TableRows } from '../resource';
3
3
  export declare class MySQLDriver extends BaseDriver {
4
4
  private client;
5
5
  constructor(conRes: DbConnection);
@@ -2,10 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MySQLDriver = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const BaseDriver_1 = require("./BaseDriver");
6
5
  const mysql = tslib_1.__importStar(require("mysql2/promise"));
7
- const resource_1 = require("../resource");
8
6
  const enum_values_1 = require("enum-values");
7
+ const MySQLColumnType_1 = require("../types/MySQLColumnType");
8
+ const BaseDriver_1 = require("./BaseDriver");
9
+ const resource_1 = require("../resource");
10
+ const types_1 = require("../types");
9
11
  class MySQLDriver extends BaseDriver_1.BaseDriver {
10
12
  constructor(conRes) {
11
13
  super(conRes);
@@ -14,9 +16,9 @@ class MySQLDriver extends BaseDriver_1.BaseDriver {
14
16
  if (resolver) {
15
17
  resolver.hints.list.push({ table: fieldInfo.orgTable });
16
18
  }
17
- const name = enum_values_1.EnumValues.getNameFromValue(resource_1.MySQLColumnType, resource_1.MySQLColumnType.parseByFieldInfo(fieldInfo));
18
- const key = new resource_1.RdhKey(fieldInfo.name, resource_1.GeneralColumnType.parse(name), super.resolveColumnComment(fieldInfo.orgName, resolver));
19
- if (key.type === resource_1.GeneralColumnType.UNKNOWN) {
19
+ const name = enum_values_1.EnumValues.getNameFromValue(MySQLColumnType_1.MySQLColumnType, MySQLColumnType_1.MySQLColumnType.parseByFieldInfo(fieldInfo));
20
+ const key = new resource_1.RdhKey(fieldInfo.name, types_1.GeneralColumnType.parse(name), super.resolveColumnComment(fieldInfo.orgName, resolver));
21
+ if (key.type === types_1.GeneralColumnType.UNKNOWN) {
20
22
  }
21
23
  return key;
22
24
  }
@@ -228,8 +230,8 @@ class MySQLDriver extends BaseDriver_1.BaseDriver {
228
230
  FROM INFORMATION_SCHEMA.COLUMNS
229
231
  WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?`, { binds });
230
232
  return rdh.rows.map((r) => {
231
- const type_name = enum_values_1.EnumValues.getNameFromValue(resource_1.MySQLColumnType, resource_1.MySQLColumnType.parse(r.values.col_type));
232
- const res = new resource_1.DbColumn(r.values.name, resource_1.GeneralColumnType.parse(type_name), {
233
+ const type_name = enum_values_1.EnumValues.getNameFromValue(MySQLColumnType_1.MySQLColumnType, MySQLColumnType_1.MySQLColumnType.parse(r.values.col_type));
234
+ const res = new resource_1.DbColumn(r.values.name, types_1.GeneralColumnType.parse(type_name), {
233
235
  nullable: r.values.nullable === 1,
234
236
  key: r.values.col_key,
235
237
  default: r.values.col_default,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MySQLDriver.js","sourceRoot":"","sources":["../../../src/drivers/MySQLDriver.ts"],"names":[],"mappings":";;;;AAAA,8DAAwC;AACxC,6CAAyC;AAEzC,8DAA2D;AAC3D,6CAA6D;AAC7D,0CAWqB;AACrB,oCAA6C;AAE7C,MAAa,WAAY,SAAQ,uBAAU;IAGzC,YAAY,MAAoB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,SAAS,EAAE,QAAyB;QAChD,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;SACzD;QACD,MAAM,IAAI,GAAG,wBAAU,CAAC,gBAAgB,CACtC,iCAAe,EACf,iCAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAC5C,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,iBAAM,CACpB,SAAS,CAAC,IAAI,EACd,yBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,EAC7B,KAAK,CAAC,oBAAoB,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CACxD,CAAC;QACF,IAAI,GAAG,CAAC,IAAI,KAAK,yBAAiB,CAAC,OAAO,EAAE;SAE3C;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEK,UAAU;;YACd,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG;gBACd,eAAe,EAAE,CAAC;gBAClB,kBAAkB,EAAE,IAAI;gBACxB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;aAC/B,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI;gBACF,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;aAClC;YAAC,OAAO,CAAC,EAAE;gBACV,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC;aAC1B;YACD,OAAO,YAAY,CAAC;QACtB,CAAC;KAAA;IAEK,IAAI,CAAC,YAAY,GAAG,KAAK;;YAC7B,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,YAAY,EAAE;gBAChB,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;aACpC;YACD,IAAI,CAAC,WAAW,EAAE;gBAChB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;gBACxD,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE;oBAC3B,OAAO,GAAG,CAAC,YAAY,CAAC;iBACzB;gBACD,IAAI,YAAY,EAAE;oBAChB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;iBACzB;aACF;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;KAAA;IAGK,UAAU,CACd,GAAW,EACX,OAA2B;;YAG3B,IAAI,GAAG,GAAG,IAAI,8BAAmB,CAAC,EAAE,CAAC,CAAC;YAEtC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,KAAK,GAAa,EAAE,CAAC;gBACzB,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;oBAC5B,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;iBACvB;gBACD,IAAI,QAAwB,CAAC;gBAC7B,IAAI,OAAO,IAAI,OAAO,CAAC,oBAAoB,KAAK,IAAI,EAAE;oBACpD,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;iBAC3C;gBAED,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC7D,IAAI;oBACF,IAAI,MAAM,KAAK,SAAS,EAAE;wBAWxB,MAAM,OAAO,GAAG,IAAuB,CAAC;wBAExC,GAAG,GAAG,IAAI,8BAAmB,CAAC;4BAC5B,YAAY;4BACZ,cAAc;4BACd,UAAU;4BACV,cAAc;4BACd,eAAe;4BACf,aAAa;yBACd,CAAC,CAAC;wBACH,GAAG,CAAC,MAAM,CAAC;4BACT,UAAU,EAAE,OAAO,CAAC,UAAU;4BAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;4BAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;4BAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;4BAClC,aAAa,EAAE,OAAO,CAAC,aAAa;4BACpC,WAAW,EAAE,OAAO,CAAC,WAAW;yBACjC,CAAC,CAAC;qBACJ;yBAAM;wBACL,GAAG,GAAG,IAAI,8BAAmB,CAC3B,MAAM,KAAK,SAAS;4BAClB,CAAC,CAAC,EAAE;4BACJ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CACvD,CAAC;wBACD,IAAY,CAAC,OAAO,CAAC,CAAC,MAAW,EAAE,EAAE;4BACpC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACrB,CAAC,CAAC,CAAC;qBACJ;iBACF;gBAAC,OAAO,GAAG,EAAE;oBACZ,GAAG,GAAG,8BAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;iBACvC;aACF;iBAAM;gBACL,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;aAC5B;YACD,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAEzB,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAEK,WAAW,CACf,MAA2B,EAC3B,OAAY;;YAEZ,MAAM,IAAI,GAAG,IAAI,KAAK,EAAa,CAAC;YACpC,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE;gBAC5B,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,EAAE,CAAC,MAAM,EAAE;oBACb,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC;iBAC1B;gBACD,IAAI,OAAO,IAAI,OAAO,CAAC,iBAAiB,EAAE;oBACxC,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE;wBACrB,OAAO,CAAC,iBAAiB,CAAC,SAAS,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;qBAC7D;iBACF;gBACD,MAAM,GAAG,GAAG,iCAAiC,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;gBACjE,IAAI;oBACF,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACnD,IAAI,OAAO,IAAK,OAAe,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;wBACvB,MAAM,GAAG,GAAc,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC/D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBAChB;iBACF;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAClB;gBACD,OAAO,EAAE,CAAC;aACX;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,oBAAoB,CAAC,OAG1B;;YACC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,OAAO,EAAE,CAAC;aACX;YACD,MAAM,WAAW,GAAG,IAAI,KAAK,EAAc,CAAC;YAC5C,MAAM,UAAU,GAAG,IAAI,qBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACxD,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7B,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,OAAO,CAAC,iBAAiB,EAAE;gBAC7B,OAAO,CAAC,iBAAiB,CACvB,GAAG,WAAW,CAAC,MAAM,mBAAmB,EACxC,QAAQ,CACT,CAAC;aACH;YAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACpD,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACxB,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACpC,QAAQ,GAAG,EAAE,CAAC;YACd,IAAI,OAAO,CAAC,iBAAiB,EAAE;gBAC7B,OAAO,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC,MAAM,iBAAiB,EAAE,QAAQ,CAAC,CAAC;aAC3E;YAGD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YACxD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;gBAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAChD,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClD,IAAI,OAAO,CAAC,iBAAiB,EAAE;oBAC7B,QAAQ,IAAI,aAAa,CAAC;oBAC1B,OAAO,CAAC,iBAAiB,CACvB,GAAG,QAAQ,CAAC,MAAM,2BAA2B,QAAQ,CAAC,OAAO,EAAE,IAAI,EACnE,QAAQ,CACT,CAAC;iBACH;aACF;YACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;gBAChC,IAAI,OAAO,CAAC,iBAAiB,EAAE;oBAC7B,QAAQ,IAAI,aAAa,CAAC;oBAC1B,OAAO,CAAC,iBAAiB,CACvB,qCAAqC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAC3D,QAAQ,CACT,CAAC;iBACH;gBACD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE;oBAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CACrC,QAAQ,CAAC,OAAO,EAAE,EACT,OAAO,CACjB,CAAC;oBACF,SAAS,CAAC,OAAO,CAAC,CAAC,GAAa,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC7D;aACF;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;KAAA;IAGK,UAAU,CAAC,UAAsB;;YACrC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;;;oBAGlB,CAAC,CAAC;YAElB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxB,MAAM,GAAG,GAAG,IAAI,mBAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxC,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,SAAS,CAAC,QAAkB;;YAChC,MAAM,GAAG,GAAG,MAAM,IAAI;iBACnB,UAAU,CAAC;;;;;;kCAMgB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAEtD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxB,MAAM,GAAG,GAAG,IAAI,kBAAO,CACrB,CAAC,CAAC,MAAM,CAAC,IAAI,EACb,CAAC,CAAC,MAAM,CAAC,UAAU,EACnB,CAAC,CAAC,MAAM,CAAC,OAAO,CACjB,CAAC;gBACF,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,UAAU,CACd,UAAkB,EAClB,OAAgB;;YAEhB,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAC/B;;;;;;;;uDAQiD,EACjD,EAAE,KAAK,EAAE,CACV,CAAC;YAEF,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxB,MAAM,SAAS,GAAG,wBAAU,CAAC,gBAAgB,CAC3C,iCAAe,EACf,iCAAe,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CACzC,CAAC;gBACF,MAAM,GAAG,GAAG,IAAI,mBAAQ,CACtB,CAAC,CAAC,MAAM,CAAC,IAAI,EACb,yBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,EAClC;oBACE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC;oBACjC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;oBACrB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW;oBAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS;iBAC1B,EACD,CAAC,CAAC,MAAM,CAAC,OAAO,CACjB,CAAC;gBACF,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,QAAQ;;YACZ,IAAI;gBACF,IAAI,IAAI,CAAC,MAAM,EAAE;oBACf,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;iBACzB;gBACD,OAAO,EAAE,CAAC;aACX;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,CAAC,OAAO,CAAC;aAClB;QACH,CAAC;KAAA;CACF;AAnTD,kCAmTC"}
@@ -1,6 +1,6 @@
1
- import { BaseDriver, RequestSqlOptions } from './BaseDriver';
2
- import { ResultSetDataHolder, RdhKey, DbConnection, DbDatabase, DbSchema, DbTable, DbColumn, ColumnResolver, TableRows, SchemaAndTableHints } from '../resource';
3
1
  import { default as pg } from 'pg';
2
+ import { BaseDriver, RequestSqlOptions } from './BaseDriver';
3
+ import { ColumnResolver, DbColumn, DbConnection, DbDatabase, DbSchema, DbTable, RdhKey, ResultSetDataHolder, SchemaAndTableHints, TableRows } from '../resource';
4
4
  export declare class PostgresDriver extends BaseDriver {
5
5
  private pool;
6
6
  constructor(conRes: DbConnection);
@@ -2,10 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PostgresDriver = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const BaseDriver_1 = require("./BaseDriver");
6
- const resource_1 = require("../resource");
7
5
  const pg_1 = tslib_1.__importDefault(require("pg"));
8
6
  const enum_values_1 = require("enum-values");
7
+ const PostgresColumnType_1 = require("../types/PostgresColumnType");
8
+ const BaseDriver_1 = require("./BaseDriver");
9
+ const resource_1 = require("../resource");
10
+ const types_1 = require("../types");
9
11
  class PostgresDriver extends BaseDriver_1.BaseDriver {
10
12
  constructor(conRes) {
11
13
  super(conRes);
@@ -14,8 +16,8 @@ class PostgresDriver extends BaseDriver_1.BaseDriver {
14
16
  if (fieldInfo.name.startsWith('c_')) {
15
17
  console.log(`★ ${fieldInfo.name.substring(2).toUpperCase()} = ${fieldInfo.dataTypeID}`);
16
18
  }
17
- const name = enum_values_1.EnumValues.getNameFromValue(resource_1.PostgresColumnType, resource_1.PostgresColumnType.parse(fieldInfo.dataTypeID));
18
- const key = new resource_1.RdhKey(fieldInfo.name, resource_1.GeneralColumnType.parse(name), super.resolveColumnComment(fieldInfo.name, resolver));
19
+ const name = enum_values_1.EnumValues.getNameFromValue(PostgresColumnType_1.PostgresColumnType, PostgresColumnType_1.PostgresColumnType.parse(fieldInfo.dataTypeID));
20
+ const key = new resource_1.RdhKey(fieldInfo.name, types_1.GeneralColumnType.parse(name), super.resolveColumnComment(fieldInfo.name, resolver));
19
21
  return key;
20
22
  }
21
23
  connectSub() {
@@ -255,8 +257,8 @@ class PostgresDriver extends BaseDriver_1.BaseDriver {
255
257
  order by
256
258
  col.ordinal_position`, { binds });
257
259
  return rdh.rows.map((r) => {
258
- const type_name = enum_values_1.EnumValues.getNameFromValue(resource_1.PostgresColumnType, resource_1.PostgresColumnType.parse(r.values.col_type));
259
- const res = new resource_1.DbColumn(r.values.qname, resource_1.GeneralColumnType.parse(type_name), {
260
+ const type_name = enum_values_1.EnumValues.getNameFromValue(PostgresColumnType_1.PostgresColumnType, PostgresColumnType_1.PostgresColumnType.parse(r.values.col_type));
261
+ const res = new resource_1.DbColumn(r.values.qname, types_1.GeneralColumnType.parse(type_name), {
260
262
  nullable: r.values.nullable === 1,
261
263
  key: r.values.col_key,
262
264
  default: r.values.col_default,