@sap/xsodata 8.3.0 → 8.3.1

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 (120) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/index.js +2 -2
  3. package/lib/configuration.js +1 -1
  4. package/lib/db/connect.js +1 -1
  5. package/lib/db/dbSegment.js +68 -123
  6. package/lib/db/dbVersionChecks.js +2 -8
  7. package/lib/handlerConfiguration.js +2 -2
  8. package/lib/http/conditionalHttpHandler.js +27 -34
  9. package/lib/http/simpleHttpRequest.js +14 -18
  10. package/lib/http/simpleHttpResponse.js +4 -4
  11. package/lib/http/uriParser.js +9 -9
  12. package/lib/http/validator/httpRequestValidator.js +9 -9
  13. package/lib/model/annotationFactory.js +11 -11
  14. package/lib/model/association.js +3 -3
  15. package/lib/model/entityType.js +33 -67
  16. package/lib/model/metadataReader.js +31 -52
  17. package/lib/model/model.js +0 -1
  18. package/lib/model/validator/xsoDataConcurrencyTokenValidator.js +6 -6
  19. package/lib/model/xsodataReader.js +36 -28
  20. package/lib/processor/authorizationProcessor.js +22 -33
  21. package/lib/processor/batchProcessor.js +22 -33
  22. package/lib/processor/errorProcessor.js +4 -4
  23. package/lib/processor/exitProcessor.js +19 -19
  24. package/lib/processor/processor.js +9 -9
  25. package/lib/processor/resourceProcessor.js +31 -61
  26. package/lib/processor/resourceProcessorDelete.js +16 -16
  27. package/lib/processor/resourceProcessorDeleteLinks.js +25 -25
  28. package/lib/processor/resourceProcessorGet.js +5 -5
  29. package/lib/processor/resourceProcessorPost.js +43 -45
  30. package/lib/processor/resourceProcessorPut.js +35 -39
  31. package/lib/processor/resourceProcessorPutPostLinks.js +38 -39
  32. package/lib/security/securityContext.js +5 -5
  33. package/lib/serializer/atomSerializer.js +54 -55
  34. package/lib/serializer/atomXmlToJsonSerializer.js +32 -44
  35. package/lib/serializer/content.js +5 -5
  36. package/lib/serializer/json.js +31 -33
  37. package/lib/serializer/jsonSerializer.js +4 -4
  38. package/lib/serializer/metadataSerializer.js +32 -35
  39. package/lib/serializer/serializer.js +29 -43
  40. package/lib/serializer/serviceSerializer.js +19 -24
  41. package/lib/serializer/value.js +1 -2
  42. package/lib/serializer/xmlToJsonSerializer.js +18 -18
  43. package/lib/sql/createDeleteLinksStatements.js +10 -10
  44. package/lib/sql/createDeleteStatements.js +12 -12
  45. package/lib/sql/createGetStatements.js +49 -107
  46. package/lib/sql/createLinksSQLStatements_1_n.js +27 -27
  47. package/lib/sql/createPutPostLinksStatements.js +9 -9
  48. package/lib/sql/createPutStatements.js +0 -1
  49. package/lib/sql/dataCollectorDelete.js +9 -9
  50. package/lib/sql/dataCollectorDeleteLinks.js +3 -3
  51. package/lib/sql/dataCollectorGet.js +9 -17
  52. package/lib/sql/dataCollectorLinks.js +23 -27
  53. package/lib/sql/dataCollectorPost.js +20 -20
  54. package/lib/sql/dataCollectorPut.js +36 -36
  55. package/lib/sql/dataCollectorPutPostLinks.js +3 -3
  56. package/lib/sql/sqlStatement.js +81 -128
  57. package/lib/sql/sqlTools.js +3 -7
  58. package/lib/sql/statementProcessor.js +7 -14
  59. package/lib/uri/applyChecks.js +3 -3
  60. package/lib/uri/checks/checkAllowedMethod.js +3 -3
  61. package/lib/uri/checks/checkAllowedMethodForBatch.js +2 -2
  62. package/lib/uri/checks/checkAllowedMethodsForResourcePath.js +3 -3
  63. package/lib/uri/checks/checkFilterOnAggregatedColumn.js +5 -5
  64. package/lib/uri/checks/checkFilterOrderByOnGenKeyColumn.js +6 -6
  65. package/lib/uri/checks/checkGenKeyRestrictions.js +2 -2
  66. package/lib/uri/checks/checkModificationForbidden.js +3 -3
  67. package/lib/uri/checks/checkPostPutDeleteChecks.js +5 -5
  68. package/lib/uri/checks/checkSystemQueryOptions.js +10 -10
  69. package/lib/uri/checks.js +15 -15
  70. package/lib/uri/expandSelectTreeBuilder.js +12 -16
  71. package/lib/uri/oDataUriParser.js +20 -20
  72. package/lib/uri/queryParameterParser.js +25 -33
  73. package/lib/uri/resourcePathParser.js +47 -62
  74. package/lib/uri/uriType.js +4 -4
  75. package/lib/utils/associations.js +4 -4
  76. package/lib/utils/batch/batchExecutor.js +49 -51
  77. package/lib/utils/batch/batchObjects.js +10 -10
  78. package/lib/utils/batch/batchParser.js +27 -28
  79. package/lib/utils/batch/batchWriter.js +1 -1
  80. package/lib/utils/checkContentType.js +34 -39
  81. package/lib/utils/debugView.js +35 -36
  82. package/lib/utils/errors/applicationError.js +2 -2
  83. package/lib/utils/errors/debugInfo.js +2 -2
  84. package/lib/utils/errors/http/badRequest.js +2 -2
  85. package/lib/utils/errors/http/forbidden.js +2 -2
  86. package/lib/utils/errors/http/methodNotAllowed.js +2 -2
  87. package/lib/utils/errors/http/notAcceptable.js +2 -2
  88. package/lib/utils/errors/http/notFound.js +2 -2
  89. package/lib/utils/errors/http/notImplemented.js +2 -2
  90. package/lib/utils/errors/http/notModified.js +2 -2
  91. package/lib/utils/errors/http/notSupported.js +2 -2
  92. package/lib/utils/errors/http/preconditionFailed.js +2 -2
  93. package/lib/utils/errors/http/preconditionRequired.js +2 -2
  94. package/lib/utils/errors/http/unauthorized.js +2 -2
  95. package/lib/utils/errors/http/unsupportedMediaType.js +2 -2
  96. package/lib/utils/errors/httpError.js +2 -2
  97. package/lib/utils/errors/internalError.js +2 -2
  98. package/lib/utils/errors/modelFileError.js +2 -2
  99. package/lib/utils/errors/sqlError.js +2 -2
  100. package/lib/utils/errors/testError.js +2 -2
  101. package/lib/utils/errors/typeError.js +5 -5
  102. package/lib/utils/errors/xsODataError.js +1 -1
  103. package/lib/utils/logger.js +21 -32
  104. package/lib/utils/measurement.js +14 -13
  105. package/lib/utils/requestContext.js +2 -2
  106. package/lib/utils/stateMaschine.js +6 -6
  107. package/lib/utils/tableCleanup.js +3 -3
  108. package/lib/utils/typeConverter.js +21 -21
  109. package/lib/utils/typeConverters/converterTools.js +25 -331
  110. package/lib/utils/typeConverters/dbToJson.js +3 -3
  111. package/lib/utils/typeConverters/dbToUri.js +7 -7
  112. package/lib/utils/typeConverters/dbToXml.js +9 -9
  113. package/lib/utils/typeConverters/jsonToDb.js +20 -27
  114. package/lib/utils/typeConverters/uriToDb.js +45 -92
  115. package/lib/utils/typeConverters/xmlValueToJson.js +9 -13
  116. package/lib/utils/typedObjects.js +11 -79
  117. package/lib/utils/utils.js +20 -23
  118. package/lib/xsodata.js +37 -47
  119. package/package.json +3 -5
  120. package/.npmignore +0 -40
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var linksSQL = require ("./createLinksSQLStatements_1_n");
4
- var sql = require('./sqlStatement');
3
+ const linksSQL = require ("./createLinksSQLStatements_1_n");
4
+ const sql = require('./sqlStatement');
5
5
 
6
6
  exports.createPutPostLinksStatementsCreateTmpTables = function (context, asyncDone) {
7
7
  linksSQL.createLinksStatementsCreateTmpTables (context);
@@ -16,7 +16,7 @@ exports.createPutPostLinksStatementsInsert = function (context, asyncDone) {
16
16
 
17
17
  exports.createPutPostLinksMNStatementsCreateTmpTables = function (context, asyncDone) {
18
18
  try {
19
- var dbSegLast = context.oData.dbSegmentLast,
19
+ const dbSegLast = context.oData.dbSegmentLast,
20
20
  sqlContext = linksSQL.createMNSQLContext(context, dbSegLast);
21
21
 
22
22
  context.sql = sqlContext;
@@ -46,7 +46,7 @@ function createMNPutPostLinksStatementContainerCreateTmpTables(sqlContext) {
46
46
  }
47
47
 
48
48
  function createMNPutPostLinksStatementContainerInsert(sqlContext) {
49
- var dbSeg = sqlContext.dbSegLast;
49
+ const dbSeg = sqlContext.dbSegLast;
50
50
 
51
51
  linksSQL.createMNStatementContainerInsert(sqlContext);
52
52
 
@@ -59,9 +59,9 @@ function createMNPutPostLinksStatementContainerInsert(sqlContext) {
59
59
 
60
60
  function masterMNTableInsertTmp(sqlContext, rId) {
61
61
  sqlContext.context.logger.debug('createPutPostLinksStatements', 'masterMNTableInsertTmp');
62
- var dbSeg = sqlContext.dbSegLast;
62
+ const dbSeg = sqlContext.dbSegLast;
63
63
 
64
- var stm = new sql.Insert();
64
+ const stm = new sql.Insert();
65
65
  stm.setTableName({table: rId});
66
66
  //SELECT
67
67
  stm.addNames(dbSeg.getSelectFragmentsForOverProperties(rId));
@@ -70,14 +70,14 @@ function masterMNTableInsertTmp(sqlContext, rId) {
70
70
  }
71
71
 
72
72
  function masterMNTableInsert(sqlContext, rId) {
73
- var dbSeg = sqlContext.dbSegLast;
73
+ const dbSeg = sqlContext.dbSegLast;
74
74
 
75
75
  //subselect
76
- var subSelect = new sql.Select();
76
+ const subSelect = new sql.Select();
77
77
  subSelect.addSelects(new sql.SelectFormula(null, '*'));
78
78
  subSelect.setFrom({schema: null, table: rId, alias: null});
79
79
 
80
- var stm = new sql.Upsert();
80
+ const stm = new sql.Upsert();
81
81
 
82
82
  stm.setTable({table: dbSeg.getOver().object});
83
83
  stm.addNames(dbSeg.getSelectFragmentsForOverProperties(rId));
@@ -189,7 +189,6 @@ function masterTableUpdate(sqlContext, rId) {
189
189
  const update = new sql.Update();
190
190
  update.setTable(dbSeg.getAliasedTableName('PERM')); //overwrite alias
191
191
 
192
- //update.addSetCopyProperties(dbSeg.getQKeyProperties(), 'TEMP');
193
192
  const copyPropertiesOrig = dbSeg.getQNonKeyProperties();
194
193
  const copyProperties = [];
195
194
 
@@ -1,21 +1,21 @@
1
1
  'use strict';
2
2
 
3
3
  //Include
4
- var dataCollector2 = require('./dataCollector2');
5
- var statementProcessor = require('./statementProcessor');
4
+ const dataCollector2 = require('./dataCollector2');
5
+ const statementProcessor = require('./statementProcessor');
6
6
 
7
7
 
8
8
  exports.createTmpTables = function (context, asyncDone) {
9
9
  context.logger.silly('dataCollectorDelete', 'createTmpTables');
10
- var dbSeg = context.oData.dbSegmentLast;
11
- var stm = dbSeg.sql.stmContainer.createTmpDel;
10
+ const dbSeg = context.oData.dbSegmentLast;
11
+ const stm = dbSeg.sql.stmContainer.createTmpDel;
12
12
  return statementProcessor.execStmsDirectlyNoResult(context,stm, asyncDone);
13
13
  };
14
14
 
15
15
 
16
16
  exports.insertDataToDelTable = function (context, asyncDone) {
17
17
  context.logger.silly('dataCollectorDelete', 'insertDataToDelTable');
18
- var dbSeg = context.oData.dbSegmentLast;
18
+ const dbSeg = context.oData.dbSegmentLast;
19
19
  statementProcessor.execStmsAsPrepared(context,[dbSeg.sql.stmContainer.insertTmpDel], (err, context, resultset) => {
20
20
  if (err) {
21
21
  return asyncDone(err, context);
@@ -27,14 +27,14 @@ exports.insertDataToDelTable = function (context, asyncDone) {
27
27
 
28
28
  exports.deleteTable = function (context, asyncDone) {
29
29
  context.logger.silly('dataCollectorDelete', 'deleteTable');
30
- var dbSeg = context.oData.dbSegmentLast;
30
+ const dbSeg = context.oData.dbSegmentLast;
31
31
  statementProcessor.execStmsAsPreparedNoResult(context,dbSeg.sql.stmContainer.delete, asyncDone);
32
32
  };
33
33
 
34
34
 
35
35
  exports.commit = function (context, asyncDone) {
36
36
  context.logger.silly('dataCollectorDelete', 'commit');
37
- var client = context.db.client;
37
+ const client = context.db.client;
38
38
  client.commit(function (err) {
39
39
  if (err) {
40
40
  context.logger.info('SQL Exec', 'Commit Error: \n' + JSON.stringify(err));
@@ -51,7 +51,7 @@ exports.commit = function (context, asyncDone) {
51
51
  * @param {Function} asyncDone async waterfall callback
52
52
  */
53
53
  exports.truncateTempTables = function (context, asyncDone) {
54
- var statements;
54
+ let statements;
55
55
  context.logger.silly('dataCollectorDelete', 'truncateTempTables');
56
56
 
57
57
  statements = [context.sql.container.createTmpDelTruncate];
@@ -70,7 +70,7 @@ exports.truncateTempTables = function (context, asyncDone) {
70
70
  * @param {Function} asyncDone async waterfall callback
71
71
  */
72
72
  exports.dropTempTables = function (context, asyncDone) {
73
- var statements;
73
+ let statements;
74
74
  context.logger.silly('dataCollectorDelete', 'dropTempTables');
75
75
 
76
76
  statements = [context.sql.container.createTmpDelDrop];
@@ -1,18 +1,18 @@
1
1
  'use strict';
2
2
 
3
3
  //Include
4
- var statementProcessor = require('./statementProcessor');
4
+ const statementProcessor = require('./statementProcessor');
5
5
 
6
6
  exports.insertDataToDelTable = function (context, asyncDone) {
7
7
  context.logger.silly('dataCollectorDeleteLinks', 'insertDataToDelTable');
8
- var dbSeg = context.oData.dbSegmentLast;
8
+ const dbSeg = context.oData.dbSegmentLast;
9
9
  statementProcessor.execStmsAsPreparedNoResult(context, dbSeg.sql.stmContainer.insertTmp, asyncDone);
10
10
 
11
11
  };
12
12
 
13
13
  exports.deleteTable = function (context, asyncDone) {
14
14
  context.logger.silly('dataCollectorDeleteLinks', 'deleteTable');
15
- var dbSeg = context.oData.dbSegmentLast;
15
+ const dbSeg = context.oData.dbSegmentLast;
16
16
  statementProcessor.execStmsAsPreparedNoResult(context, dbSeg.sql.stmContainer.delete, asyncDone);
17
17
  };
18
18
 
@@ -7,9 +7,6 @@ const statementProcessor = require('./statementProcessor');
7
7
  const utils = require('../utils/utils');
8
8
  const SqlError = require('../utils/errors/sqlError');
9
9
  const BadRequest = require('../utils/errors/http/badRequest');
10
- // const { createNewContentIdFromDbSegSelectedRows } = require('../processor/contentIdHelper');
11
- // const { call } = require('../../test/utils');
12
-
13
10
 
14
11
  const saveTmpTableCreate = function(item, context, asyncDone) {
15
12
  const dropTmpTableCallback = (err, context) => {
@@ -51,8 +48,8 @@ exports.createTmpTables = function (context, asyncDone) {
51
48
  exports.insertFillTmpTables = function (context, asyncDone) {
52
49
  context.logger.silly('dataCollectorGet', 'insertFillTmpTables');
53
50
 
54
- var container = context.sql.container;
55
- var stms = container.getInsertTmpStms();
51
+ const container = context.sql.container;
52
+ const stms = container.getInsertTmpStms();
56
53
 
57
54
  return statementProcessor.execStmsAsPreparedNoResult(context, stms, asyncDone);
58
55
  };
@@ -61,8 +58,8 @@ exports.insertFillTmpTables = function (context, asyncDone) {
61
58
  exports.select = function (context, asyncDone) {
62
59
  context.logger.silly('dataCollectorGet', 'select');
63
60
 
64
- var container = context.sql.container;
65
- var stms = container.select.concat(container.selectTmp);
61
+ const container = context.sql.container;
62
+ const stms = container.select.concat(container.selectTmp);
66
63
 
67
64
  async.mapSeries(
68
65
  stms,
@@ -145,22 +142,17 @@ exports.select = function (context, asyncDone) {
145
142
  }
146
143
 
147
144
  // Add byPassInputs to rows
148
- let conv = [];
149
145
  if (byPassInputs) {
150
- for (let i = 0; i < byPassInputs.length; i++) {
151
- const input = byPassInputs[i];
146
+ for (const input of byPassInputs) {
152
147
  let param = [];
153
148
  input.toSqlHana(context, param, { useDbType: input._dbType });
154
- conv.push(param[0]);
155
149
 
156
- for (let r = 0; r < rows.length; r++) {
157
- let row = rows[r];
150
+ for (const row of rows) {
158
151
  row[input.property] = param[0];
159
152
  }
160
153
  }
161
154
  }
162
155
  context.logger.silly('GET dataCollector - row count', JSON.stringify(rows.length));
163
- // context.logger.silly('dataCollector', JSON.stringify(rows, null, 2));
164
156
  return cb(null, rows);
165
157
 
166
158
  });
@@ -220,8 +212,8 @@ let CalcViewCallback = function (item, context, cb) {
220
212
  * @param {Function} callback - callback, which should be called once the operation is completed
221
213
  */
222
214
  exports.executeSelect = function executeSelect(context, selectStmt, callback) {
223
- var parameters = [];
224
- var sql;
215
+ const parameters = [];
216
+ let sql;
225
217
 
226
218
  try {
227
219
  sql = selectStmt.toSqlHana(new sqlStatement.SqlBuildHanaContext(context), parameters);
@@ -253,7 +245,7 @@ exports.dropTempTables = function (context, asyncDone) {
253
245
 
254
246
  exports.commit = function (context, asyncDone) {
255
247
  context.logger.debug('dataCollectorGet', 'commit');
256
- var client = context.db.client;
248
+ const client = context.db.client;
257
249
  client.commit(function (err) {
258
250
  if (err) {
259
251
  context.logger.info('SQL Exec', 'Commit Error: \n' + JSON.stringify(err));
@@ -1,23 +1,23 @@
1
1
  'use strict';
2
2
 
3
3
  //Include
4
- var dataCollector2 = require('./dataCollector2');
5
- var statementProcessor = require('./statementProcessor');
4
+ const dataCollector2 = require('./dataCollector2');
5
+ const statementProcessor = require('./statementProcessor');
6
6
 
7
7
  exports.moveRecordNV_ToSelectStm = function (context, asyncDone) {
8
8
  context.logger.silly('dataCollectorLinks', 'moveRecordNV_ToSelectStm');
9
9
  //get dbSegment to be updated, for inserting the payload
10
- var dbSeg = context.oData.links.toBeUpdated;
11
- var stm = dbSeg.sql.stmContainer.insertTmp;
10
+ const dbSeg = context.oData.links.toBeUpdated;
11
+ const stm = dbSeg.sql.stmContainer.insertTmp;
12
12
 
13
13
  if (!stm) {
14
14
  return asyncDone(new Error("An error occurred."), context);
15
15
  }
16
16
 
17
- var max = dbSeg._recordNV.length;
18
- var i;
17
+ const max = dbSeg._recordNV.length;
18
+ let i;
19
19
  for (i = 0; i < max; i++) {
20
- var nv = dbSeg._recordNV[i];
20
+ const nv = dbSeg._recordNV[i];
21
21
  stm.setValue(nv.name, nv.value);
22
22
  }
23
23
  return asyncDone(null, context);
@@ -25,8 +25,8 @@ exports.moveRecordNV_ToSelectStm = function (context, asyncDone) {
25
25
 
26
26
  exports.movePayloadFromMNSegmentToSelectStm = function (context, asyncDone) {
27
27
  //get dbSegment for inserting the payload
28
- var dbSeg = context.oData.dbSegmentLast;
29
- var stm = dbSeg.sql.stmContainer.insertTmp;
28
+ const dbSeg = context.oData.dbSegmentLast;
29
+ const stm = dbSeg.sql.stmContainer.insertTmp;
30
30
  if (!stm) {
31
31
  return asyncDone(new Error("An error occurred."), context);
32
32
  }
@@ -48,10 +48,6 @@ exports.movePayloadFromMNSegmentToSelectStm = function (context, asyncDone) {
48
48
  }
49
49
  }
50
50
 
51
- //stm.setValue(over.principal[0], context.oData.dbSegment._KeyValues[0].value);
52
- //stm.setValue(over.dependent[0], context.oData.dbSegmentLast._KeyValues[0].value);
53
-
54
-
55
51
  for (let i = 0; i < to.joinproperties.length; i++) {
56
52
  for (let kv of context.oData.dbSegmentLast._KeyValues) {
57
53
  if (kv.name === to.joinproperties[i]) {
@@ -64,8 +60,8 @@ exports.movePayloadFromMNSegmentToSelectStm = function (context, asyncDone) {
64
60
  };
65
61
 
66
62
  exports.createTmpTables = function (context, asyncDone) {
67
- var dbSeg = context.oData.links.toBeUpdated;
68
- var stms = [
63
+ const dbSeg = context.oData.links.toBeUpdated;
64
+ const stms = [
69
65
  dbSeg.sql.stmContainer.createTmpOld,
70
66
  dbSeg.sql.stmContainer.createTmp,
71
67
  dbSeg.sql.stmContainer.createPrincipal,
@@ -76,8 +72,8 @@ exports.createTmpTables = function (context, asyncDone) {
76
72
  };
77
73
 
78
74
  exports.createTmpTableMN = function (context, asyncDone) {
79
- var dbSeg = context.oData.dbSegmentLast;
80
- var stms = [
75
+ const dbSeg = context.oData.dbSegmentLast;
76
+ const stms = [
81
77
  dbSeg.sql.stmContainer.createTmp,
82
78
  dbSeg.sql.stmContainer.createPrincipal,
83
79
  dbSeg.sql.stmContainer.createDependent
@@ -86,7 +82,7 @@ exports.createTmpTableMN = function (context, asyncDone) {
86
82
  };
87
83
 
88
84
  exports.insertOldDataToOldTable = function (context, asyncDone) {
89
- var dbSeg = context.oData.links.toBeUpdated;
85
+ const dbSeg = context.oData.links.toBeUpdated;
90
86
 
91
87
  statementProcessor.execStmsAsPrepared(context, [dbSeg.sql.stmContainer.insertTmpOld], (err, context, resultset) => {
92
88
  if (err) {
@@ -101,8 +97,8 @@ exports.insertOldDataToOldTable = function (context, asyncDone) {
101
97
  * insert corresponding data to the temp principal|dependent tables
102
98
  * */
103
99
  exports.insertOldDataToPrincipalDependentTables = function (context, asyncDone) {
104
- var dbSeg = context.oData.links.toBeUpdated;
105
- var stms = [
100
+ const dbSeg = context.oData.links.toBeUpdated;
101
+ const stms = [
106
102
  dbSeg.sql.stmContainer.insertPrincipal,
107
103
  dbSeg.sql.stmContainer.insertDependent
108
104
  ];
@@ -111,7 +107,7 @@ exports.insertOldDataToPrincipalDependentTables = function (context, asyncDone)
111
107
  };
112
108
 
113
109
  exports.insertPayloadIntoTempTable = function (context, asyncDone) {
114
- var dbSeg = context.oData.links.toBeUpdated;
110
+ const dbSeg = context.oData.links.toBeUpdated;
115
111
 
116
112
  context.logger.silly('dataCollectorLinks', 'insertPayloadIntoTempTable');
117
113
 
@@ -126,7 +122,7 @@ exports.insertPayloadIntoTempTable = function (context, asyncDone) {
126
122
  exports.insertTmpTableToRealTable = function (context, asyncDone) {
127
123
  context.logger.silly('dataCollectorLinks', 'insertTmpTableToRealTable');
128
124
 
129
- var dbSeg = context.oData.links.toBeUpdated;
125
+ const dbSeg = context.oData.links.toBeUpdated;
130
126
  statementProcessor.execStmsAsPrepared(context, [dbSeg.sql.stmContainer.updateReal], (err, context, resultset) => {
131
127
  if (err) {
132
128
  return asyncDone(err, context);
@@ -142,7 +138,7 @@ exports.commit = function (context, asyncDone) {
142
138
  return asyncDone(null, context);
143
139
  }
144
140
 
145
- var client = context.db.client;
141
+ const client = context.db.client;
146
142
  context.logger.debug('dataCollectorLinks', 'commit');
147
143
  client.commit(function (err) {
148
144
  if (err) {
@@ -160,7 +156,7 @@ exports.commit = function (context, asyncDone) {
160
156
  * @param {Function} asyncDone async waterfall callback
161
157
  */
162
158
  exports.truncateTempTablesMN = function (context, asyncDone) {
163
- var statements;
159
+ let statements;
164
160
  context.logger.silly('dataCollectorLinks', 'truncateTempTablesMN');
165
161
 
166
162
  statements = [
@@ -184,7 +180,7 @@ exports.truncateTempTablesMN = function (context, asyncDone) {
184
180
  * @param {Function} asyncDone async waterfall callback
185
181
  */
186
182
  exports.dropTempTablesMN = function (context, asyncDone) {
187
- var statements;
183
+ let statements;
188
184
  context.logger.silly('dataCollectorLinks', 'dropTempTablesMN');
189
185
 
190
186
  statements = [
@@ -208,7 +204,7 @@ exports.dropTempTablesMN = function (context, asyncDone) {
208
204
  * @param {Function} asyncDone async waterfall callback
209
205
  */
210
206
  exports.truncateTempTables = function (context, asyncDone) {
211
- var statements;
207
+ let statements;
212
208
  context.logger.silly('dataCollectorLinks', 'truncateTempTables');
213
209
 
214
210
  // Special hack for $batch.
@@ -240,7 +236,7 @@ exports.truncateTempTables = function (context, asyncDone) {
240
236
  * @param {Function} asyncDone async waterfall callback
241
237
  */
242
238
  exports.dropTempTables = function (context, asyncDone) {
243
- var statements;
239
+ let statements;
244
240
  context.logger.silly('dataCollectorLinks', 'dropTempTables');
245
241
 
246
242
  // Special hack for $batch.
@@ -9,17 +9,17 @@ const SqlError = require('../utils/errors/sqlError');
9
9
  exports.moveRecordNV_ToSelectStm = function (context, asyncDone) {
10
10
  context.logger.silly('dataCollectorPost', 'moveRecordNV_ToSelectStm');
11
11
  //get dbSegment for inserting the payload
12
- var dbSeg = context.oData.dbSegmentLast;
12
+ const dbSeg = context.oData.dbSegmentLast;
13
13
 
14
- var stm = dbSeg.sql.stmContainer.insertTmp;
14
+ const stm = dbSeg.sql.stmContainer.insertTmp;
15
15
  if (!stm) {
16
16
  return asyncDone("Internal server error", context);
17
17
  }
18
18
 
19
- var max = dbSeg._recordNV.length;
20
- var i;
19
+ const max = dbSeg._recordNV.length;
20
+ let i;
21
21
  for (i = 0; i < max; i++) {
22
- var nv = dbSeg._recordNV[i];
22
+ const nv = dbSeg._recordNV[i];
23
23
  stm.setValue(nv.name, nv.value, dbSeg.entityType.propertiesMap[nv.name].DATA_TYPE_NAME); // OK
24
24
  }
25
25
  return asyncDone(null, context);
@@ -28,7 +28,7 @@ exports.moveRecordNV_ToSelectStm = function (context, asyncDone) {
28
28
 
29
29
  exports.createTmpTables = function (context, asyncDone) {
30
30
  context.logger.silly('dataCollectorPost', 'createTmpTables');
31
- var stm = context.oData.dbSegmentLast.sql.stmContainer.createTmp;
31
+ const stm = context.oData.dbSegmentLast.sql.stmContainer.createTmp;
32
32
  return statementProcessor.execStmsDirectlyNoResult(context, stm, asyncDone);
33
33
  };
34
34
 
@@ -37,20 +37,20 @@ exports.checkAutoValues = null;
37
37
  exports.checkForAutoKeyGenUsage = function (context, asyncDone) {
38
38
  context.logger.silly('dataCollectorPost', 'checkForAutoKeyGenUsage');
39
39
 
40
- var dbSeg = context.oData.dbSegmentLast;
40
+ const dbSeg = context.oData.dbSegmentLast;
41
41
  if (!exports.checkAutoValues && !dbSeg.entityType.hasAdmindata()) {
42
42
  return asyncDone(null, context);
43
43
  }
44
44
 
45
45
 
46
- var stm = dbSeg.sql.stmContainer.insertTmp;
46
+ const stm = dbSeg.sql.stmContainer.insertTmp;
47
47
 
48
- var table = dbSeg._DB_TableName;
48
+ const table = dbSeg._DB_TableName;
49
49
 
50
- var appData = {};
51
- var i;
52
- var nv = stm.nv;
53
- var name = '';
50
+ const appData = {};
51
+ let i;
52
+ const nv = stm.nv;
53
+ let name = '';
54
54
 
55
55
  const createBy = dbSeg.entityType.getAddAdmindata('create', 'by');
56
56
  const createAt = dbSeg.entityType.getAddAdmindata('create', 'at');
@@ -61,7 +61,7 @@ exports.checkForAutoKeyGenUsage = function (context, asyncDone) {
61
61
  for (i = 0; i < nv.length; i++) {
62
62
 
63
63
  name = nv[i].name.toSqlHana(null, null, { withoutTable: true });
64
- name = name.substr(1, name.length - 2);
64
+ name = name.slice(1, -1);
65
65
 
66
66
  if (createBy && name === 'CREATED_BY') {
67
67
  nv[i].overwriteValue = new sqlStatement.Value(context.userName);
@@ -90,7 +90,7 @@ exports.checkForAutoKeyGenUsage = function (context, asyncDone) {
90
90
  }
91
91
 
92
92
  return exports.checkAutoValues(table, appData, function (err) {
93
- var name;
93
+ let name;
94
94
  for (i = 0; i < nv.length; i++) {
95
95
  name = nv[i].name.toSqlHana(null, null, { withoutTable: true });
96
96
  name = name.substr(1, name.length - 2);
@@ -104,21 +104,21 @@ exports.checkForAutoKeyGenUsage = function (context, asyncDone) {
104
104
 
105
105
  exports.insertPayloadIntoTempTable = function (context, asyncDone) {
106
106
  context.logger.silly('dataCollectorPost', 'insertPayloadIntoTempTable');
107
- var dbSeg = context.oData.dbSegmentLast;
107
+ const dbSeg = context.oData.dbSegmentLast;
108
108
 
109
109
  statementProcessor.execStmsAsPreparedNoResult(context, dbSeg.sql.stmContainer.insertTmp, asyncDone);
110
110
  };
111
111
 
112
112
  exports.insertTmpTableToRealTable = function (context, asyncDone) {
113
113
  context.logger.silly('dataCollectorPost', 'insertTmpTableToRealTable');
114
- var dbSeg = context.oData.dbSegmentLast;
114
+ const dbSeg = context.oData.dbSegmentLast;
115
115
  statementProcessor.execStmsAsPreparedNoResult(context, dbSeg.sql.stmContainer.insertReal, asyncDone);
116
116
  };
117
117
 
118
118
  exports.selectData = function (context, asyncDone) {
119
119
  context.logger.silly('dataCollectorPost', 'selectData');
120
- var dbSeg = context.oData.dbSegmentLast;
121
- var stm = dbSeg.sql.stmContainer.select;
120
+ const dbSeg = context.oData.dbSegmentLast;
121
+ const stm = dbSeg.sql.stmContainer.select;
122
122
 
123
123
  return statementProcessor.execStmsAsPrepared(context, stm, (err,context, resultSet) => {
124
124
  const rows = resultSet[0];
@@ -137,7 +137,7 @@ exports.selectData = function (context, asyncDone) {
137
137
 
138
138
  exports.commit = function (context, asyncDone) {
139
139
  context.logger.debug('dataCollectorPost', 'commit');
140
- var client = context.db.client;
140
+ const client = context.db.client;
141
141
  client.commit(function (err) {
142
142
  if (err) {
143
143
  context.logger.info('SQL Exec', 'Commit Error: \n' + JSON.stringify(err));