@l-v-yonsama/multi-platform-database-drivers 0.11.14 → 0.13.20

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 (71) hide show
  1. package/README.md +5 -0
  2. package/built/schema/log-parse-config.schema.json +406 -0
  3. package/built/src/drivers/RDSBaseDriver.d.ts +2 -1
  4. package/built/src/drivers/RDSBaseDriver.js +9 -0
  5. package/built/src/drivers/RDSBaseDriver.js.map +1 -1
  6. package/built/src/drivers/memcache/helper.js +1 -1
  7. package/built/src/drivers/memcache/helper.js.map +1 -1
  8. package/built/src/helpers/SQLHelper.d.ts +11 -1
  9. package/built/src/helpers/SQLHelper.js +94 -1
  10. package/built/src/helpers/SQLHelper.js.map +1 -1
  11. package/built/src/types/helpers/index.d.ts +9 -1
  12. package/built/src/types/helpers/index.js +3 -1
  13. package/built/src/types/helpers/index.js.map +1 -1
  14. package/built/src/types/index.d.ts +1 -0
  15. package/built/src/types/index.js +1 -0
  16. package/built/src/types/index.js.map +1 -1
  17. package/built/src/types/utils/index.d.ts +186 -0
  18. package/built/src/types/utils/index.js +29 -0
  19. package/built/src/types/utils/index.js.map +1 -0
  20. package/built/src/utils/index.d.ts +1 -0
  21. package/built/src/utils/index.js +1 -0
  22. package/built/src/utils/index.js.map +1 -1
  23. package/built/src/utils/log/LogParser.d.ts +8 -0
  24. package/built/src/utils/log/LogParser.js +162 -0
  25. package/built/src/utils/log/LogParser.js.map +1 -0
  26. package/built/src/utils/log/buildSqlExecutions.d.ts +7 -0
  27. package/built/src/utils/log/buildSqlExecutions.js +267 -0
  28. package/built/src/utils/log/buildSqlExecutions.js.map +1 -0
  29. package/built/src/utils/log/classify/classifyEvent.d.ts +3 -0
  30. package/built/src/utils/log/classify/classifyEvent.js +91 -0
  31. package/built/src/utils/log/classify/classifyEvent.js.map +1 -0
  32. package/built/src/utils/log/constant/base.d.ts +97 -0
  33. package/built/src/utils/log/constant/base.js +136 -0
  34. package/built/src/utils/log/constant/base.js.map +1 -0
  35. package/built/src/utils/log/constant/index.d.ts +3 -0
  36. package/built/src/utils/log/constant/index.js +7 -0
  37. package/built/src/utils/log/constant/index.js.map +1 -0
  38. package/built/src/utils/log/constant/logEventSplitPreset.d.ts +34 -0
  39. package/built/src/utils/log/constant/logEventSplitPreset.js +299 -0
  40. package/built/src/utils/log/constant/logEventSplitPreset.js.map +1 -0
  41. package/built/src/utils/log/constant/sqlLogParsePreset.d.ts +328 -0
  42. package/built/src/utils/log/constant/sqlLogParsePreset.js +383 -0
  43. package/built/src/utils/log/constant/sqlLogParsePreset.js.map +1 -0
  44. package/built/src/utils/log/detect/presetDetector.d.ts +11 -0
  45. package/built/src/utils/log/detect/presetDetector.js +140 -0
  46. package/built/src/utils/log/detect/presetDetector.js.map +1 -0
  47. package/built/src/utils/log/extract/runExtractors.d.ts +2 -0
  48. package/built/src/utils/log/extract/runExtractors.js +105 -0
  49. package/built/src/utils/log/extract/runExtractors.js.map +1 -0
  50. package/built/src/utils/log/index.d.ts +10 -0
  51. package/built/src/utils/log/index.js +14 -0
  52. package/built/src/utils/log/index.js.map +1 -0
  53. package/built/src/utils/log/logSummary.d.ts +6 -0
  54. package/built/src/utils/log/logSummary.js +91 -0
  55. package/built/src/utils/log/logSummary.js.map +1 -0
  56. package/built/src/utils/log/pattern/logEventPattern.d.ts +3 -0
  57. package/built/src/utils/log/pattern/logEventPattern.js +123 -0
  58. package/built/src/utils/log/pattern/logEventPattern.js.map +1 -0
  59. package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.d.ts +11 -0
  60. package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js +161 -0
  61. package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js.map +1 -0
  62. package/built/src/utils/log/split/splitLogEvents.d.ts +2 -0
  63. package/built/src/utils/log/split/splitLogEvents.js +38 -0
  64. package/built/src/utils/log/split/splitLogEvents.js.map +1 -0
  65. package/built/src/utils/log/sql/removeSqlComments.d.ts +1 -0
  66. package/built/src/utils/log/sql/removeSqlComments.js +11 -0
  67. package/built/src/utils/log/sql/removeSqlComments.js.map +1 -0
  68. package/built/src/utils/log/validator.d.ts +6 -0
  69. package/built/src/utils/log/validator.js +272 -0
  70. package/built/src/utils/log/validator.js.map +1 -0
  71. package/package.json +15 -7
@@ -0,0 +1,10 @@
1
+ export * from './rdh/convertExtractedSqlRdhResult';
2
+ export * from './LogParser';
3
+ export * from './detect/presetDetector';
4
+ export * from './classify/classifyEvent';
5
+ export * from './extract/runExtractors';
6
+ export * from './pattern/logEventPattern';
7
+ export * from './buildSqlExecutions';
8
+ export * from './constant';
9
+ export * from './validator';
10
+ export * from './logSummary';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./rdh/convertExtractedSqlRdhResult"), exports);
5
+ tslib_1.__exportStar(require("./LogParser"), exports);
6
+ tslib_1.__exportStar(require("./detect/presetDetector"), exports);
7
+ tslib_1.__exportStar(require("./classify/classifyEvent"), exports);
8
+ tslib_1.__exportStar(require("./extract/runExtractors"), exports);
9
+ tslib_1.__exportStar(require("./pattern/logEventPattern"), exports);
10
+ tslib_1.__exportStar(require("./buildSqlExecutions"), exports);
11
+ tslib_1.__exportStar(require("./constant"), exports);
12
+ tslib_1.__exportStar(require("./validator"), exports);
13
+ tslib_1.__exportStar(require("./logSummary"), exports);
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/log/index.ts"],"names":[],"mappings":";;;AAAA,6EAAmD;AACnD,sDAA4B;AAC5B,kEAAwC;AACxC,mEAAyC;AACzC,kEAAwC;AACxC,oEAA0C;AAC1C,+DAAqC;AACrC,qDAA2B;AAC3B,sDAA4B;AAC5B,uDAA6B"}
@@ -0,0 +1,6 @@
1
+ import { LogClassifierRule, LogEventType, ExtractorConfig, LogParseConfig } from '../../types';
2
+ export declare const EVENT_TYPE_DESCRIPTIONS: Record<LogEventType, string>;
3
+ export declare function summarizeClassifyRules(rules: readonly LogClassifierRule[]): string;
4
+ export declare function summarizeExtractors(extractors: readonly ExtractorConfig[]): string;
5
+ export declare function summarizeExtractorsOneLine(extractors: LogParseConfig['extractors'], maxLen?: number): string;
6
+ export declare function summarizeClassifyRulesOneLine(rules: readonly LogClassifierRule[], maxLen?: number): string;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.summarizeClassifyRulesOneLine = exports.summarizeExtractorsOneLine = exports.summarizeExtractors = exports.summarizeClassifyRules = exports.EVENT_TYPE_DESCRIPTIONS = void 0;
4
+ exports.EVENT_TYPE_DESCRIPTIONS = {
5
+ DATA_SOURCE: 'Data source connection',
6
+ CONN_AUTOCOMMIT: 'Auto-commit connection',
7
+ CONN_TRANSACTIONAL: 'Transactional connection',
8
+ TX_BEGIN: 'Transaction started',
9
+ TX_COMMIT: 'Transaction committed',
10
+ TX_ROLLBACK: 'Transaction rolled back',
11
+ TX_METHOD_ENTER: 'Enter transactional method',
12
+ TX_METHOD_EXIT: 'Exit transactional method',
13
+ SQL_START: 'SQL execution started',
14
+ SQL_PARAMS: 'Bind parameters',
15
+ SQL_COLUMNS: 'Result columns',
16
+ SQL_ROW: 'Result row',
17
+ SQL_RESULT: 'Execution result',
18
+ SQL_SINGLE: 'Single SQL execution',
19
+ SQL_ERROR: 'SQL error',
20
+ SQL_ERROR_DETAIL: 'Error detail log',
21
+ FW_ERROR: 'ORM error',
22
+ DDL: 'DDL execution',
23
+ NORMAL: 'Normal log',
24
+ ERROR: 'Error log',
25
+ };
26
+ function summarizeClassifyRules(rules) {
27
+ return rules
28
+ .map((r, i) => {
29
+ var _a;
30
+ const base = (_a = exports.EVENT_TYPE_DESCRIPTIONS[r.type]) !== null && _a !== void 0 ? _a : r.type;
31
+ const fieldInfo = r.field && r.field !== 'message' ? ` (field: ${r.field})` : '';
32
+ const options = [
33
+ r.transforms ? 'transforms' : null,
34
+ r.context ? 'context' : null,
35
+ r.expandMessage ? 'expand' : null,
36
+ ]
37
+ .filter(Boolean)
38
+ .join(', ');
39
+ const optionInfo = options ? ` [${options}]` : '';
40
+ return `${i + 1}. ${base}${fieldInfo}${optionInfo}`;
41
+ })
42
+ .join('\n');
43
+ }
44
+ exports.summarizeClassifyRules = summarizeClassifyRules;
45
+ function summarizeExtractors(extractors) {
46
+ return extractors
47
+ .map((ex, i) => {
48
+ var _a;
49
+ const header = `${i + 1}. ${ex.name} (${(_a = ex.framework) !== null && _a !== void 0 ? _a : 'custom'})`;
50
+ const steps = ex.steps
51
+ .map((s) => {
52
+ var _a;
53
+ const base = (_a = exports.EVENT_TYPE_DESCRIPTIONS[s.type]) !== null && _a !== void 0 ? _a : s.type;
54
+ const optional = s.optional ? ' (optional)' : '';
55
+ const action = s.action === 'captureField' && s.field
56
+ ? ` → ${s.action}(${s.field})`
57
+ : s.action
58
+ ? ` → ${s.action}`
59
+ : '';
60
+ return ` - ${base}${optional}${action}`;
61
+ })
62
+ .join('\n');
63
+ return `${header}\n${steps}`;
64
+ })
65
+ .join('\n');
66
+ }
67
+ exports.summarizeExtractors = summarizeExtractors;
68
+ function summarizeExtractorsOneLine(extractors, maxLen = 120) {
69
+ const text = extractors
70
+ .map((ex) => {
71
+ const steps = ex.steps
72
+ .map((s) => {
73
+ const optional = s.optional ? '?' : '';
74
+ if (s.action === 'captureField' && s.field) {
75
+ return `${s.type}${optional}→${s.action}(${s.field})`;
76
+ }
77
+ return `${s.type}${optional}→${s.action}`;
78
+ })
79
+ .join(', ');
80
+ return `${ex.name}: ${steps}`;
81
+ })
82
+ .join(' | ');
83
+ return text.length > maxLen ? text.slice(0, maxLen - 3) + '...' : text;
84
+ }
85
+ exports.summarizeExtractorsOneLine = summarizeExtractorsOneLine;
86
+ function summarizeClassifyRulesOneLine(rules, maxLen = 120) {
87
+ const text = rules.map((r) => `${r.type}:${r.pattern}`).join(', ');
88
+ return text.length > maxLen ? text.slice(0, maxLen - 3) + '...' : text;
89
+ }
90
+ exports.summarizeClassifyRulesOneLine = summarizeClassifyRulesOneLine;
91
+ //# sourceMappingURL=logSummary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logSummary.js","sourceRoot":"","sources":["../../../../src/utils/log/logSummary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CreateLogEventPatternParams } from '../../../types';
2
+ export declare function createLogEventPattern(params: CreateLogEventPatternParams): RegExp;
3
+ export declare function createLogEventPatternText(params: CreateLogEventPatternParams): string;
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createLogEventPatternText = exports.createLogEventPattern = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const xregexp_1 = tslib_1.__importDefault(require("xregexp"));
6
+ const base_1 = require("../constant/base");
7
+ function createLogEventPattern(params) {
8
+ const patternText = createLogEventPatternText(params);
9
+ let flag = 'i';
10
+ if (params.fields.some((it) => it.type === 'line-break-literal')) {
11
+ flag += 's';
12
+ }
13
+ return (0, xregexp_1.default)(patternText, flag);
14
+ }
15
+ exports.createLogEventPattern = createLogEventPattern;
16
+ function createLogEventPatternText(params) {
17
+ const { fields, onlyStartMarker, targetForHuman } = params;
18
+ let summary = '';
19
+ for (let i = 0; i < fields.length; i++) {
20
+ const field = fields[i];
21
+ const nextField = i < fields.length - 1 ? fields[i + 1] : null;
22
+ if (onlyStartMarker && field.eventStartMarker !== true) {
23
+ continue;
24
+ }
25
+ let text = '';
26
+ if (field.type === 'regex' || field.type === 'literal') {
27
+ text = field.pattern;
28
+ }
29
+ else if (field.type === 'line-break-literal') {
30
+ text = targetForHuman ? '<LINE_BREAK>' : '(?:\r?\n|\r)';
31
+ }
32
+ else {
33
+ if (targetForHuman) {
34
+ text = `{${field.pattern}}`;
35
+ }
36
+ else {
37
+ switch (field.pattern) {
38
+ case 'LEVEL':
39
+ text = base_1.LOG_FIELD_PATTERNS.LEVEL.pattern;
40
+ break;
41
+ case 'WORD':
42
+ text = base_1.LOG_FIELD_PATTERNS.WORD.pattern;
43
+ break;
44
+ case 'INT':
45
+ text = base_1.LOG_FIELD_PATTERNS.INT.pattern;
46
+ break;
47
+ case 'NUMBER':
48
+ text = base_1.LOG_FIELD_PATTERNS.NUMBER.pattern;
49
+ break;
50
+ case 'DATA':
51
+ case 'GREEDY_DATA':
52
+ if (field.enclosure) {
53
+ text = '[^\\' + field.enclosure.substring(1) + ']*';
54
+ }
55
+ else {
56
+ text = '.*';
57
+ }
58
+ if (field.pattern === 'DATA') {
59
+ text += '?';
60
+ }
61
+ break;
62
+ case 'GREEDY_MULTILINE':
63
+ text = base_1.LOG_FIELD_PATTERNS.GREEDY_MULTILINE.pattern;
64
+ break;
65
+ case 'ISO8601_STRICT':
66
+ text = base_1.LOG_FIELD_PATTERNS.ISO8601_STRICT.pattern;
67
+ break;
68
+ case 'ISO8601_LENIENT':
69
+ text = base_1.LOG_FIELD_PATTERNS.ISO8601_LENIENT.pattern;
70
+ break;
71
+ case 'JUL_TIMESTAMP':
72
+ text = base_1.LOG_FIELD_PATTERNS.JUL_TIMESTAMP.pattern;
73
+ break;
74
+ case 'SLASH_TIMESTAMP':
75
+ text = base_1.LOG_FIELD_PATTERNS.SLASH_TIMESTAMP.pattern;
76
+ break;
77
+ case 'EPOCH_TIMESTAMP':
78
+ text = base_1.LOG_FIELD_PATTERNS.EPOCH_TIMESTAMP.pattern;
79
+ break;
80
+ case 'LOGGER':
81
+ text = base_1.LOG_FIELD_PATTERNS.LOGGER.pattern;
82
+ break;
83
+ }
84
+ }
85
+ }
86
+ if (!onlyStartMarker) {
87
+ if (field.type === 'literal' || field.type === 'line-break-literal') {
88
+ text = `${text}`;
89
+ }
90
+ else {
91
+ text = `(?<${field.name}>${text})`;
92
+ }
93
+ }
94
+ if (field.enclosure) {
95
+ if (field.enclosure === '()') {
96
+ text = `\\(\\s*${text}\\s*\\)`;
97
+ }
98
+ else if (field.enclosure === '[]') {
99
+ text = `\\[\\s*${text}\\s*\\]`;
100
+ }
101
+ }
102
+ if (field.type === 'line-break-literal' && targetForHuman) {
103
+ text += '\n';
104
+ }
105
+ summary += text;
106
+ if (i < fields.length - 1) {
107
+ if (field.type === 'line-break-literal' ||
108
+ (nextField === null || nextField === void 0 ? void 0 : nextField.type) === 'line-break-literal') {
109
+ }
110
+ else {
111
+ if (field.type === 'literal' || (nextField === null || nextField === void 0 ? void 0 : nextField.type) === 'literal') {
112
+ summary += targetForHuman ? ' △ ' : '\\s*';
113
+ }
114
+ else {
115
+ summary += targetForHuman ? ' △ ' : '\\s+';
116
+ }
117
+ }
118
+ }
119
+ }
120
+ return '^' + summary;
121
+ }
122
+ exports.createLogEventPatternText = createLogEventPatternText;
123
+ //# sourceMappingURL=logEventPattern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logEventPattern.js","sourceRoot":"","sources":["../../../../../src/utils/log/pattern/logEventPattern.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ResultSetDataBuilder } from '@l-v-yonsama/rdh';
2
+ import { ClassifiedEvent, LogParseStage, SqlExecutionEvent } from '../../../types';
3
+ export declare function createLogResultBuilder(logEvents: ClassifiedEvent[], stage: LogParseStage, options?: {
4
+ elapsedTimeMilli: number;
5
+ logEventSplitPattern: string;
6
+ classificationSummary: string;
7
+ }): ResultSetDataBuilder;
8
+ export declare function createSqlResultBuilder(sqlExecutions: SqlExecutionEvent[], options?: {
9
+ elapsedTimeMilli: number;
10
+ extractionSummary: string;
11
+ }): ResultSetDataBuilder;
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSqlResultBuilder = exports.createLogResultBuilder = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const rdh_1 = require("@l-v-yonsama/rdh");
6
+ const types_1 = require("../../../types");
7
+ function createRdhTextKey(name, width) {
8
+ return (0, rdh_1.createRdhKey)({ name, type: rdh_1.GeneralColumnType.TEXT, width });
9
+ }
10
+ function createRdhEnumKey(name, width) {
11
+ return (0, rdh_1.createRdhKey)({ name, type: rdh_1.GeneralColumnType.ENUM, width });
12
+ }
13
+ function createRdhIntKey(name, width) {
14
+ return (0, rdh_1.createRdhKey)({ name, type: rdh_1.GeneralColumnType.INTEGER, width });
15
+ }
16
+ function createLogResultBuilder(logEvents, stage, options) {
17
+ if (logEvents.length === 0) {
18
+ return rdh_1.ResultSetDataBuilder.createEmpty();
19
+ }
20
+ const elapsedTimeMilli = options === null || options === void 0 ? void 0 : options.elapsedTimeMilli;
21
+ const logEventSplitPattern = options === null || options === void 0 ? void 0 : options.logEventSplitPattern;
22
+ const classificationSummary = options === null || options === void 0 ? void 0 : options.classificationSummary;
23
+ const stageForSplit = stage === 'split';
24
+ const firstEvent = logEvents[0];
25
+ const logResultKeys = [];
26
+ logResultKeys.push(createRdhIntKey('lineNo', 80));
27
+ if (!stageForSplit) {
28
+ logResultKeys.push(createRdhTextKey('eventType', 100));
29
+ }
30
+ types_1.OPTIONAL_LOG_EVENT_KEYS.forEach((key) => {
31
+ if (firstEvent[key]) {
32
+ if (key === 'level') {
33
+ logResultKeys.push(createRdhEnumKey(key, 80));
34
+ }
35
+ else {
36
+ logResultKeys.push(createRdhTextKey(key));
37
+ }
38
+ }
39
+ });
40
+ if (!stageForSplit) {
41
+ logResultKeys.push(createRdhTextKey('transformed'));
42
+ }
43
+ logResultKeys.push(createRdhTextKey('message', 800));
44
+ const existsFieldKeys = [];
45
+ if (firstEvent.fields) {
46
+ Object.keys(firstEvent.fields).forEach((key) => {
47
+ existsFieldKeys.push(key);
48
+ logResultKeys.push(createRdhTextKey(key));
49
+ });
50
+ }
51
+ const rdb = new rdh_1.ResultSetDataBuilder(logResultKeys);
52
+ logEvents.forEach((it) => {
53
+ const { fields, eventType, transformed } = it, others = tslib_1.__rest(it, ["fields", "eventType", "transformed"]);
54
+ const data = Object.assign({}, others);
55
+ if (!stageForSplit) {
56
+ data.eventType = eventType;
57
+ data.transformed = transformed;
58
+ }
59
+ existsFieldKeys.forEach((key) => {
60
+ data[key] = fields === null || fields === void 0 ? void 0 : fields[key];
61
+ });
62
+ rdb.addRow(data);
63
+ const row = rdb.rs.rows[rdb.rs.rows.length - 1];
64
+ if (eventType === 'ERROR' ||
65
+ eventType === 'FW_ERROR' ||
66
+ eventType === 'SQL_ERROR' ||
67
+ eventType === 'SQL_ERROR_DETAIL') {
68
+ rdh_1.RowHelper.pushAnnotation(row, 'eventType', { type: 'Err' });
69
+ }
70
+ if (others &&
71
+ others.level &&
72
+ others.level &&
73
+ isErrorLikeLevel(others.level)) {
74
+ rdh_1.RowHelper.pushAnnotation(row, 'level', { type: 'Err' });
75
+ }
76
+ });
77
+ if (stageForSplit) {
78
+ updateMetaParams({ rdb, type: 'split', title: 'SPLIT-LOG-EVENT' });
79
+ }
80
+ else {
81
+ updateMetaParams({ rdb, type: 'classify', title: 'EVENT-CLASSIFICATION' });
82
+ }
83
+ if (logEventSplitPattern) {
84
+ const lines = [];
85
+ lines.push('-- logEventSplitPattern');
86
+ lines.push(logEventSplitPattern);
87
+ if (classificationSummary) {
88
+ lines.push('\n');
89
+ lines.push('-- classificationSummary');
90
+ lines.push(classificationSummary);
91
+ }
92
+ rdb.setSqlStatement(lines.join('\n'));
93
+ }
94
+ if (elapsedTimeMilli !== undefined) {
95
+ rdb.setSummary({
96
+ elapsedTimeMilli,
97
+ selectedRows: rdb.rs.rows.length,
98
+ });
99
+ }
100
+ return rdb;
101
+ }
102
+ exports.createLogResultBuilder = createLogResultBuilder;
103
+ function isErrorLikeLevel(level) {
104
+ return ['error', 'fatal', 'sever'].includes(level.toLocaleLowerCase());
105
+ }
106
+ function createSqlResultBuilder(sqlExecutions, options) {
107
+ const elapsedTimeMilli = options === null || options === void 0 ? void 0 : options.elapsedTimeMilli;
108
+ const extractionSummary = options === null || options === void 0 ? void 0 : options.extractionSummary;
109
+ const sqlResultKeys = [];
110
+ sqlResultKeys.push(createRdhIntKey('startLine', 80));
111
+ sqlResultKeys.push(createRdhIntKey('endLine', 80));
112
+ sqlResultKeys.push(createRdhTextKey('timestamp', 120));
113
+ sqlResultKeys.push(createRdhTextKey('thread', 120));
114
+ sqlResultKeys.push(createRdhTextKey('daoClass', 100));
115
+ sqlResultKeys.push(createRdhTextKey('daoMethod', 100));
116
+ sqlResultKeys.push(createRdhTextKey('schema', 150));
117
+ sqlResultKeys.push(createRdhTextKey('table', 150));
118
+ sqlResultKeys.push(createRdhTextKey('type', 80));
119
+ sqlResultKeys.push(createRdhTextKey('content', 400));
120
+ sqlResultKeys.push(createRdhTextKey('detail', 400));
121
+ sqlResultKeys.push(createRdhTextKey('params', 200));
122
+ sqlResultKeys.push(createRdhTextKey('result', 100));
123
+ sqlResultKeys.push(createRdhTextKey('framework', 120));
124
+ const rdb = new rdh_1.ResultSetDataBuilder(sqlResultKeys);
125
+ sqlExecutions.forEach((it) => {
126
+ var _a;
127
+ const { sql, formattedSql, error, errorDetail } = it, rest = tslib_1.__rest(it, ["sql", "formattedSql", "error", "errorDetail"]);
128
+ if (((_a = rest.type) !== null && _a !== void 0 ? _a : '').toLowerCase() === 'error') {
129
+ rdb.addRow(Object.assign({ content: error, detail: errorDetail }, rest));
130
+ const row = rdb.rs.rows[rdb.rs.rows.length - 1];
131
+ rdh_1.RowHelper.pushAnnotation(row, 'type', { type: 'Err' });
132
+ rdh_1.RowHelper.pushAnnotation(row, 'content', { type: 'Err' });
133
+ rdh_1.RowHelper.pushAnnotation(row, 'detail', { type: 'Err' });
134
+ }
135
+ else {
136
+ rdb.addRow(Object.assign({ content: sql, detail: formattedSql }, rest));
137
+ }
138
+ });
139
+ updateMetaParams({ rdb, type: 'sqlExecution', title: 'SQL-EXECUTION' });
140
+ if (extractionSummary) {
141
+ const lines = [];
142
+ lines.push('-- extractionSummary');
143
+ lines.push(extractionSummary);
144
+ rdb.setSqlStatement(lines.join('\n'));
145
+ }
146
+ if (elapsedTimeMilli !== undefined) {
147
+ rdb.setSummary({
148
+ elapsedTimeMilli,
149
+ selectedRows: rdb.rs.rows.length,
150
+ });
151
+ }
152
+ return rdb;
153
+ }
154
+ exports.createSqlResultBuilder = createSqlResultBuilder;
155
+ function updateMetaParams({ rdb, title, type }) {
156
+ rdb.updateMeta({
157
+ tableName: title,
158
+ type,
159
+ });
160
+ }
161
+ //# sourceMappingURL=convertExtractedSqlRdhResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertExtractedSqlRdhResult.js","sourceRoot":"","sources":["../../../../../src/utils/log/rdh/convertExtractedSqlRdhResult.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { LogEventSplitConfig, SpligLogText } from '../../../types';
2
+ export declare function splitLogEvents(logText: string, config: LogEventSplitConfig, linesToParse?: number): SpligLogText[];
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.splitLogEvents = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const xregexp_1 = tslib_1.__importDefault(require("xregexp"));
6
+ const logEventPattern_1 = require("../pattern/logEventPattern");
7
+ function splitLogEvents(logText, config, linesToParse) {
8
+ const startPattern = (0, logEventPattern_1.createLogEventPattern)({
9
+ fields: config.fields,
10
+ onlyStartMarker: true,
11
+ });
12
+ const lines = logText.split(/\r?\n|\r/);
13
+ const events = [];
14
+ let lineNo = 0;
15
+ let current = [];
16
+ for (let i = 0; i < lines.length; i++) {
17
+ if (linesToParse && linesToParse > 0 && i >= linesToParse) {
18
+ break;
19
+ }
20
+ const line = lines[i];
21
+ const isStart = xregexp_1.default.test(line, startPattern);
22
+ if (isStart) {
23
+ if (current.length > 0) {
24
+ events.push({ lineNo, text: current.join('\n') });
25
+ }
26
+ lineNo = i + 1;
27
+ current = [line];
28
+ continue;
29
+ }
30
+ current.push(line);
31
+ }
32
+ if (current.length > 0) {
33
+ events.push({ lineNo, text: current.join('\n') });
34
+ }
35
+ return events;
36
+ }
37
+ exports.splitLogEvents = splitLogEvents;
38
+ //# sourceMappingURL=splitLogEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"splitLogEvents.js","sourceRoot":"","sources":["../../../../../src/utils/log/split/splitLogEvents.ts"],"names":[],"mappings":";;;;AAAA,8DAA8B;AAE9B,gEAAmE;AAEnE,SAAgB,cAAc,CAC5B,OAAe,EACf,MAA2B,EAC3B,YAAqB;IAErB,MAAM,YAAY,GAAG,IAAA,uCAAqB,EAAC;QACzC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAExC,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAa,EAAE,CAAC;IAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,YAAY,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,IAAI,YAAY,EAAE;YACzD,MAAM;SACP;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,iBAAO,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEjD,IAAI,OAAO,EAAE;YACX,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACnD;YAED,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;YACf,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;YACjB,SAAS;SACV;QAED,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpB;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACnD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAzCD,wCAyCC"}
@@ -0,0 +1 @@
1
+ export declare function removeSqlComments(sql: string): string;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeSqlComments = void 0;
4
+ function removeSqlComments(sql) {
5
+ return sql
6
+ .replace(/\/\*[\s\S]*?\*\//g, '')
7
+ .replace(/^\s*--.*$/gm, '')
8
+ .trim();
9
+ }
10
+ exports.removeSqlComments = removeSqlComments;
11
+ //# sourceMappingURL=removeSqlComments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeSqlComments.js","sourceRoot":"","sources":["../../../../../src/utils/log/sql/removeSqlComments.ts"],"names":[],"mappings":";;;AAAA,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,OAAO,GAAG;SACP,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,IAAI,EAAE,CAAC;AACZ,CAAC;AALD,8CAKC"}
@@ -0,0 +1,6 @@
1
+ import { LogParseStage } from '../../types';
2
+ export declare function validateConfig(config: unknown, state?: LogParseStage): {
3
+ ok: boolean;
4
+ availableStage?: LogParseStage;
5
+ errorMessage: string;
6
+ };