typeorm 0.3.6-dev.9d331b1 → 0.3.6-dev.b84cb9b

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 (136) hide show
  1. package/README.md +33 -13
  2. package/browser/cache/DbQueryResultCache.js +9 -1
  3. package/browser/cache/DbQueryResultCache.js.map +1 -1
  4. package/browser/data-source/DataSourceOptions.d.ts +2 -1
  5. package/browser/data-source/DataSourceOptions.js.map +1 -1
  6. package/browser/decorator/Index.js +1 -0
  7. package/browser/decorator/Index.js.map +1 -1
  8. package/browser/decorator/columns/PrimaryColumn.js +4 -1
  9. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  10. package/browser/decorator/options/IndexOptions.d.ts +8 -0
  11. package/browser/decorator/options/IndexOptions.js.map +1 -1
  12. package/browser/driver/DriverFactory.js +4 -0
  13. package/browser/driver/DriverFactory.js.map +1 -1
  14. package/browser/driver/spanner/SpannerConnectionCredentialsOptions.d.ts +17 -0
  15. package/browser/driver/spanner/SpannerConnectionCredentialsOptions.js +3 -0
  16. package/browser/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -0
  17. package/browser/driver/spanner/SpannerConnectionOptions.d.ts +120 -0
  18. package/browser/driver/spanner/SpannerConnectionOptions.js +3 -0
  19. package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -0
  20. package/browser/driver/spanner/SpannerDriver.d.ts +240 -0
  21. package/browser/driver/spanner/SpannerDriver.js +565 -0
  22. package/browser/driver/spanner/SpannerDriver.js.map +1 -0
  23. package/browser/driver/spanner/SpannerQueryRunner.d.ts +350 -0
  24. package/browser/driver/spanner/SpannerQueryRunner.js +1359 -0
  25. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -0
  26. package/browser/driver/types/ColumnTypes.d.ts +1 -1
  27. package/browser/driver/types/ColumnTypes.js.map +1 -1
  28. package/browser/driver/types/DatabaseType.d.ts +1 -1
  29. package/browser/driver/types/DatabaseType.js.map +1 -1
  30. package/browser/entity-schema/EntitySchemaIndexOptions.d.ts +8 -0
  31. package/browser/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  32. package/browser/entity-schema/EntitySchemaTransformer.js +1 -0
  33. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  34. package/browser/find-options/FindOneOptions.d.ts +1 -1
  35. package/browser/find-options/FindOneOptions.js.map +1 -1
  36. package/browser/find-options/FindOptionsUtils.d.ts +2 -1
  37. package/browser/find-options/FindOptionsUtils.js +2 -1
  38. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  39. package/browser/logger/AdvancedConsoleLogger.d.ts +1 -1
  40. package/browser/logger/AdvancedConsoleLogger.js +1 -1
  41. package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
  42. package/browser/metadata/IndexMetadata.d.ts +8 -0
  43. package/browser/metadata/IndexMetadata.js +9 -0
  44. package/browser/metadata/IndexMetadata.js.map +1 -1
  45. package/browser/metadata-args/IndexMetadataArgs.d.ts +8 -0
  46. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  47. package/browser/metadata-builder/EntityMetadataBuilder.js +13 -6
  48. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  49. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +13 -6
  50. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  51. package/browser/platform/PlatformTools.js +5 -0
  52. package/browser/platform/PlatformTools.js.map +1 -1
  53. package/browser/query-builder/InsertQueryBuilder.js +15 -3
  54. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  55. package/browser/query-builder/QueryExpressionMap.d.ts +1 -1
  56. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  57. package/browser/query-builder/SelectQueryBuilder.d.ts +1 -1
  58. package/browser/query-builder/SelectQueryBuilder.js +25 -4
  59. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  60. package/browser/query-builder/UpdateQueryBuilder.js +18 -7
  61. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  62. package/browser/schema-builder/RdbmsSchemaBuilder.js +15 -1
  63. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  64. package/browser/schema-builder/options/TableIndexOptions.d.ts +8 -0
  65. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  66. package/browser/schema-builder/table/TableIndex.d.ts +8 -0
  67. package/browser/schema-builder/table/TableIndex.js +3 -0
  68. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  69. package/cache/DbQueryResultCache.js +9 -1
  70. package/cache/DbQueryResultCache.js.map +1 -1
  71. package/data-source/DataSourceOptions.d.ts +2 -1
  72. package/data-source/DataSourceOptions.js.map +1 -1
  73. package/decorator/Index.js +1 -0
  74. package/decorator/Index.js.map +1 -1
  75. package/decorator/columns/PrimaryColumn.js +4 -1
  76. package/decorator/columns/PrimaryColumn.js.map +1 -1
  77. package/decorator/options/IndexOptions.d.ts +8 -0
  78. package/decorator/options/IndexOptions.js.map +1 -1
  79. package/driver/DriverFactory.js +4 -0
  80. package/driver/DriverFactory.js.map +1 -1
  81. package/driver/spanner/SpannerConnectionCredentialsOptions.d.ts +17 -0
  82. package/driver/spanner/SpannerConnectionCredentialsOptions.js +4 -0
  83. package/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -0
  84. package/driver/spanner/SpannerConnectionOptions.d.ts +120 -0
  85. package/driver/spanner/SpannerConnectionOptions.js +4 -0
  86. package/driver/spanner/SpannerConnectionOptions.js.map +1 -0
  87. package/driver/spanner/SpannerDriver.d.ts +240 -0
  88. package/driver/spanner/SpannerDriver.js +569 -0
  89. package/driver/spanner/SpannerDriver.js.map +1 -0
  90. package/driver/spanner/SpannerQueryRunner.d.ts +350 -0
  91. package/driver/spanner/SpannerQueryRunner.js +1363 -0
  92. package/driver/spanner/SpannerQueryRunner.js.map +1 -0
  93. package/driver/types/ColumnTypes.d.ts +1 -1
  94. package/driver/types/ColumnTypes.js.map +1 -1
  95. package/driver/types/DatabaseType.d.ts +1 -1
  96. package/driver/types/DatabaseType.js.map +1 -1
  97. package/entity-schema/EntitySchemaIndexOptions.d.ts +8 -0
  98. package/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  99. package/entity-schema/EntitySchemaTransformer.js +1 -0
  100. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  101. package/find-options/FindOneOptions.d.ts +1 -1
  102. package/find-options/FindOneOptions.js.map +1 -1
  103. package/find-options/FindOptionsUtils.d.ts +2 -1
  104. package/find-options/FindOptionsUtils.js +2 -1
  105. package/find-options/FindOptionsUtils.js.map +1 -1
  106. package/logger/AdvancedConsoleLogger.d.ts +1 -1
  107. package/logger/AdvancedConsoleLogger.js +1 -1
  108. package/logger/AdvancedConsoleLogger.js.map +1 -1
  109. package/metadata/IndexMetadata.d.ts +8 -0
  110. package/metadata/IndexMetadata.js +9 -0
  111. package/metadata/IndexMetadata.js.map +1 -1
  112. package/metadata-args/IndexMetadataArgs.d.ts +8 -0
  113. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  114. package/metadata-builder/EntityMetadataBuilder.js +13 -6
  115. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  116. package/metadata-builder/JunctionEntityMetadataBuilder.js +13 -6
  117. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  118. package/package.json +1 -1
  119. package/platform/PlatformTools.js +5 -0
  120. package/platform/PlatformTools.js.map +1 -1
  121. package/query-builder/InsertQueryBuilder.js +15 -3
  122. package/query-builder/InsertQueryBuilder.js.map +1 -1
  123. package/query-builder/QueryExpressionMap.d.ts +1 -1
  124. package/query-builder/QueryExpressionMap.js.map +1 -1
  125. package/query-builder/SelectQueryBuilder.d.ts +1 -1
  126. package/query-builder/SelectQueryBuilder.js +25 -4
  127. package/query-builder/SelectQueryBuilder.js.map +1 -1
  128. package/query-builder/UpdateQueryBuilder.js +18 -7
  129. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  130. package/schema-builder/RdbmsSchemaBuilder.js +15 -1
  131. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  132. package/schema-builder/options/TableIndexOptions.d.ts +8 -0
  133. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  134. package/schema-builder/table/TableIndex.d.ts +8 -0
  135. package/schema-builder/table/TableIndex.js +3 -0
  136. package/schema-builder/table/TableIndex.js.map +1 -1
@@ -0,0 +1,240 @@
1
+ import { Driver, ReturningType } from "../Driver";
2
+ import { SpannerQueryRunner } from "./SpannerQueryRunner";
3
+ import { ObjectLiteral } from "../../common/ObjectLiteral";
4
+ import { ColumnMetadata } from "../../metadata/ColumnMetadata";
5
+ import { Connection } from "../../connection/Connection";
6
+ import { RdbmsSchemaBuilder } from "../../schema-builder/RdbmsSchemaBuilder";
7
+ import { SpannerConnectionOptions } from "./SpannerConnectionOptions";
8
+ import { MappedColumnTypes } from "../types/MappedColumnTypes";
9
+ import { ColumnType } from "../types/ColumnTypes";
10
+ import { DataTypeDefaults } from "../types/DataTypeDefaults";
11
+ import { TableColumn } from "../../schema-builder/table/TableColumn";
12
+ import { EntityMetadata } from "../../metadata/EntityMetadata";
13
+ import { ReplicationMode } from "../types/ReplicationMode";
14
+ import { Table } from "../../schema-builder/table/Table";
15
+ import { View } from "../../schema-builder/view/View";
16
+ import { TableForeignKey } from "../../schema-builder/table/TableForeignKey";
17
+ import { CteCapabilities } from "../types/CteCapabilities";
18
+ /**
19
+ * Organizes communication with Spanner DBMS.
20
+ */
21
+ export declare class SpannerDriver implements Driver {
22
+ /**
23
+ * Connection used by driver.
24
+ */
25
+ connection: Connection;
26
+ /**
27
+ * Cloud Spanner underlying library.
28
+ */
29
+ spanner: any;
30
+ /**
31
+ * Cloud Spanner instance.
32
+ */
33
+ instance: any;
34
+ /**
35
+ * Cloud Spanner database.
36
+ */
37
+ instanceDatabase: any;
38
+ /**
39
+ * Database name.
40
+ */
41
+ database?: string;
42
+ /**
43
+ * Connection options.
44
+ */
45
+ options: SpannerConnectionOptions;
46
+ /**
47
+ * Indicates if replication is enabled.
48
+ */
49
+ isReplicated: boolean;
50
+ /**
51
+ * Indicates if tree tables are supported by this driver.
52
+ */
53
+ treeSupport: boolean;
54
+ /**
55
+ * Represent transaction support by this driver
56
+ */
57
+ transactionSupport: "none";
58
+ /**
59
+ * Gets list of supported column data types by a driver.
60
+ *
61
+ * @see https://cloud.google.com/spanner/docs/reference/standard-sql/data-types
62
+ */
63
+ supportedDataTypes: ColumnType[];
64
+ /**
65
+ * Returns type of upsert supported by driver if any
66
+ */
67
+ readonly supportedUpsertType: undefined;
68
+ /**
69
+ * Gets list of spatial column data types.
70
+ */
71
+ spatialTypes: ColumnType[];
72
+ /**
73
+ * Gets list of column data types that support length by a driver.
74
+ */
75
+ withLengthColumnTypes: ColumnType[];
76
+ /**
77
+ * Gets list of column data types that support length by a driver.
78
+ */
79
+ withWidthColumnTypes: ColumnType[];
80
+ /**
81
+ * Gets list of column data types that support precision by a driver.
82
+ */
83
+ withPrecisionColumnTypes: ColumnType[];
84
+ /**
85
+ * Gets list of column data types that supports scale by a driver.
86
+ */
87
+ withScaleColumnTypes: ColumnType[];
88
+ /**
89
+ * ORM has special columns and we need to know what database column types should be for those columns.
90
+ * Column types are driver dependant.
91
+ */
92
+ mappedDataTypes: MappedColumnTypes;
93
+ /**
94
+ * Default values of length, precision and scale depends on column data type.
95
+ * Used in the cases when length/precision/scale is not specified by user.
96
+ */
97
+ dataTypeDefaults: DataTypeDefaults;
98
+ /**
99
+ * Max length allowed by MySQL for aliases.
100
+ * @see https://dev.mysql.com/doc/refman/5.5/en/identifiers.html
101
+ */
102
+ maxAliasLength: number;
103
+ cteCapabilities: CteCapabilities;
104
+ /**
105
+ * Supported returning types
106
+ */
107
+ private readonly _isReturningSqlSupported;
108
+ constructor(connection: Connection);
109
+ /**
110
+ * Performs connection to the database.
111
+ */
112
+ connect(): Promise<void>;
113
+ /**
114
+ * Makes any action after connection (e.g. create extensions in Postgres driver).
115
+ */
116
+ afterConnect(): Promise<void>;
117
+ /**
118
+ * Closes connection with the database.
119
+ */
120
+ disconnect(): Promise<void>;
121
+ /**
122
+ * Creates a schema builder used to build and sync a schema.
123
+ */
124
+ createSchemaBuilder(): RdbmsSchemaBuilder;
125
+ /**
126
+ * Creates a query runner used to execute database queries.
127
+ */
128
+ createQueryRunner(mode: ReplicationMode): SpannerQueryRunner;
129
+ /**
130
+ * Replaces parameters in the given sql with special escaping character
131
+ * and an array of parameter names to be passed to a query.
132
+ */
133
+ escapeQueryWithParameters(sql: string, parameters: ObjectLiteral, nativeParameters: ObjectLiteral): [string, any[]];
134
+ /**
135
+ * Escapes a column name.
136
+ */
137
+ escape(columnName: string): string;
138
+ /**
139
+ * Build full table name with database name, schema name and table name.
140
+ * E.g. myDB.mySchema.myTable
141
+ */
142
+ buildTableName(tableName: string, schema?: string, database?: string): string;
143
+ /**
144
+ * Parse a target table name or other types and return a normalized table definition.
145
+ */
146
+ parseTableName(target: EntityMetadata | Table | View | TableForeignKey | string): {
147
+ database?: string;
148
+ schema?: string;
149
+ tableName: string;
150
+ };
151
+ /**
152
+ * Prepares given value to a value to be persisted, based on its column type and metadata.
153
+ */
154
+ preparePersistentValue(value: any, columnMetadata: ColumnMetadata): any;
155
+ /**
156
+ * Prepares given value to a value to be persisted, based on its column type or metadata.
157
+ */
158
+ prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any;
159
+ /**
160
+ * Creates a database type from a given column metadata.
161
+ */
162
+ normalizeType(column: {
163
+ type: ColumnType;
164
+ length?: number | string;
165
+ precision?: number | null;
166
+ scale?: number;
167
+ }): string;
168
+ /**
169
+ * Normalizes "default" value of the column.
170
+ *
171
+ * Spanner does not support default values.
172
+ */
173
+ normalizeDefault(columnMetadata: ColumnMetadata): string | undefined;
174
+ /**
175
+ * Normalizes "isUnique" value of the column.
176
+ */
177
+ normalizeIsUnique(column: ColumnMetadata): boolean;
178
+ /**
179
+ * Returns default column lengths, which is required on column creation.
180
+ */
181
+ getColumnLength(column: ColumnMetadata | TableColumn): string;
182
+ /**
183
+ * Creates column type definition including length, precision and scale
184
+ */
185
+ createFullType(column: TableColumn): string;
186
+ /**
187
+ * Obtains a new database connection to a master server.
188
+ * Used for replication.
189
+ * If replication is not setup then returns default connection's database connection.
190
+ */
191
+ obtainMasterConnection(): Promise<any>;
192
+ /**
193
+ * Obtains a new database connection to a slave server.
194
+ * Used for replication.
195
+ * If replication is not setup then returns master (default) connection's database connection.
196
+ */
197
+ obtainSlaveConnection(): Promise<any>;
198
+ /**
199
+ * Creates generated map of values generated or returned by database after INSERT query.
200
+ */
201
+ createGeneratedMap(metadata: EntityMetadata, insertResult: any, entityIndex: number): any;
202
+ /**
203
+ * Differentiate columns of this table and columns from the given column metadatas columns
204
+ * and returns only changed.
205
+ */
206
+ findChangedColumns(tableColumns: TableColumn[], columnMetadatas: ColumnMetadata[]): ColumnMetadata[];
207
+ /**
208
+ * Returns true if driver supports RETURNING / OUTPUT statement.
209
+ */
210
+ isReturningSqlSupported(returningType: ReturningType): boolean;
211
+ /**
212
+ * Returns true if driver supports uuid values generation on its own.
213
+ */
214
+ isUUIDGenerationSupported(): boolean;
215
+ /**
216
+ * Returns true if driver supports fulltext indices.
217
+ */
218
+ isFullTextColumnTypeSupported(): boolean;
219
+ /**
220
+ * Creates an escaped parameter.
221
+ */
222
+ createParameter(parameterName: string, index: number): string;
223
+ /**
224
+ * Loads all driver dependencies.
225
+ */
226
+ protected loadDependencies(): void;
227
+ /**
228
+ * Checks if "DEFAULT" values in the column metadata and in the database are equal.
229
+ */
230
+ protected compareDefaultValues(columnMetadataValue: string | undefined, databaseValue: string | undefined): boolean;
231
+ /**
232
+ * If parameter is a datetime function, e.g. "CURRENT_TIMESTAMP", normalizes it.
233
+ * Otherwise returns original input.
234
+ */
235
+ protected normalizeDatetimeFunction(value?: string): string | undefined;
236
+ /**
237
+ * Escapes a given comment.
238
+ */
239
+ protected escapeComment(comment?: string): string | undefined;
240
+ }