@proteinjs/db-driver-spanner 1.1.1 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +20 -0
- package/.prettierignore +3 -0
- package/.prettierrc +8 -0
- package/CHANGELOG.md +14 -20
- package/LICENSE +21 -0
- package/README.md +29 -29
- package/dist/generated/index.js +1 -1
- package/dist/generated/index.js.map +1 -1
- package/dist/src/SpannerColumnTypeFactory.d.ts.map +1 -1
- package/dist/src/SpannerColumnTypeFactory.js +17 -9
- package/dist/src/SpannerColumnTypeFactory.js.map +1 -1
- package/dist/src/SpannerConfig.d.ts.map +1 -1
- package/dist/src/SpannerDriver.d.ts.map +1 -1
- package/dist/src/SpannerDriver.js +22 -9
- package/dist/src/SpannerDriver.js.map +1 -1
- package/dist/src/SpannerSchemaMetadata.d.ts.map +1 -1
- package/dist/src/SpannerSchemaMetadata.js +25 -14
- package/dist/src/SpannerSchemaMetadata.js.map +1 -1
- package/dist/src/SpannerSchemaOperations.d.ts.map +1 -1
- package/dist/src/SpannerSchemaOperations.js +5 -1
- package/dist/src/SpannerSchemaOperations.js.map +1 -1
- package/dist/test/Crud.test.js.map +1 -1
- package/dist/test/TableManager.test.js.map +1 -1
- package/dist/test/dropTable.d.ts.map +1 -1
- package/dist/test/dropTable.js +7 -2
- package/dist/test/dropTable.js.map +1 -1
- package/generated/index.ts +6 -9
- package/index.ts +1 -1
- package/jest.config.js +9 -18
- package/package.json +46 -40
- package/src/SpannerColumnTypeFactory.ts +23 -12
- package/src/SpannerConfig.ts +6 -6
- package/src/SpannerDriver.ts +125 -107
- package/src/SpannerSchemaMetadata.ts +74 -50
- package/src/SpannerSchemaOperations.ts +51 -26
- package/test/Crud.test.ts +7 -13
- package/test/TableManager.test.ts +12 -17
- package/test/dropTable.ts +16 -7
- package/test/setup.js +1 -1
- package/tsconfig.json +18 -22
package/.eslintrc.js
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
module.exports = {
|
2
|
+
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended', 'prettier'],
|
3
|
+
parser: '@typescript-eslint/parser',
|
4
|
+
plugins: ['@typescript-eslint', 'prettier'],
|
5
|
+
root: true,
|
6
|
+
ignorePatterns: ['**/dist/*', '**/node_modules/*'],
|
7
|
+
|
8
|
+
rules: {
|
9
|
+
'prettier/prettier': ['warn'],
|
10
|
+
curly: ['warn'],
|
11
|
+
'eol-last': ['warn', 'always'],
|
12
|
+
'keyword-spacing': ['warn', { before: true }],
|
13
|
+
'no-undef': 'off',
|
14
|
+
'@typescript-eslint/no-unused-vars': 'off',
|
15
|
+
'@typescript-eslint/no-var-requires': 'off',
|
16
|
+
'@typescript-eslint/no-explicit-any': 'off',
|
17
|
+
'@typescript-eslint/prefer-as-const': 'off',
|
18
|
+
'@typescript-eslint/ban-types': 'off',
|
19
|
+
},
|
20
|
+
};
|
package/.prettierignore
ADDED
package/.prettierrc
ADDED
package/CHANGELOG.md
CHANGED
@@ -3,55 +3,49 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
## [1.1.3](https://github.com/brentbahry/db/compare/@proteinjs/db-driver-spanner@1.1.2...@proteinjs/db-driver-spanner@1.1.3) (2024-05-10)
|
8
7
|
|
9
|
-
### Features
|
10
8
|
|
11
|
-
|
9
|
+
### Bug Fixes
|
12
10
|
|
11
|
+
* add linting and lint all files ([f9859a3](https://github.com/brentbahry/db/commit/f9859a39882376fe7b93aa3b4281b22b2c02b7d5))
|
13
12
|
|
14
13
|
|
15
14
|
|
16
15
|
|
17
|
-
## [1.0.11](https://github.com/brentbahry/db/compare/@proteinjs/db-driver-spanner@1.0.10...@proteinjs/db-driver-spanner@1.0.11) (2024-05-02)
|
18
16
|
|
17
|
+
## [1.1.2](https://github.com/brentbahry/db/compare/@proteinjs/db-driver-spanner@1.1.1...@proteinjs/db-driver-spanner@1.1.2) (2024-05-09)
|
19
18
|
|
20
19
|
### Bug Fixes
|
21
20
|
|
22
|
-
|
23
|
-
|
24
|
-
|
21
|
+
- `SpannerColumnTypeFactory` a `DateColumn` should also be a `TIMESTAMP` in spanner ([29e8b36](https://github.com/brentbahry/db/commit/29e8b36edf2911e0188180d73fa11116482f42ac))
|
25
22
|
|
23
|
+
# [1.1.0](https://github.com/brentbahry/db/compare/@proteinjs/db-driver-spanner@1.0.11...@proteinjs/db-driver-spanner@1.1.0) (2024-05-03)
|
26
24
|
|
25
|
+
### Features
|
27
26
|
|
28
|
-
|
27
|
+
- updated `SpannerConfig` to include `SpannerOptions` ([53d9aae](https://github.com/brentbahry/db/commit/53d9aaeb401b7a1272e3b66df448352de2281226))
|
29
28
|
|
30
|
-
|
29
|
+
## [1.0.11](https://github.com/brentbahry/db/compare/@proteinjs/db-driver-spanner@1.0.10...@proteinjs/db-driver-spanner@1.0.11) (2024-05-02)
|
31
30
|
|
31
|
+
### Bug Fixes
|
32
32
|
|
33
|
+
- db now requires a `DefaultDbDriverFactory` implementation to get default driver ([29daebd](https://github.com/brentbahry/db/commit/29daebdd971b106142eb525380f5a7d12a3d8eb6))
|
33
34
|
|
35
|
+
## [1.0.8](https://github.com/brentbahry/db/compare/@proteinjs/db-driver-spanner@1.0.7...@proteinjs/db-driver-spanner@1.0.8) (2024-04-26)
|
34
36
|
|
37
|
+
**Note:** Version bump only for package @proteinjs/db-driver-spanner
|
35
38
|
|
36
39
|
## [1.0.7](https://github.com/brentbahry/db/compare/@proteinjs/db-driver-spanner@1.0.6...@proteinjs/db-driver-spanner@1.0.7) (2024-04-26)
|
37
40
|
|
38
|
-
|
39
41
|
### Bug Fixes
|
40
42
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
43
|
+
- `SchemaMetadata.tableExists` include condition to query `TABLE_SCHEMA` by default for mysql ([b4e6d22](https://github.com/brentbahry/db/commit/b4e6d224d93db75c83ad75160b83346f2b12d166))
|
46
44
|
|
47
45
|
## [1.0.2](https://github.com/brentbahry/db/compare/@proteinjs/db-driver-spanner@1.0.1...@proteinjs/db-driver-spanner@1.0.2) (2024-04-19)
|
48
46
|
|
49
47
|
**Note:** Version bump only for package @proteinjs/db-driver-spanner
|
50
48
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
49
|
## 1.0.1 (2024-04-19)
|
56
50
|
|
57
51
|
**Note:** Version bump only for package @proteinjs/db-driver-spanner
|
package/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2023 Brent Bahry
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
@@ -3,32 +3,32 @@
|
|
3
3
|
1. [Install Docker](https://docs.docker.com/desktop/install/mac-install/)
|
4
4
|
2. [Install gcloud cli](https://cloud.google.com/sdk/docs/install)
|
5
5
|
3. Setup the [Spanner Emulator](https://cloud.google.com/spanner/docs/emulator#linux-macos) on your local machine
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
6
|
+
- Setup emulator in Docker
|
7
|
+
```
|
8
|
+
docker pull gcr.io/cloud-spanner-emulator/emulator
|
9
|
+
docker run -p 9010:9010 -p 9020:9020 gcr.io/cloud-spanner-emulator/emulator
|
10
|
+
```
|
11
|
+
- Create gcloud config to use when connecting to the emulator
|
12
|
+
```
|
13
|
+
gcloud config configurations create emulator
|
14
|
+
gcloud config set auth/disable_credentials true
|
15
|
+
gcloud config set project proteinjs-test
|
16
|
+
gcloud config set api_endpoint_overrides/spanner http://localhost:9020/
|
17
|
+
```
|
18
|
+
- Note: to switch between configs `gcloud config configurations activate [emulator | default]`
|
19
|
+
- Create instance
|
20
|
+
```
|
21
|
+
gcloud spanner instances create proteinjs-test \
|
22
|
+
--config=emulator-config --description="Protein JS Test Instance" --nodes=1
|
23
|
+
```
|
24
|
+
- Create database
|
25
|
+
```
|
26
|
+
gcloud spanner databases create test --instance=proteinjs-test
|
27
|
+
```
|
28
|
+
- Execute cli query
|
29
|
+
```
|
30
|
+
gcloud spanner databases execute-sql test \
|
31
|
+
--instance='proteinjs-test' \
|
32
|
+
--sql='select table_name from information_schema.tables'
|
33
|
+
```
|
34
|
+
4. Note: every time you restart the emulator, you need to re-create state (like the instance and the db)
|
package/dist/generated/index.js
CHANGED
@@ -21,7 +21,7 @@ require("@proteinjs/db-query");
|
|
21
21
|
require("@proteinjs/reflection");
|
22
22
|
require("@proteinjs/util");
|
23
23
|
/** Generate Source Graph */
|
24
|
-
var sourceGraph = "{\"options\":{\"directed\":true,\"multigraph\":false,\"compound\":false},\"nodes\":[{\"v\":\"@proteinjs/db-driver-spanner/SpannerDriver\",\"value\":{\"packageName\":\"@proteinjs/db-driver-spanner\",\"name\":\"SpannerDriver\",\"filePath\":\"/Users/brentbahry/workspaces/n3xa/packages/proteinjs/packages/db/packages/drivers/spanner/src/SpannerDriver.ts\",\"qualifiedName\":\"@proteinjs/db-driver-spanner/SpannerDriver\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"SPANNER\",\"type\":{\"packageName\":\"@google-cloud/spanner\",\"name\":\"Spanner\",\"filePath\":null,\"qualifiedName\":\"@google-cloud/spanner/Spanner\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":true,\"visibility\":\"private\"},{\"name\":\"SPANNER_INSTANCE\",\"type\":{\"packageName\":\"@google-cloud/spanner\",\"name\":\"Instance\",\"filePath\":null,\"qualifiedName\":\"@google-cloud/spanner/Instance\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":true,\"visibility\":\"private\"},{\"name\":\"SPANNER_DB\",\"type\":{\"packageName\":\"@google-cloud/spanner\",\"name\":\"Database\",\"filePath\":null,\"qualifiedName\":\"@google-cloud/spanner/Database\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":true,\"visibility\":\"private\"},{\"name\":\"logger\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"config\",\"type\":{\"packageName\":\"@proteinjs/db-driver-spanner\",\"name\":\"SpannerConfig\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-driver-spanner/SpannerConfig\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"}],\"methods\":[{\"name\":\"getSpanner\",\"returnType\":{\"packageName\":\"@google-cloud/spanner\",\"name\":\"Spanner\",\"filePath\":null,\"qualifiedName\":\"@google-cloud/spanner/Spanner\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[]},{\"name\":\"getSpannerInstance\",\"returnType\":{\"packageName\":\"@google-cloud/spanner\",\"name\":\"Instance\",\"filePath\":null,\"qualifiedName\":\"@google-cloud/spanner/Instance\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[]},{\"name\":\"getSpannerDb\",\"returnType\":{\"packageName\":\"@google-cloud/spanner\",\"name\":\"Database\",\"filePath\":null,\"qualifiedName\":\"@google-cloud/spanner/Database\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[]},{\"name\":\"getDbName\",\"returnType\":null,\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"getTableManager\",\"returnType\":{\"packageName\":\"@proteinjs/db\",\"name\":\"TableManager\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/TableManager\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"createDbIfNotExists\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"dbExists\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<boolean>\",\"filePath\":null,\"qualifiedName\":\"/Promise<boolean>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"databaseName\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"runQuery\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<any[]>\",\"filePath\":null,\"qualifiedName\":\"/Promise<any[]>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"generateStatement\",\"type\":{\"packageName\":\"\",\"name\":\"(config: DbDriverStatementConfig) => Statement\",\"filePath\":null,\"qualifiedName\":\"/(config: DbDriverStatementConfig) => Statement\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"runDml\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<number>\",\"filePath\":null,\"qualifiedName\":\"/Promise<number>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"generateStatement\",\"type\":{\"packageName\":\"\",\"name\":\"(config: DbDriverStatementConfig) => Statement\",\"filePath\":null,\"qualifiedName\":\"/(config: DbDriverStatementConfig) => Statement\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"runUpdateSchema\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"sql\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/db\",\"name\":\"DbDriver\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/DbDriver\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/db/DbDriver\"},{\"v\":\"@proteinjs/db-driver-spanner/SpannerSchemaMetadata\",\"value\":{\"packageName\":\"@proteinjs/db-driver-spanner\",\"name\":\"SpannerSchemaMetadata\",\"filePath\":\"/Users/brentbahry/workspaces/n3xa/packages/proteinjs/packages/db/packages/drivers/spanner/src/SpannerSchemaMetadata.ts\",\"qualifiedName\":\"@proteinjs/db-driver-spanner/SpannerSchemaMetadata\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[{\"name\":\"tableExists\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<boolean>\",\"filePath\":null,\"qualifiedName\":\"/Promise<boolean>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getColumnMetadata\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<{[columnName: string]: { type: string, isNullable: boolean }}>\",\"filePath\":null,\"qualifiedName\":\"/Promise<{[columnName: string]: { type: string, isNullable: boolean }}>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getPrimaryKey\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string[]>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string[]>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getForeignKeys\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<{[columnName: string]: { referencedTableName: string, referencedColumnName: string }}>\",\"filePath\":null,\"qualifiedName\":\"/Promise<{[columnName: string]: { referencedTableName: string, referencedColumnName: string }}>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getUniqueColumns\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string[]>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string[]>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getIndexes\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<{[keyName: string]: string[]}>\",\"filePath\":null,\"qualifiedName\":\"/Promise<{[keyName: string]: string[]}>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/db\",\"name\":\"SchemaMetadata\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/SchemaMetadata\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/db/SchemaMetadata\"},{\"v\":\"@proteinjs/db-driver-spanner/SpannerSchemaOperations\",\"value\":{\"packageName\":\"@proteinjs/db-driver-spanner\",\"name\":\"SpannerSchemaOperations\",\"filePath\":\"/Users/brentbahry/workspaces/n3xa/packages/proteinjs/packages/db/packages/drivers/spanner/src/SpannerSchemaOperations.ts\",\"qualifiedName\":\"@proteinjs/db-driver-spanner/SpannerSchemaOperations\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"logger\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"spannerDriver\",\"type\":{\"packageName\":\"@proteinjs/db-driver-spanner\",\"name\":\"SpannerDriver\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-driver-spanner/SpannerDriver\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"}],\"methods\":[{\"name\":\"createTable\",\"returnType\":null,\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"alterTable\",\"returnType\":null,\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"tableChanges\",\"type\":{\"packageName\":\"@proteinjs/db\",\"name\":\"TableChanges\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/TableChanges\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/db\",\"name\":\"SchemaOperations\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/SchemaOperations\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/db/SchemaOperations\"}],\"edges\":[{\"v\":\"@proteinjs/db-driver-spanner/SpannerDriver\",\"w\":\"@proteinjs/db/DbDriver\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/db-driver-spanner/SpannerSchemaMetadata\",\"w\":\"@proteinjs/db/SchemaMetadata\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/db-driver-spanner/SpannerSchemaOperations\",\"w\":\"@proteinjs/db/SchemaOperations\",\"value\":\"implements interface\"}]}";
|
24
|
+
var sourceGraph = "{\"options\":{\"directed\":true,\"multigraph\":false,\"compound\":false},\"nodes\":[{\"v\":\"@proteinjs/db-driver-spanner/SpannerDriver\",\"value\":{\"packageName\":\"@proteinjs/db-driver-spanner\",\"name\":\"SpannerDriver\",\"filePath\":\"/home/runner/work/db/db/packages/drivers/spanner/src/SpannerDriver.ts\",\"qualifiedName\":\"@proteinjs/db-driver-spanner/SpannerDriver\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"SPANNER\",\"type\":{\"packageName\":\"@google-cloud/spanner\",\"name\":\"Spanner\",\"filePath\":null,\"qualifiedName\":\"@google-cloud/spanner/Spanner\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":true,\"visibility\":\"private\"},{\"name\":\"SPANNER_INSTANCE\",\"type\":{\"packageName\":\"@google-cloud/spanner\",\"name\":\"Instance\",\"filePath\":null,\"qualifiedName\":\"@google-cloud/spanner/Instance\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":true,\"visibility\":\"private\"},{\"name\":\"SPANNER_DB\",\"type\":{\"packageName\":\"@google-cloud/spanner\",\"name\":\"Database\",\"filePath\":null,\"qualifiedName\":\"@google-cloud/spanner/Database\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":true,\"visibility\":\"private\"},{\"name\":\"logger\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"config\",\"type\":{\"packageName\":\"@proteinjs/db-driver-spanner\",\"name\":\"SpannerConfig\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-driver-spanner/SpannerConfig\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"}],\"methods\":[{\"name\":\"getSpanner\",\"returnType\":{\"packageName\":\"@google-cloud/spanner\",\"name\":\"Spanner\",\"filePath\":null,\"qualifiedName\":\"@google-cloud/spanner/Spanner\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[]},{\"name\":\"getSpannerInstance\",\"returnType\":{\"packageName\":\"@google-cloud/spanner\",\"name\":\"Instance\",\"filePath\":null,\"qualifiedName\":\"@google-cloud/spanner/Instance\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[]},{\"name\":\"getSpannerDb\",\"returnType\":{\"packageName\":\"@google-cloud/spanner\",\"name\":\"Database\",\"filePath\":null,\"qualifiedName\":\"@google-cloud/spanner/Database\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[]},{\"name\":\"getDbName\",\"returnType\":null,\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"getTableManager\",\"returnType\":{\"packageName\":\"@proteinjs/db\",\"name\":\"TableManager\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/TableManager\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"createDbIfNotExists\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"dbExists\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<boolean>\",\"filePath\":null,\"qualifiedName\":\"/Promise<boolean>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"databaseName\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"runQuery\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<any[]>\",\"filePath\":null,\"qualifiedName\":\"/Promise<any[]>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"generateStatement\",\"type\":{\"packageName\":\"\",\"name\":\"(config: DbDriverStatementConfig) => Statement\",\"filePath\":null,\"qualifiedName\":\"/(config: DbDriverStatementConfig) => Statement\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"runDml\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<number>\",\"filePath\":null,\"qualifiedName\":\"/Promise<number>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"generateStatement\",\"type\":{\"packageName\":\"\",\"name\":\"(config: DbDriverStatementConfig) => Statement\",\"filePath\":null,\"qualifiedName\":\"/(config: DbDriverStatementConfig) => Statement\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"runUpdateSchema\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"sql\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/db\",\"name\":\"DbDriver\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/DbDriver\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/db/DbDriver\"},{\"v\":\"@proteinjs/db-driver-spanner/SpannerSchemaMetadata\",\"value\":{\"packageName\":\"@proteinjs/db-driver-spanner\",\"name\":\"SpannerSchemaMetadata\",\"filePath\":\"/home/runner/work/db/db/packages/drivers/spanner/src/SpannerSchemaMetadata.ts\",\"qualifiedName\":\"@proteinjs/db-driver-spanner/SpannerSchemaMetadata\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[{\"name\":\"tableExists\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<boolean>\",\"filePath\":null,\"qualifiedName\":\"/Promise<boolean>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getColumnMetadata\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<{ [columnName: string]: { type: string; isNullable: boolean } }>\",\"filePath\":null,\"qualifiedName\":\"/Promise<{ [columnName: string]: { type: string; isNullable: boolean } }>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getPrimaryKey\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string[]>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string[]>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getForeignKeys\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<{ [columnName: string]: { referencedTableName: string; referencedColumnName: string } }>\",\"filePath\":null,\"qualifiedName\":\"/Promise<{ [columnName: string]: { referencedTableName: string; referencedColumnName: string } }>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getUniqueColumns\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string[]>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string[]>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getIndexes\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<{ [keyName: string]: string[] }>\",\"filePath\":null,\"qualifiedName\":\"/Promise<{ [keyName: string]: string[] }>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/db\",\"name\":\"SchemaMetadata\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/SchemaMetadata\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/db/SchemaMetadata\"},{\"v\":\"@proteinjs/db-driver-spanner/SpannerSchemaOperations\",\"value\":{\"packageName\":\"@proteinjs/db-driver-spanner\",\"name\":\"SpannerSchemaOperations\",\"filePath\":\"/home/runner/work/db/db/packages/drivers/spanner/src/SpannerSchemaOperations.ts\",\"qualifiedName\":\"@proteinjs/db-driver-spanner/SpannerSchemaOperations\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"logger\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"},{\"name\":\"spannerDriver\",\"type\":{\"packageName\":\"@proteinjs/db-driver-spanner\",\"name\":\"SpannerDriver\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-driver-spanner/SpannerDriver\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"}],\"methods\":[{\"name\":\"createTable\",\"returnType\":null,\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"alterTable\",\"returnType\":null,\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"table\",\"type\":{\"packageName\":\"\",\"name\":\"Table<any>\",\"filePath\":null,\"qualifiedName\":\"/Table<any>\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"tableChanges\",\"type\":{\"packageName\":\"@proteinjs/db\",\"name\":\"TableChanges\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/TableChanges\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/db\",\"name\":\"SchemaOperations\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/SchemaOperations\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/db/SchemaOperations\"}],\"edges\":[{\"v\":\"@proteinjs/db-driver-spanner/SpannerDriver\",\"w\":\"@proteinjs/db/DbDriver\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/db-driver-spanner/SpannerSchemaMetadata\",\"w\":\"@proteinjs/db/SchemaMetadata\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/db-driver-spanner/SpannerSchemaOperations\",\"w\":\"@proteinjs/db/SchemaOperations\",\"value\":\"implements interface\"}]}";
|
25
25
|
/** Generate Source Links */
|
26
26
|
var SpannerDriver_1 = require("../src/SpannerDriver");
|
27
27
|
var SpannerSchemaMetadata_1 = require("../src/SpannerSchemaMetadata");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../generated/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,iCAA+B;AAC/B,yBAAuB;AACvB,+BAA6B;AAC7B,iCAA+B;AAC/B,2BAAyB;AAGzB,4BAA4B;AAE5B,IAAM,WAAW,GAAG,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../generated/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,iCAA+B;AAC/B,yBAAuB;AACvB,+BAA6B;AAC7B,iCAA+B;AAC/B,2BAAyB;AAGzB,4BAA4B;AAE5B,IAAM,WAAW,GAAG,uoZAAuoZ,CAAC;AAG5pZ,4BAA4B;AAE5B,sDAAqD;AACrD,sEAAqE;AACrE,0EAAyE;AAEzE,IAAM,WAAW,GAAG;IACnB,4CAA4C,EAAE,6BAAa;IAC3D,oDAAoD,EAAE,6CAAqB;IAC3E,sDAAsD,EAAE,iDAAuB;CAC/E,CAAC;AAGF,kCAAkC;AAElC,oDAAyD;AACzD,6BAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAGjD,2CAAyB"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SpannerColumnTypeFactory.d.ts","sourceRoot":"","sources":["../../src/SpannerColumnTypeFactory.ts"],"names":[],"mappings":"AACA,OAAO,
|
1
|
+
{"version":3,"file":"SpannerColumnTypeFactory.d.ts","sourceRoot":"","sources":["../../src/SpannerColumnTypeFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,MAAM,EAOP,MAAM,eAAe,CAAC;AAGvB,qBAAa,wBAAwB;IACnC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM;CAqB1C"}
|
@@ -8,22 +8,30 @@ var SpannerColumnTypeFactory = /** @class */ (function () {
|
|
8
8
|
function SpannerColumnTypeFactory() {
|
9
9
|
}
|
10
10
|
SpannerColumnTypeFactory.prototype.getType = function (column) {
|
11
|
-
if ((0, util_1.isInstanceOf)(column, db_1.IntegerColumn))
|
11
|
+
if ((0, util_1.isInstanceOf)(column, db_1.IntegerColumn)) {
|
12
12
|
return 'INT64';
|
13
|
-
|
13
|
+
}
|
14
|
+
else if ((0, util_1.isInstanceOf)(column, db_1.StringColumn)) {
|
14
15
|
return "STRING(".concat(column.maxLength, ")");
|
15
|
-
|
16
|
+
}
|
17
|
+
else if ((0, util_1.isInstanceOf)(column, db_1.FloatColumn)) {
|
16
18
|
return 'FLOAT64';
|
17
|
-
|
19
|
+
}
|
20
|
+
else if ((0, util_1.isInstanceOf)(column, db_1.DecimalColumn)) {
|
18
21
|
return column.large ? 'BIGNUMERIC' : 'NUMERIC';
|
19
|
-
|
22
|
+
}
|
23
|
+
else if ((0, util_1.isInstanceOf)(column, db_1.BooleanColumn)) {
|
20
24
|
return 'BOOL';
|
21
|
-
|
22
|
-
|
23
|
-
else if ((0, util_1.isInstanceOf)(column, db_1.DateTimeColumn))
|
25
|
+
}
|
26
|
+
else if ((0, util_1.isInstanceOf)(column, db_1.DateColumn)) {
|
24
27
|
return 'TIMESTAMP';
|
25
|
-
|
28
|
+
}
|
29
|
+
else if ((0, util_1.isInstanceOf)(column, db_1.DateTimeColumn)) {
|
30
|
+
return 'TIMESTAMP';
|
31
|
+
}
|
32
|
+
else if ((0, util_1.isInstanceOf)(column, db_1.BinaryColumn)) {
|
26
33
|
return "BYTES(".concat(!column.maxLength ? 'MAX' : column.maxLength, ")");
|
34
|
+
}
|
27
35
|
throw new Error("Invalid column type: ".concat(column.constructor.name, ", must extend a base column"));
|
28
36
|
};
|
29
37
|
return SpannerColumnTypeFactory;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SpannerColumnTypeFactory.js","sourceRoot":"","sources":["../../src/SpannerColumnTypeFactory.ts"],"names":[],"mappings":";;;AAAA,wCAA+C;AAC/C,
|
1
|
+
{"version":3,"file":"SpannerColumnTypeFactory.js","sourceRoot":"","sources":["../../src/SpannerColumnTypeFactory.ts"],"names":[],"mappings":";;;AAAA,wCAA+C;AAC/C,oCAUuB;AAEvB,uCAAuC;AACvC;IAAA;IAsBA,CAAC;IArBC,0CAAO,GAAP,UAAQ,MAAwB;QAC9B,IAAI,IAAA,mBAAY,EAAC,MAAM,EAAE,kBAAa,CAAC,EAAE;YACvC,OAAO,OAAO,CAAC;SAChB;aAAM,IAAI,IAAA,mBAAY,EAAC,MAAM,EAAE,iBAAY,CAAC,EAAE;YAC7C,OAAO,iBAAW,MAAuB,CAAC,SAAS,MAAG,CAAC;SACxD;aAAM,IAAI,IAAA,mBAAY,EAAC,MAAM,EAAE,gBAAW,CAAC,EAAE;YAC5C,OAAO,SAAS,CAAC;SAClB;aAAM,IAAI,IAAA,mBAAY,EAAC,MAAM,EAAE,kBAAa,CAAC,EAAE;YAC9C,OAAQ,MAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;SACnE;aAAM,IAAI,IAAA,mBAAY,EAAC,MAAM,EAAE,kBAAa,CAAC,EAAE;YAC9C,OAAO,MAAM,CAAC;SACf;aAAM,IAAI,IAAA,mBAAY,EAAC,MAAM,EAAE,eAAU,CAAC,EAAE;YAC3C,OAAO,WAAW,CAAC;SACpB;aAAM,IAAI,IAAA,mBAAY,EAAC,MAAM,EAAE,mBAAc,CAAC,EAAE;YAC/C,OAAO,WAAW,CAAC;SACpB;aAAM,IAAI,IAAA,mBAAY,EAAC,MAAM,EAAE,iBAAY,CAAC,EAAE;YAC7C,OAAO,gBAAS,CAAE,MAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,MAAuB,CAAC,SAAS,MAAG,CAAC;SACrG;QAED,MAAM,IAAI,KAAK,CAAC,+BAAwB,MAAM,CAAC,WAAW,CAAC,IAAI,gCAA6B,CAAC,CAAC;IAChG,CAAC;IACH,+BAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBY,4DAAwB"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SpannerConfig.d.ts","sourceRoot":"","sources":["../../src/SpannerConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,
|
1
|
+
{"version":3,"file":"SpannerConfig.d.ts","sourceRoot":"","sources":["../../src/SpannerConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SpannerDriver.d.ts","sourceRoot":"","sources":["../../src/SpannerDriver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKhD,qBAAa,aAAc,YAAW,QAAQ;
|
1
|
+
{"version":3,"file":"SpannerDriver.d.ts","sourceRoot":"","sources":["../../src/SpannerDriver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKhD,qBAAa,aAAc,YAAW,QAAQ;IAC5C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAU;IAChC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAW;IAC1C,OAAO,CAAC,MAAM,CAAC,UAAU,CAAW;IACpC,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,aAAa;IAIjC,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,YAAY;IAQpB,SAAS;IAIT,eAAe,IAAI,YAAY;IAOzB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;YAQ5B,QAAQ;IAKhB,QAAQ,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAmBjG;;;;OAIG;IACG,MAAM,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBhG;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAUlD"}
|
@@ -50,21 +50,25 @@ var SpannerDriver = /** @class */ (function () {
|
|
50
50
|
}
|
51
51
|
SpannerDriver.prototype.getSpanner = function () {
|
52
52
|
if (!SpannerDriver.SPANNER) {
|
53
|
-
if (this.config.spannerOptions)
|
53
|
+
if (this.config.spannerOptions) {
|
54
54
|
SpannerDriver.SPANNER = new spanner_1.Spanner(Object.assign({ projectId: this.config.projectId }, this.config.spannerOptions));
|
55
|
-
|
55
|
+
}
|
56
|
+
else {
|
56
57
|
SpannerDriver.SPANNER = new spanner_1.Spanner({ projectId: this.config.projectId });
|
58
|
+
}
|
57
59
|
}
|
58
60
|
return SpannerDriver.SPANNER;
|
59
61
|
};
|
60
62
|
SpannerDriver.prototype.getSpannerInstance = function () {
|
61
|
-
if (!SpannerDriver.SPANNER_INSTANCE)
|
63
|
+
if (!SpannerDriver.SPANNER_INSTANCE) {
|
62
64
|
SpannerDriver.SPANNER_INSTANCE = this.getSpanner().instance(this.config.instanceName);
|
65
|
+
}
|
63
66
|
return SpannerDriver.SPANNER_INSTANCE;
|
64
67
|
};
|
65
68
|
SpannerDriver.prototype.getSpannerDb = function () {
|
66
|
-
if (!SpannerDriver.SPANNER_DB)
|
69
|
+
if (!SpannerDriver.SPANNER_DB) {
|
67
70
|
SpannerDriver.SPANNER_DB = this.getSpannerInstance().database(this.config.databaseName);
|
71
|
+
}
|
68
72
|
return SpannerDriver.SPANNER_DB;
|
69
73
|
};
|
70
74
|
SpannerDriver.prototype.getDbName = function () {
|
@@ -82,8 +86,9 @@ var SpannerDriver = /** @class */ (function () {
|
|
82
86
|
switch (_a.label) {
|
83
87
|
case 0: return [4 /*yield*/, this.dbExists(this.getDbName())];
|
84
88
|
case 1:
|
85
|
-
if (_a.sent())
|
89
|
+
if (_a.sent()) {
|
86
90
|
return [2 /*return*/];
|
91
|
+
}
|
87
92
|
return [4 /*yield*/, this.getSpannerInstance().createDatabase(this.getDbName())];
|
88
93
|
case 2:
|
89
94
|
_a.sent();
|
@@ -111,7 +116,11 @@ var SpannerDriver = /** @class */ (function () {
|
|
111
116
|
return __generator(this, function (_b) {
|
112
117
|
switch (_b.label) {
|
113
118
|
case 0:
|
114
|
-
_a = generateStatement({
|
119
|
+
_a = generateStatement({
|
120
|
+
useParams: true,
|
121
|
+
useNamedParams: true,
|
122
|
+
prefixTablesWithDb: false,
|
123
|
+
}), sql = _a.sql, namedParams = _a.namedParams;
|
115
124
|
_b.label = 1;
|
116
125
|
case 1:
|
117
126
|
_b.trys.push([1, 3, , 4]);
|
@@ -122,7 +131,7 @@ var SpannerDriver = /** @class */ (function () {
|
|
122
131
|
return [2 /*return*/, rows.map(function (row) { return row.toJSON(); })];
|
123
132
|
case 3:
|
124
133
|
error_1 = _b.sent();
|
125
|
-
this.logger.error("Failed when executing query: ".concat(sql, "\nreason: ").concat(error_1.details));
|
134
|
+
this.logger.error("Failed when executing query: ".concat(sql, "\nparams: ").concat(JSON.stringify(namedParams, null, 2), "\nreason: ").concat(error_1.details));
|
126
135
|
throw error_1;
|
127
136
|
case 4: return [2 /*return*/];
|
128
137
|
}
|
@@ -141,7 +150,11 @@ var SpannerDriver = /** @class */ (function () {
|
|
141
150
|
return __generator(this, function (_b) {
|
142
151
|
switch (_b.label) {
|
143
152
|
case 0:
|
144
|
-
_a = generateStatement({
|
153
|
+
_a = generateStatement({
|
154
|
+
useParams: true,
|
155
|
+
useNamedParams: true,
|
156
|
+
prefixTablesWithDb: false,
|
157
|
+
}), sql = _a.sql, namedParams = _a.namedParams;
|
145
158
|
_b.label = 1;
|
146
159
|
case 1:
|
147
160
|
_b.trys.push([1, 3, , 4]);
|
@@ -167,7 +180,7 @@ var SpannerDriver = /** @class */ (function () {
|
|
167
180
|
case 2: return [2 /*return*/, _b.sent()];
|
168
181
|
case 3:
|
169
182
|
error_2 = _b.sent();
|
170
|
-
this.logger.error("Failed when executing dml: ".concat(sql, "\nreason: ").concat(error_2.details));
|
183
|
+
this.logger.error("Failed when executing dml: ".concat(sql, "\nparams: ").concat(JSON.stringify(namedParams, null, 2), "\nreason: ").concat(error_2.details));
|
171
184
|
throw error_2;
|
172
185
|
case 4: return [2 /*return*/];
|
173
186
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SpannerDriver.js","sourceRoot":"","sources":["../../src/SpannerDriver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAoE;AACpE,oCAAgF;AAEhF,wCAAyC;AAEzC,qEAAoE;AACpE,uEAAsE;AACtE,iEAAgE;AAEhE;
|
1
|
+
{"version":3,"file":"SpannerDriver.js","sourceRoot":"","sources":["../../src/SpannerDriver.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SpannerSchemaMetadata.d.ts","sourceRoot":"","sources":["../../src/SpannerSchemaMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,cAAc,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE5F,qBAAa,qBAAsB,SAAQ,cAAc;IACjD,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAOhD,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"SpannerSchemaMetadata.d.ts","sourceRoot":"","sources":["../../src/SpannerSchemaMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,cAAc,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE5F,qBAAa,qBAAsB,SAAQ,cAAc;IACjD,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAOhD,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAAC;IAiB9G,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKnD,cAAc,CAClB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAChB,OAAO,CAAC;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG;YAAE,mBAAmB,EAAE,MAAM,CAAC;YAAC,oBAAoB,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAwD7F,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAetD,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;CAqB9E"}
|
@@ -92,7 +92,7 @@ var SpannerSchemaMetadata = /** @class */ (function (_super) {
|
|
92
92
|
switch (_a.label) {
|
93
93
|
case 0:
|
94
94
|
qb = db_1.QueryBuilder.fromObject({
|
95
|
-
|
95
|
+
TABLE_NAME: table.name,
|
96
96
|
}, 'COLUMNS');
|
97
97
|
generateStatement = function (config) { return qb.toSql(__assign({ dbName: 'INFORMATION_SCHEMA' }, config)); };
|
98
98
|
return [4 /*yield*/, this.dbDriver.runQuery(generateStatement)];
|
@@ -128,10 +128,12 @@ var SpannerSchemaMetadata = /** @class */ (function (_super) {
|
|
128
128
|
switch (_a.label) {
|
129
129
|
case 0:
|
130
130
|
tableConstraintsQb = db_1.QueryBuilder.fromObject({
|
131
|
-
|
132
|
-
|
131
|
+
TABLE_NAME: table.name,
|
132
|
+
CONSTRAINT_TYPE: 'FOREIGN KEY',
|
133
133
|
}, 'TABLE_CONSTRAINTS');
|
134
|
-
generateTableConstraintsStatement = function (config) {
|
134
|
+
generateTableConstraintsStatement = function (config) {
|
135
|
+
return tableConstraintsQb.toSql(__assign({ dbName: 'INFORMATION_SCHEMA' }, config));
|
136
|
+
};
|
135
137
|
return [4 /*yield*/, this.dbDriver.runQuery(generateTableConstraintsStatement)];
|
136
138
|
case 1:
|
137
139
|
tableConstraints = _a.sent();
|
@@ -142,26 +144,32 @@ var SpannerSchemaMetadata = /** @class */ (function (_super) {
|
|
142
144
|
switch (_b.label) {
|
143
145
|
case 0:
|
144
146
|
referentialConstraintsQb = db_1.QueryBuilder.fromObject({
|
145
|
-
|
147
|
+
CONSTRAINT_NAME: tableConstraint['CONSTRAINT_NAME'],
|
146
148
|
}, 'REFERENTIAL_CONSTRAINTS');
|
147
|
-
generateReferentialConstraintsStatement = function (config) {
|
149
|
+
generateReferentialConstraintsStatement = function (config) {
|
150
|
+
return referentialConstraintsQb.toSql(__assign({ dbName: 'INFORMATION_SCHEMA' }, config));
|
151
|
+
};
|
148
152
|
return [4 /*yield*/, this_1.dbDriver.runQuery(generateReferentialConstraintsStatement)];
|
149
153
|
case 1:
|
150
154
|
referentialConstraints = _b.sent();
|
151
155
|
referencedTableConstraintName = referentialConstraints[0]['UNIQUE_CONSTRAINT_NAME'];
|
152
156
|
referenceTableConstraintsQb = db_1.QueryBuilder.fromObject({
|
153
|
-
|
157
|
+
CONSTRAINT_NAME: referencedTableConstraintName,
|
154
158
|
}, 'TABLE_CONSTRAINTS');
|
155
|
-
generateReferenceTableConstraintsStatement = function (config) {
|
159
|
+
generateReferenceTableConstraintsStatement = function (config) {
|
160
|
+
return referenceTableConstraintsQb.toSql(__assign({ dbName: 'INFORMATION_SCHEMA' }, config));
|
161
|
+
};
|
156
162
|
return [4 /*yield*/, this_1.dbDriver.runQuery(generateReferenceTableConstraintsStatement)];
|
157
163
|
case 2:
|
158
164
|
referenceTableConstraints = _b.sent();
|
159
165
|
referencedTableName = referenceTableConstraints[0]['TABLE_NAME'];
|
160
166
|
keyColumnUsageQb = db_1.QueryBuilder.fromObject({
|
161
|
-
|
162
|
-
|
167
|
+
TABLE_NAME: table.name,
|
168
|
+
CONSTRAINT_NAME: tableConstraint['CONSTRAINT_NAME'],
|
163
169
|
}, 'KEY_COLUMN_USAGE');
|
164
|
-
generateKeyColumnUsageStatement = function (config) {
|
170
|
+
generateKeyColumnUsageStatement = function (config) {
|
171
|
+
return keyColumnUsageQb.toSql(__assign({ dbName: 'INFORMATION_SCHEMA' }, config));
|
172
|
+
};
|
165
173
|
return [4 /*yield*/, this_1.dbDriver.runQuery(generateKeyColumnUsageStatement)];
|
166
174
|
case 3:
|
167
175
|
keyColumnUsages = _b.sent();
|
@@ -202,8 +210,9 @@ var SpannerSchemaMetadata = /** @class */ (function (_super) {
|
|
202
210
|
indexes = _a.sent();
|
203
211
|
uniqueColumns = [];
|
204
212
|
for (indexName in indexes) {
|
205
|
-
if (!indexName.endsWith('_unique'))
|
213
|
+
if (!indexName.endsWith('_unique')) {
|
206
214
|
continue;
|
215
|
+
}
|
207
216
|
indexedColumns = indexes[indexName];
|
208
217
|
uniqueColumns.push.apply(uniqueColumns, indexedColumns);
|
209
218
|
}
|
@@ -228,10 +237,12 @@ var SpannerSchemaMetadata = /** @class */ (function (_super) {
|
|
228
237
|
indexes = {};
|
229
238
|
for (_i = 0, results_2 = results; _i < results_2.length; _i++) {
|
230
239
|
row = results_2[_i];
|
231
|
-
if (!row['INDEX_NAME'])
|
240
|
+
if (!row['INDEX_NAME']) {
|
232
241
|
continue;
|
233
|
-
|
242
|
+
}
|
243
|
+
if (!indexes[row['INDEX_NAME']]) {
|
234
244
|
indexes[row['INDEX_NAME']] = [];
|
245
|
+
}
|
235
246
|
indexes[row['INDEX_NAME']].push(row['COLUMN_NAME']);
|
236
247
|
}
|
237
248
|
return [2 /*return*/, indexes];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SpannerSchemaMetadata.js","sourceRoot":"","sources":["../../src/SpannerSchemaMetadata.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAA4F;AAE5F;IAA2C,yCAAc;IAAzD;;
|
1
|
+
{"version":3,"file":"SpannerSchemaMetadata.js","sourceRoot":"","sources":["../../src/SpannerSchemaMetadata.ts"],"names":[],"mappings":"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"}
|