@or-sdk/pgsql 0.22.5-pgsql.0 → 0.23.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 (118) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/cjs/Pgsql.js +250 -8
  3. package/dist/cjs/Pgsql.js.map +1 -1
  4. package/dist/cjs/constants.js +2 -1
  5. package/dist/cjs/constants.js.map +1 -1
  6. package/dist/cjs/utils/createSchemaQuery.js +4 -0
  7. package/dist/cjs/utils/createSchemaQuery.js.map +1 -0
  8. package/dist/cjs/utils/encodeValue.js +17 -0
  9. package/dist/cjs/utils/encodeValue.js.map +1 -0
  10. package/dist/cjs/utils/getAddColumnsQuery.js +6 -0
  11. package/dist/cjs/utils/getAddColumnsQuery.js.map +1 -0
  12. package/dist/cjs/utils/getCreateTableQuery.js +6 -0
  13. package/dist/cjs/utils/getCreateTableQuery.js.map +1 -0
  14. package/dist/cjs/utils/getDeleteRowsQuery.js +9 -0
  15. package/dist/cjs/utils/getDeleteRowsQuery.js.map +1 -0
  16. package/dist/cjs/utils/getDropSchemaQuery.js +4 -0
  17. package/dist/cjs/utils/getDropSchemaQuery.js.map +1 -0
  18. package/dist/cjs/utils/getDropTableQuery.js +4 -0
  19. package/dist/cjs/utils/getDropTableQuery.js.map +1 -0
  20. package/dist/cjs/utils/getEditRowQuery.js +10 -0
  21. package/dist/cjs/utils/getEditRowQuery.js.map +1 -0
  22. package/dist/cjs/utils/getGenerateTableSchemaQuery.js +4 -0
  23. package/dist/cjs/utils/getGenerateTableSchemaQuery.js.map +1 -0
  24. package/dist/cjs/utils/getGetPrimaryKeysQuery.js +4 -0
  25. package/dist/cjs/utils/getGetPrimaryKeysQuery.js.map +1 -0
  26. package/dist/cjs/utils/getInsertKeys.js +9 -0
  27. package/dist/cjs/utils/getInsertKeys.js.map +1 -0
  28. package/dist/cjs/utils/getInsertQueries.js +18 -0
  29. package/dist/cjs/utils/getInsertQueries.js.map +1 -0
  30. package/dist/cjs/utils/getListTablesQuery.js +4 -0
  31. package/dist/cjs/utils/getListTablesQuery.js.map +1 -0
  32. package/dist/cjs/utils/getSelectAllCountQuery.js +4 -0
  33. package/dist/cjs/utils/getSelectAllCountQuery.js.map +1 -0
  34. package/dist/cjs/utils/getSelectAllQuery.js +4 -0
  35. package/dist/cjs/utils/getSelectAllQuery.js.map +1 -0
  36. package/dist/cjs/utils/index.js +33 -1
  37. package/dist/cjs/utils/index.js.map +1 -1
  38. package/dist/cjs/utils/splitPrimaryKeys.js +8 -0
  39. package/dist/cjs/utils/splitPrimaryKeys.js.map +1 -0
  40. package/dist/esm/Pgsql.js +160 -8
  41. package/dist/esm/Pgsql.js.map +1 -1
  42. package/dist/esm/constants.js +2 -0
  43. package/dist/esm/constants.js.map +1 -1
  44. package/dist/esm/utils/createSchemaQuery.js +2 -0
  45. package/dist/esm/utils/createSchemaQuery.js.map +1 -0
  46. package/dist/esm/utils/encodeValue.js +12 -0
  47. package/dist/esm/utils/encodeValue.js.map +1 -0
  48. package/dist/esm/utils/getAddColumnsQuery.js +2 -0
  49. package/dist/esm/utils/getAddColumnsQuery.js.map +1 -0
  50. package/dist/esm/utils/getCreateTableQuery.js +2 -0
  51. package/dist/esm/utils/getCreateTableQuery.js.map +1 -0
  52. package/dist/esm/utils/getDeleteRowsQuery.js +8 -0
  53. package/dist/esm/utils/getDeleteRowsQuery.js.map +1 -0
  54. package/dist/esm/utils/getDropSchemaQuery.js +2 -0
  55. package/dist/esm/utils/getDropSchemaQuery.js.map +1 -0
  56. package/dist/esm/utils/getDropTableQuery.js +2 -0
  57. package/dist/esm/utils/getDropTableQuery.js.map +1 -0
  58. package/dist/esm/utils/getEditRowQuery.js +10 -0
  59. package/dist/esm/utils/getEditRowQuery.js.map +1 -0
  60. package/dist/esm/utils/getGenerateTableSchemaQuery.js +18 -0
  61. package/dist/esm/utils/getGenerateTableSchemaQuery.js.map +1 -0
  62. package/dist/esm/utils/getGetPrimaryKeysQuery.js +9 -0
  63. package/dist/esm/utils/getGetPrimaryKeysQuery.js.map +1 -0
  64. package/dist/esm/utils/getInsertKeys.js +7 -0
  65. package/dist/esm/utils/getInsertKeys.js.map +1 -0
  66. package/dist/esm/utils/getInsertQueries.js +14 -0
  67. package/dist/esm/utils/getInsertQueries.js.map +1 -0
  68. package/dist/esm/utils/getListTablesQuery.js +4 -0
  69. package/dist/esm/utils/getListTablesQuery.js.map +1 -0
  70. package/dist/esm/utils/getSelectAllCountQuery.js +2 -0
  71. package/dist/esm/utils/getSelectAllCountQuery.js.map +1 -0
  72. package/dist/esm/utils/getSelectAllQuery.js +2 -0
  73. package/dist/esm/utils/getSelectAllQuery.js.map +1 -0
  74. package/dist/esm/utils/index.js +16 -0
  75. package/dist/esm/utils/index.js.map +1 -1
  76. package/dist/esm/utils/splitPrimaryKeys.js +3 -0
  77. package/dist/esm/utils/splitPrimaryKeys.js.map +1 -0
  78. package/dist/types/Pgsql.d.ts +45 -4
  79. package/dist/types/constants.d.ts +1 -0
  80. package/dist/types/types.d.ts +66 -7
  81. package/dist/types/utils/createSchemaQuery.d.ts +2 -0
  82. package/dist/types/utils/encodeValue.d.ts +3 -0
  83. package/dist/types/utils/getAddColumnsQuery.d.ts +3 -0
  84. package/dist/types/utils/getCreateTableQuery.d.ts +3 -0
  85. package/dist/types/utils/getDeleteRowsQuery.d.ts +3 -0
  86. package/dist/types/utils/getDropSchemaQuery.d.ts +2 -0
  87. package/dist/types/utils/getDropTableQuery.d.ts +2 -0
  88. package/dist/types/utils/getEditRowQuery.d.ts +3 -0
  89. package/dist/types/utils/getGenerateTableSchemaQuery.d.ts +2 -0
  90. package/dist/types/utils/getGetPrimaryKeysQuery.d.ts +2 -0
  91. package/dist/types/utils/getInsertKeys.d.ts +3 -0
  92. package/dist/types/utils/getInsertQueries.d.ts +3 -0
  93. package/dist/types/utils/getListTablesQuery.d.ts +2 -0
  94. package/dist/types/utils/getSelectAllCountQuery.d.ts +2 -0
  95. package/dist/types/utils/getSelectAllQuery.d.ts +2 -0
  96. package/dist/types/utils/index.d.ts +16 -0
  97. package/dist/types/utils/splitPrimaryKeys.d.ts +2 -0
  98. package/package.json +5 -3
  99. package/src/Pgsql.ts +310 -20
  100. package/src/constants.ts +3 -0
  101. package/src/types.ts +76 -8
  102. package/src/utils/createSchemaQuery.ts +1 -0
  103. package/src/utils/encodeValue.ts +11 -0
  104. package/src/utils/getAddColumnsQuery.ts +4 -0
  105. package/src/utils/getCreateTableQuery.ts +4 -0
  106. package/src/utils/getDeleteRowsQuery.ts +10 -0
  107. package/src/utils/getDropSchemaQuery.ts +1 -0
  108. package/src/utils/getDropTableQuery.ts +1 -0
  109. package/src/utils/getEditRowQuery.ts +12 -0
  110. package/src/utils/getGenerateTableSchemaQuery.ts +17 -0
  111. package/src/utils/getGetPrimaryKeysQuery.ts +8 -0
  112. package/src/utils/getInsertKeys.ts +9 -0
  113. package/src/utils/getInsertQueries.ts +18 -0
  114. package/src/utils/getListTablesQuery.ts +3 -0
  115. package/src/utils/getSelectAllCountQuery.ts +1 -0
  116. package/src/utils/getSelectAllQuery.ts +1 -0
  117. package/src/utils/index.ts +16 -0
  118. package/src/utils/splitPrimaryKeys.ts +3 -0
@@ -0,0 +1,9 @@
1
+ import { Row } from '../types';
2
+
3
+ function getInsertKeys(rows: Row[]): string[] {
4
+ const allKeys = {};
5
+ rows.forEach(x => Object.assign(allKeys, x));
6
+ return Object.keys(allKeys);
7
+ }
8
+
9
+ export default getInsertKeys;
@@ -0,0 +1,18 @@
1
+ import { Row } from '../types';
2
+ import { encodeValue, getInsertKeys } from '../utils';
3
+ import _ from 'lodash';
4
+
5
+ function getInsertQueries(schema: string, table: string, insertRows: Row[], chunkSize: number): string[] {
6
+ const rows = _.isArray(insertRows) ? insertRows : [insertRows];
7
+
8
+ const keys = getInsertKeys(rows);
9
+ const stringifyRow = (row: Row) => `${keys.map(key => encodeValue(row[key])).join(', ')}`;
10
+
11
+ return _.chain(rows)
12
+ .chunk(chunkSize)
13
+ .map((chunk) => `insert into ${schema}.${table} (${keys.join(', ')})
14
+ values (${chunk.map(stringifyRow).join('), (')});`)
15
+ .value();
16
+ }
17
+
18
+ export default getInsertQueries;
@@ -0,0 +1,3 @@
1
+ export default (schema: string) => `SELECT table_name FROM information_schema.tables
2
+ WHERE table_schema = '${schema}'
3
+ and table_type = 'BASE TABLE';`;
@@ -0,0 +1 @@
1
+ export default (query: string) => `select count(*) from (${query}) x`;
@@ -0,0 +1 @@
1
+ export default (query: string, offset: number, chunkSize: number) => `${query} offset ${offset} limit ${chunkSize}`;
@@ -3,3 +3,19 @@
3
3
  */
4
4
 
5
5
  export { default as extractDatabaseNames } from './extractDatabaseNames';
6
+ export { default as getInsertKeys } from './getInsertKeys';
7
+ export { default as encodeValue } from './encodeValue';
8
+ export { default as splitPrimaryKeys } from './splitPrimaryKeys';
9
+ export { default as getListTablesQuery } from './getListTablesQuery';
10
+ export { default as createSchemaQuery } from './createSchemaQuery';
11
+ export { default as getDropSchemaQuery } from './getDropSchemaQuery';
12
+ export { default as getCreateTableQuery } from './getCreateTableQuery';
13
+ export { default as getDropTableQuery } from './getDropTableQuery';
14
+ export { default as getAddColumnsQuery } from './getAddColumnsQuery';
15
+ export { default as getInsertQueries } from './getInsertQueries';
16
+ export { default as getSelectAllCountQuery } from './getSelectAllCountQuery';
17
+ export { default as getSelectAllQuery } from './getSelectAllQuery';
18
+ export { default as getEditRowQuery } from './getEditRowQuery';
19
+ export { default as getDeleteRowsQuery } from './getDeleteRowsQuery';
20
+ export { default as getGenerateTableSchemaQuery } from './getGenerateTableSchemaQuery';
21
+ export { default as getGetPrimaryKeysQuery } from './getGetPrimaryKeysQuery';
@@ -0,0 +1,3 @@
1
+ import _ from 'lodash';
2
+
3
+ export default (primaryKeys: string) => primaryKeys.split(',').map(x => _.trim(x));