typeorm 0.2.42-dev.ece0da0 → 0.2.42-dev.f224f24
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/browser/connection/BaseConnectionOptions.d.ts +5 -0
- package/browser/connection/BaseConnectionOptions.js.map +1 -1
- package/browser/connection/Connection.d.ts +4 -0
- package/browser/connection/Connection.js +1 -0
- package/browser/connection/Connection.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +38 -14
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +6 -0
- package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaTransformer.js +1 -0
- package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/browser/find-options/operator/Not.d.ts +1 -1
- package/browser/find-options/operator/Not.js +1 -1
- package/browser/find-options/operator/Not.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.d.ts +9 -0
- package/browser/query-builder/SelectQueryBuilder.js +27 -20
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.d.ts +2 -2
- package/browser/query-runner/BaseQueryRunner.js +3 -3
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.js +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/commands/CommandUtils.d.ts +4 -0
- package/commands/CommandUtils.js +10 -0
- package/commands/CommandUtils.js.map +1 -1
- package/commands/MigrationCreateCommand.d.ts +2 -0
- package/commands/MigrationCreateCommand.js +7 -1
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.d.ts +2 -0
- package/commands/MigrationGenerateCommand.js +7 -1
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/connection/BaseConnectionOptions.d.ts +5 -0
- package/connection/BaseConnectionOptions.js.map +1 -1
- package/connection/Connection.d.ts +4 -0
- package/connection/Connection.js +1 -0
- package/connection/Connection.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
- package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +38 -14
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/entity-schema/EntitySchemaRelationOptions.d.ts +6 -0
- package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.js +1 -0
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/find-options/operator/Not.d.ts +1 -1
- package/find-options/operator/Not.js +1 -1
- package/find-options/operator/Not.js.map +1 -1
- package/package.json +1 -1
- package/query-builder/SelectQueryBuilder.d.ts +9 -0
- package/query-builder/SelectQueryBuilder.js +27 -20
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-runner/BaseQueryRunner.d.ts +2 -2
- package/query-runner/BaseQueryRunner.js +3 -3
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.js +1 -1
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
|
@@ -38,6 +38,12 @@ export interface EntitySchemaRelationOptions {
|
|
|
38
38
|
* Can be used only for many-to-one and owner one-to-one relations.
|
|
39
39
|
*/
|
|
40
40
|
primary?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Indicates whether foreign key constraints will be created for join columns.
|
|
43
|
+
* Can be used only for many-to-one and owner one-to-one relations.
|
|
44
|
+
* Defaults to true.
|
|
45
|
+
*/
|
|
46
|
+
createForeignKeyConstraints?: boolean;
|
|
41
47
|
/**
|
|
42
48
|
* Join table options of this column. If set to true then it simply means that it has a join table.
|
|
43
49
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/entity-schema/EntitySchemaRelationOptions.ts"],"names":[],"mappings":"","file":"EntitySchemaRelationOptions.js","sourcesContent":["import {JoinColumnOptions} from \"../decorator/options/JoinColumnOptions\";\nimport {RelationType} from \"../metadata/types/RelationTypes\";\nimport {JoinTableMultipleColumnsOptions} from \"../decorator/options/JoinTableMultipleColumnsOptions\";\nimport {DeferrableType} from \"../metadata/types/DeferrableType\";\nimport {OnDeleteType} from \"../metadata/types/OnDeleteType\";\nimport {OnUpdateType} from \"../metadata/types/OnUpdateType\";\nimport { JoinTableOptions } from \"../decorator/options/JoinTableOptions\";\n\n\nexport interface EntitySchemaRelationOptions {\n\n /**\n * Indicates with which entity this relation is made.\n */\n target: Function|string;\n\n /**\n * Type of relation. Can be one of the value of the RelationTypes class.\n */\n type: RelationType;\n\n /**\n * Inverse side of the relation.\n */\n inverseSide?: string;\n\n /**\n * Indicates if this relation will be lazily loaded.\n */\n lazy?: boolean;\n\n /**\n * Indicates if this relation will be eagerly loaded.\n */\n eager?: boolean;\n\n /**\n * Indicates if persistence is enabled for the relation.\n * By default its enabled, but if you want to avoid any changes in the relation to be reflected in the database you can disable it.\n * If its disabled you can only change a relation from inverse side of a relation or using relation query builder functionality.\n * This is useful for performance optimization since its disabling avoid multiple extra queries during entity save.\n */\n persistence?: boolean;\n\n /**\n * Indicates if this relation will be a primary key.\n * Can be used only for many-to-one and owner one-to-one relations.\n */\n primary?: boolean;\n\n /**\n * Join table options of this column. If set to true then it simply means that it has a join table.\n */\n joinTable?: boolean|JoinTableOptions|JoinTableMultipleColumnsOptions;\n\n /**\n * Join column options of this column. If set to true then it simply means that it has a join column.\n */\n joinColumn?: boolean|JoinColumnOptions|JoinColumnOptions[];\n\n /**\n * Indicates if this is a parent (can be only many-to-one relation) relation in the tree tables.\n */\n treeParent?: boolean;\n\n /**\n * Indicates if this is a children (can be only one-to-many relation) relation in the tree tables.\n */\n treeChildren?: boolean;\n\n /**\n * If set to true then it means that related object can be allowed to be inserted / updated / removed to the db.\n * This is option a shortcut if you would like to set cascadeInsert, cascadeUpdate and cascadeRemove to true.\n */\n cascade?: boolean|(\"insert\"|\"update\"|\"remove\"|\"soft-remove\"|\"recover\")[];\n\n /**\n * Default database value.\n */\n default?: any;\n\n /**\n * Indicates if relation column value can be nullable or not.\n */\n nullable?: boolean;\n\n /**\n * Database cascade action on delete.\n */\n onDelete?: OnDeleteType;\n\n /**\n * Database cascade action on update.\n */\n onUpdate?: OnUpdateType;\n\n /**\n * Indicate if foreign key constraints can be deferred.\n */\n deferrable?: DeferrableType;\n\n /**\n * When a child row is removed from its parent, determines if the child row should be orphaned (default) or deleted.\n */\n orphanedRowAction?: \"nullify\" | \"delete\" | \"soft-delete\";\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../src/entity-schema/EntitySchemaRelationOptions.ts"],"names":[],"mappings":"","file":"EntitySchemaRelationOptions.js","sourcesContent":["import {JoinColumnOptions} from \"../decorator/options/JoinColumnOptions\";\nimport {RelationType} from \"../metadata/types/RelationTypes\";\nimport {JoinTableMultipleColumnsOptions} from \"../decorator/options/JoinTableMultipleColumnsOptions\";\nimport {DeferrableType} from \"../metadata/types/DeferrableType\";\nimport {OnDeleteType} from \"../metadata/types/OnDeleteType\";\nimport {OnUpdateType} from \"../metadata/types/OnUpdateType\";\nimport { JoinTableOptions } from \"../decorator/options/JoinTableOptions\";\n\n\nexport interface EntitySchemaRelationOptions {\n\n /**\n * Indicates with which entity this relation is made.\n */\n target: Function|string;\n\n /**\n * Type of relation. Can be one of the value of the RelationTypes class.\n */\n type: RelationType;\n\n /**\n * Inverse side of the relation.\n */\n inverseSide?: string;\n\n /**\n * Indicates if this relation will be lazily loaded.\n */\n lazy?: boolean;\n\n /**\n * Indicates if this relation will be eagerly loaded.\n */\n eager?: boolean;\n\n /**\n * Indicates if persistence is enabled for the relation.\n * By default its enabled, but if you want to avoid any changes in the relation to be reflected in the database you can disable it.\n * If its disabled you can only change a relation from inverse side of a relation or using relation query builder functionality.\n * This is useful for performance optimization since its disabling avoid multiple extra queries during entity save.\n */\n persistence?: boolean;\n\n /**\n * Indicates if this relation will be a primary key.\n * Can be used only for many-to-one and owner one-to-one relations.\n */\n primary?: boolean;\n\n /**\n * Indicates whether foreign key constraints will be created for join columns.\n * Can be used only for many-to-one and owner one-to-one relations.\n * Defaults to true.\n */\n createForeignKeyConstraints?: boolean;\n\n /**\n * Join table options of this column. If set to true then it simply means that it has a join table.\n */\n joinTable?: boolean|JoinTableOptions|JoinTableMultipleColumnsOptions;\n\n /**\n * Join column options of this column. If set to true then it simply means that it has a join column.\n */\n joinColumn?: boolean|JoinColumnOptions|JoinColumnOptions[];\n\n /**\n * Indicates if this is a parent (can be only many-to-one relation) relation in the tree tables.\n */\n treeParent?: boolean;\n\n /**\n * Indicates if this is a children (can be only one-to-many relation) relation in the tree tables.\n */\n treeChildren?: boolean;\n\n /**\n * If set to true then it means that related object can be allowed to be inserted / updated / removed to the db.\n * This is option a shortcut if you would like to set cascadeInsert, cascadeUpdate and cascadeRemove to true.\n */\n cascade?: boolean|(\"insert\"|\"update\"|\"remove\"|\"soft-remove\"|\"recover\")[];\n\n /**\n * Default database value.\n */\n default?: any;\n\n /**\n * Indicates if relation column value can be nullable or not.\n */\n nullable?: boolean;\n\n /**\n * Database cascade action on delete.\n */\n onDelete?: OnDeleteType;\n\n /**\n * Database cascade action on update.\n */\n onUpdate?: OnUpdateType;\n\n /**\n * Indicate if foreign key constraints can be deferred.\n */\n deferrable?: DeferrableType;\n\n /**\n * When a child row is removed from its parent, determines if the child row should be orphaned (default) or deleted.\n */\n orphanedRowAction?: \"nullify\" | \"delete\" | \"soft-delete\";\n}\n"],"sourceRoot":".."}
|
|
@@ -120,6 +120,7 @@ var EntitySchemaTransformer = /** @class */ (function () {
|
|
|
120
120
|
onUpdate: relationSchema.onUpdate,
|
|
121
121
|
deferrable: relationSchema.deferrable,
|
|
122
122
|
primary: relationSchema.primary,
|
|
123
|
+
createForeignKeyConstraints: relationSchema.createForeignKeyConstraints,
|
|
123
124
|
persistence: relationSchema.persistence,
|
|
124
125
|
orphanedRowAction: relationSchema.orphanedRowAction
|
|
125
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/entity-schema/EntitySchemaTransformer.ts"],"names":[],"mappings":"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","file":"EntitySchemaTransformer.js","sourcesContent":["import {EntitySchema} from \"./EntitySchema\";\nimport {MetadataArgsStorage} from \"../metadata-args/MetadataArgsStorage\";\nimport {TableMetadataArgs} from \"../metadata-args/TableMetadataArgs\";\nimport {ColumnMetadataArgs} from \"../metadata-args/ColumnMetadataArgs\";\nimport {IndexMetadataArgs} from \"../metadata-args/IndexMetadataArgs\";\nimport {RelationMetadataArgs} from \"../metadata-args/RelationMetadataArgs\";\nimport {JoinColumnMetadataArgs} from \"../metadata-args/JoinColumnMetadataArgs\";\nimport {JoinTableMetadataArgs} from \"../metadata-args/JoinTableMetadataArgs\";\nimport {JoinTableOptions} from \"../decorator/options/JoinTableOptions\";\nimport {JoinTableMultipleColumnsOptions} from \"../decorator/options/JoinTableMultipleColumnsOptions\";\nimport {ColumnMode} from \"../metadata-args/types/ColumnMode\";\nimport {GeneratedMetadataArgs} from \"../metadata-args/GeneratedMetadataArgs\";\nimport {UniqueMetadataArgs} from \"../metadata-args/UniqueMetadataArgs\";\nimport {CheckMetadataArgs} from \"../metadata-args/CheckMetadataArgs\";\nimport {ExclusionMetadataArgs} from \"../metadata-args/ExclusionMetadataArgs\";\n\n/**\n * Transforms entity schema into metadata args storage.\n * The result will be just like entities read from decorators.\n */\nexport class EntitySchemaTransformer {\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Transforms entity schema into new metadata args storage object.\n */\n transform(schemas: EntitySchema<any>[]): MetadataArgsStorage {\n const metadataArgsStorage = new MetadataArgsStorage();\n\n schemas.forEach(entitySchema => {\n const options = entitySchema.options;\n\n // add table metadata args from the schema\n const tableMetadata: TableMetadataArgs = {\n target: options.target || options.name,\n name: options.tableName,\n database: options.database,\n schema: options.schema,\n type: options.type || \"regular\",\n orderBy: options.orderBy,\n synchronize: options.synchronize,\n withoutRowid: !!options.withoutRowid,\n expression: options.expression\n };\n metadataArgsStorage.tables.push(tableMetadata);\n\n // add columns metadata args from the schema\n Object.keys(options.columns).forEach(columnName => {\n const column = options.columns[columnName]!;\n let mode: ColumnMode = \"regular\";\n if (column.createDate)\n mode = \"createDate\";\n if (column.updateDate)\n mode = \"updateDate\";\n if (column.deleteDate)\n mode = \"deleteDate\";\n if (column.version)\n mode = \"version\";\n if (column.treeChildrenCount)\n mode = \"treeChildrenCount\";\n if (column.treeLevel)\n mode = \"treeLevel\";\n if (column.objectId)\n mode = \"objectId\";\n\n const columnAgrs: ColumnMetadataArgs = {\n target: options.target || options.name,\n mode: mode,\n propertyName: columnName,\n options: {\n type: column.type,\n name: column.objectId ? \"_id\" : column.name,\n length: column.length,\n width: column.width,\n nullable: column.nullable,\n readonly: column.readonly,\n update: column.update,\n select: column.select,\n insert: column.insert,\n primary: column.primary,\n unique: column.unique,\n comment: column.comment,\n default: column.default,\n onUpdate: column.onUpdate,\n precision: column.precision,\n scale: column.scale,\n zerofill: column.zerofill,\n unsigned: column.unsigned,\n charset: column.charset,\n collation: column.collation,\n enum: column.enum,\n asExpression: column.asExpression,\n generatedType: column.generatedType,\n hstoreType: column.hstoreType,\n array: column.array,\n transformer: column.transformer,\n spatialFeatureType: column.spatialFeatureType,\n srid: column.srid\n }\n };\n metadataArgsStorage.columns.push(columnAgrs);\n\n if (column.generated) {\n const generationArgs: GeneratedMetadataArgs = {\n target: options.target || options.name,\n propertyName: columnName,\n strategy: typeof column.generated === \"string\" ? column.generated : \"increment\"\n };\n metadataArgsStorage.generations.push(generationArgs);\n }\n\n if (column.unique)\n metadataArgsStorage.uniques.push({ target: options.target || options.name, columns: [columnName] });\n });\n\n // add relation metadata args from the schema\n if (options.relations) {\n Object.keys(options.relations).forEach(relationName => {\n const relationSchema = options.relations![relationName]!;\n const relation: RelationMetadataArgs = {\n target: options.target || options.name,\n propertyName: relationName,\n relationType: relationSchema.type,\n isLazy: relationSchema.lazy || false,\n type: relationSchema.target,\n inverseSideProperty: relationSchema.inverseSide,\n isTreeParent: relationSchema.treeParent,\n isTreeChildren: relationSchema.treeChildren,\n options: {\n eager: relationSchema.eager || false,\n cascade: relationSchema.cascade,\n nullable: relationSchema.nullable,\n onDelete: relationSchema.onDelete,\n onUpdate: relationSchema.onUpdate,\n deferrable: relationSchema.deferrable,\n primary: relationSchema.primary,\n persistence: relationSchema.persistence,\n orphanedRowAction: relationSchema.orphanedRowAction\n }\n };\n\n metadataArgsStorage.relations.push(relation);\n\n // add join column\n if (relationSchema.joinColumn) {\n if (typeof relationSchema.joinColumn === \"boolean\") {\n const joinColumn: JoinColumnMetadataArgs = {\n target: options.target || options.name,\n propertyName: relationName\n };\n metadataArgsStorage.joinColumns.push(joinColumn);\n } else {\n const joinColumnsOptions = Array.isArray(relationSchema.joinColumn) ? relationSchema.joinColumn : [relationSchema.joinColumn];\n\n for (const joinColumnOption of joinColumnsOptions) {\n const joinColumn: JoinColumnMetadataArgs = {\n target: options.target || options.name,\n propertyName: relationName,\n name: joinColumnOption.name,\n referencedColumnName: joinColumnOption.referencedColumnName\n };\n metadataArgsStorage.joinColumns.push(joinColumn);\n }\n }\n }\n\n // add join table\n if (relationSchema.joinTable) {\n if (typeof relationSchema.joinTable === \"boolean\") {\n const joinTable: JoinTableMetadataArgs = {\n target: options.target || options.name,\n propertyName: relationName\n };\n metadataArgsStorage.joinTables.push(joinTable);\n } else {\n const joinTable: JoinTableMetadataArgs = {\n target: options.target || options.name,\n propertyName: relationName,\n name: relationSchema.joinTable.name,\n database: relationSchema.joinTable.database,\n schema: relationSchema.joinTable.schema,\n joinColumns: ((relationSchema.joinTable as JoinTableOptions).joinColumn ? [(relationSchema.joinTable as JoinTableOptions).joinColumn!] : (relationSchema.joinTable as JoinTableMultipleColumnsOptions).joinColumns) as any,\n inverseJoinColumns: ((relationSchema.joinTable as JoinTableOptions).inverseJoinColumn ? [(relationSchema.joinTable as JoinTableOptions).inverseJoinColumn!] : (relationSchema.joinTable as JoinTableMultipleColumnsOptions).inverseJoinColumns) as any,\n };\n metadataArgsStorage.joinTables.push(joinTable);\n }\n }\n });\n }\n\n // add index metadata args from the schema\n if (options.indices) {\n options.indices.forEach(index => {\n const indexAgrs: IndexMetadataArgs = {\n target: options.target || options.name,\n name: index.name,\n unique: index.unique === true ? true : false,\n spatial: index.spatial === true ? true : false,\n fulltext: index.fulltext === true ? true : false,\n parser: index.parser,\n synchronize: index.synchronize === false ? false : true,\n where: index.where,\n sparse: index.sparse,\n columns: index.columns\n };\n metadataArgsStorage.indices.push(indexAgrs);\n });\n }\n\n // add unique metadata args from the schema\n if (options.uniques) {\n options.uniques.forEach(unique => {\n const uniqueAgrs: UniqueMetadataArgs = {\n target: options.target || options.name,\n name: unique.name,\n columns: unique.columns,\n deferrable: unique.deferrable,\n };\n metadataArgsStorage.uniques.push(uniqueAgrs);\n });\n }\n\n // add check metadata args from the schema\n if (options.checks) {\n options.checks.forEach(check => {\n const checkAgrs: CheckMetadataArgs = {\n target: options.target || options.name,\n name: check.name,\n expression: check.expression\n };\n metadataArgsStorage.checks.push(checkAgrs);\n });\n }\n\n // add exclusion metadata args from the schema\n if (options.exclusions) {\n options.exclusions.forEach(exclusion => {\n const exclusionArgs: ExclusionMetadataArgs = {\n target: options.target || options.name,\n name: exclusion.name,\n expression: exclusion.expression\n };\n metadataArgsStorage.exclusions.push(exclusionArgs);\n });\n }\n\n });\n\n return metadataArgsStorage;\n }\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../src/entity-schema/EntitySchemaTransformer.ts"],"names":[],"mappings":"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","file":"EntitySchemaTransformer.js","sourcesContent":["import {EntitySchema} from \"./EntitySchema\";\nimport {MetadataArgsStorage} from \"../metadata-args/MetadataArgsStorage\";\nimport {TableMetadataArgs} from \"../metadata-args/TableMetadataArgs\";\nimport {ColumnMetadataArgs} from \"../metadata-args/ColumnMetadataArgs\";\nimport {IndexMetadataArgs} from \"../metadata-args/IndexMetadataArgs\";\nimport {RelationMetadataArgs} from \"../metadata-args/RelationMetadataArgs\";\nimport {JoinColumnMetadataArgs} from \"../metadata-args/JoinColumnMetadataArgs\";\nimport {JoinTableMetadataArgs} from \"../metadata-args/JoinTableMetadataArgs\";\nimport {JoinTableOptions} from \"../decorator/options/JoinTableOptions\";\nimport {JoinTableMultipleColumnsOptions} from \"../decorator/options/JoinTableMultipleColumnsOptions\";\nimport {ColumnMode} from \"../metadata-args/types/ColumnMode\";\nimport {GeneratedMetadataArgs} from \"../metadata-args/GeneratedMetadataArgs\";\nimport {UniqueMetadataArgs} from \"../metadata-args/UniqueMetadataArgs\";\nimport {CheckMetadataArgs} from \"../metadata-args/CheckMetadataArgs\";\nimport {ExclusionMetadataArgs} from \"../metadata-args/ExclusionMetadataArgs\";\n\n/**\n * Transforms entity schema into metadata args storage.\n * The result will be just like entities read from decorators.\n */\nexport class EntitySchemaTransformer {\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Transforms entity schema into new metadata args storage object.\n */\n transform(schemas: EntitySchema<any>[]): MetadataArgsStorage {\n const metadataArgsStorage = new MetadataArgsStorage();\n\n schemas.forEach(entitySchema => {\n const options = entitySchema.options;\n\n // add table metadata args from the schema\n const tableMetadata: TableMetadataArgs = {\n target: options.target || options.name,\n name: options.tableName,\n database: options.database,\n schema: options.schema,\n type: options.type || \"regular\",\n orderBy: options.orderBy,\n synchronize: options.synchronize,\n withoutRowid: !!options.withoutRowid,\n expression: options.expression\n };\n metadataArgsStorage.tables.push(tableMetadata);\n\n // add columns metadata args from the schema\n Object.keys(options.columns).forEach(columnName => {\n const column = options.columns[columnName]!;\n let mode: ColumnMode = \"regular\";\n if (column.createDate)\n mode = \"createDate\";\n if (column.updateDate)\n mode = \"updateDate\";\n if (column.deleteDate)\n mode = \"deleteDate\";\n if (column.version)\n mode = \"version\";\n if (column.treeChildrenCount)\n mode = \"treeChildrenCount\";\n if (column.treeLevel)\n mode = \"treeLevel\";\n if (column.objectId)\n mode = \"objectId\";\n\n const columnAgrs: ColumnMetadataArgs = {\n target: options.target || options.name,\n mode: mode,\n propertyName: columnName,\n options: {\n type: column.type,\n name: column.objectId ? \"_id\" : column.name,\n length: column.length,\n width: column.width,\n nullable: column.nullable,\n readonly: column.readonly,\n update: column.update,\n select: column.select,\n insert: column.insert,\n primary: column.primary,\n unique: column.unique,\n comment: column.comment,\n default: column.default,\n onUpdate: column.onUpdate,\n precision: column.precision,\n scale: column.scale,\n zerofill: column.zerofill,\n unsigned: column.unsigned,\n charset: column.charset,\n collation: column.collation,\n enum: column.enum,\n asExpression: column.asExpression,\n generatedType: column.generatedType,\n hstoreType: column.hstoreType,\n array: column.array,\n transformer: column.transformer,\n spatialFeatureType: column.spatialFeatureType,\n srid: column.srid\n }\n };\n metadataArgsStorage.columns.push(columnAgrs);\n\n if (column.generated) {\n const generationArgs: GeneratedMetadataArgs = {\n target: options.target || options.name,\n propertyName: columnName,\n strategy: typeof column.generated === \"string\" ? column.generated : \"increment\"\n };\n metadataArgsStorage.generations.push(generationArgs);\n }\n\n if (column.unique)\n metadataArgsStorage.uniques.push({ target: options.target || options.name, columns: [columnName] });\n });\n\n // add relation metadata args from the schema\n if (options.relations) {\n Object.keys(options.relations).forEach(relationName => {\n const relationSchema = options.relations![relationName]!;\n const relation: RelationMetadataArgs = {\n target: options.target || options.name,\n propertyName: relationName,\n relationType: relationSchema.type,\n isLazy: relationSchema.lazy || false,\n type: relationSchema.target,\n inverseSideProperty: relationSchema.inverseSide,\n isTreeParent: relationSchema.treeParent,\n isTreeChildren: relationSchema.treeChildren,\n options: {\n eager: relationSchema.eager || false,\n cascade: relationSchema.cascade,\n nullable: relationSchema.nullable,\n onDelete: relationSchema.onDelete,\n onUpdate: relationSchema.onUpdate,\n deferrable: relationSchema.deferrable,\n primary: relationSchema.primary,\n createForeignKeyConstraints: relationSchema.createForeignKeyConstraints,\n persistence: relationSchema.persistence,\n orphanedRowAction: relationSchema.orphanedRowAction\n }\n };\n\n metadataArgsStorage.relations.push(relation);\n\n // add join column\n if (relationSchema.joinColumn) {\n if (typeof relationSchema.joinColumn === \"boolean\") {\n const joinColumn: JoinColumnMetadataArgs = {\n target: options.target || options.name,\n propertyName: relationName\n };\n metadataArgsStorage.joinColumns.push(joinColumn);\n } else {\n const joinColumnsOptions = Array.isArray(relationSchema.joinColumn) ? relationSchema.joinColumn : [relationSchema.joinColumn];\n\n for (const joinColumnOption of joinColumnsOptions) {\n const joinColumn: JoinColumnMetadataArgs = {\n target: options.target || options.name,\n propertyName: relationName,\n name: joinColumnOption.name,\n referencedColumnName: joinColumnOption.referencedColumnName\n };\n metadataArgsStorage.joinColumns.push(joinColumn);\n }\n }\n }\n\n // add join table\n if (relationSchema.joinTable) {\n if (typeof relationSchema.joinTable === \"boolean\") {\n const joinTable: JoinTableMetadataArgs = {\n target: options.target || options.name,\n propertyName: relationName\n };\n metadataArgsStorage.joinTables.push(joinTable);\n } else {\n const joinTable: JoinTableMetadataArgs = {\n target: options.target || options.name,\n propertyName: relationName,\n name: relationSchema.joinTable.name,\n database: relationSchema.joinTable.database,\n schema: relationSchema.joinTable.schema,\n joinColumns: ((relationSchema.joinTable as JoinTableOptions).joinColumn ? [(relationSchema.joinTable as JoinTableOptions).joinColumn!] : (relationSchema.joinTable as JoinTableMultipleColumnsOptions).joinColumns) as any,\n inverseJoinColumns: ((relationSchema.joinTable as JoinTableOptions).inverseJoinColumn ? [(relationSchema.joinTable as JoinTableOptions).inverseJoinColumn!] : (relationSchema.joinTable as JoinTableMultipleColumnsOptions).inverseJoinColumns) as any,\n };\n metadataArgsStorage.joinTables.push(joinTable);\n }\n }\n });\n }\n\n // add index metadata args from the schema\n if (options.indices) {\n options.indices.forEach(index => {\n const indexAgrs: IndexMetadataArgs = {\n target: options.target || options.name,\n name: index.name,\n unique: index.unique === true ? true : false,\n spatial: index.spatial === true ? true : false,\n fulltext: index.fulltext === true ? true : false,\n parser: index.parser,\n synchronize: index.synchronize === false ? false : true,\n where: index.where,\n sparse: index.sparse,\n columns: index.columns\n };\n metadataArgsStorage.indices.push(indexAgrs);\n });\n }\n\n // add unique metadata args from the schema\n if (options.uniques) {\n options.uniques.forEach(unique => {\n const uniqueAgrs: UniqueMetadataArgs = {\n target: options.target || options.name,\n name: unique.name,\n columns: unique.columns,\n deferrable: unique.deferrable,\n };\n metadataArgsStorage.uniques.push(uniqueAgrs);\n });\n }\n\n // add check metadata args from the schema\n if (options.checks) {\n options.checks.forEach(check => {\n const checkAgrs: CheckMetadataArgs = {\n target: options.target || options.name,\n name: check.name,\n expression: check.expression\n };\n metadataArgsStorage.checks.push(checkAgrs);\n });\n }\n\n // add exclusion metadata args from the schema\n if (options.exclusions) {\n options.exclusions.forEach(exclusion => {\n const exclusionArgs: ExclusionMetadataArgs = {\n target: options.target || options.name,\n name: exclusion.name,\n expression: exclusion.expression\n };\n metadataArgsStorage.exclusions.push(exclusionArgs);\n });\n }\n\n });\n\n return metadataArgsStorage;\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FindOperator } from "../FindOperator";
|
|
2
2
|
/**
|
|
3
3
|
* Find Options Operator.
|
|
4
|
-
* Used to
|
|
4
|
+
* Used to negate expression.
|
|
5
5
|
* Example: { title: not("hello") } will return entities where title not equal to "hello".
|
|
6
6
|
*/
|
|
7
7
|
export declare function Not<T>(value: T | FindOperator<T>): FindOperator<T>;
|
|
@@ -4,7 +4,7 @@ exports.Not = void 0;
|
|
|
4
4
|
var FindOperator_1 = require("../FindOperator");
|
|
5
5
|
/**
|
|
6
6
|
* Find Options Operator.
|
|
7
|
-
* Used to
|
|
7
|
+
* Used to negate expression.
|
|
8
8
|
* Example: { title: not("hello") } will return entities where title not equal to "hello".
|
|
9
9
|
*/
|
|
10
10
|
function Not(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/find-options/operator/Not.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;AAE7C;;;;GAIG;AACH,SAAgB,GAAG,CAAI,KAAwB;IAC3C,OAAO,IAAI,2BAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAFD,kBAEC","file":"Not.js","sourcesContent":["import {FindOperator} from \"../FindOperator\";\n\n/**\n * Find Options Operator.\n * Used to
|
|
1
|
+
{"version":3,"sources":["../../src/find-options/operator/Not.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;AAE7C;;;;GAIG;AACH,SAAgB,GAAG,CAAI,KAAwB;IAC3C,OAAO,IAAI,2BAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAFD,kBAEC","file":"Not.js","sourcesContent":["import {FindOperator} from \"../FindOperator\";\n\n/**\n * Find Options Operator.\n * Used to negate expression.\n * Example: { title: not(\"hello\") } will return entities where title not equal to \"hello\".\n */\nexport function Not<T>(value: T|FindOperator<T>) {\n return new FindOperator(\"not\", value);\n}\n"],"sourceRoot":"../.."}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "name": "typeorm", "private": false, "version": "0.2.42-dev.
|
|
1
|
+
{ "name": "typeorm", "private": false, "version": "0.2.42-dev.f224f24", "description": "Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.", "license": "MIT", "readmeFilename": "README.md", "author": { "name": "Umed Khudoiberdiev", "email": "pleerock.me@gmail.com" }, "exports": { ".": { "import": "./index.mjs", "require": "./index.js" }, "./*": "./*" }, "main": "./index.js", "module": "./index.mjs", "types": "./index.d.ts", "type": "commonjs", "browser": { "./browser/driver/aurora-data-api/AuroraDataApiDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/cockroachdb/CockroachDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/postgres/PostgresDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/oracle/OracleDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sap/SapDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mysql/MysqlDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sqlserver/SqlServerDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mongodb/MongoDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/mongodb/MongoQueryRunner.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/entity-manager/MongoEntityManager.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/repository/MongoRepository.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/sqlite/SqliteDriver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/driver/better-sqlite3/BetterSqlite3Driver.js": "./browser/platform/BrowserDisabledDriversDummy.js", "./browser/util/DirectoryExportedClassesLoader.js": "./browser/platform/BrowserDirectoryExportedClassesLoader.js", "./browser/logger/FileLogger.js": "./browser/platform/BrowserFileLoggerDummy.js", "./browser/connection/ConnectionOptionsReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/connection/options-reader/ConnectionOptionsXmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/connection/options-reader/ConnectionOptionsYmlReader.js": "./browser/platform/BrowserConnectionOptionsReaderDummy.js", "./browser/platform/PlatformTools.js": "./browser/platform/BrowserPlatformTools.js", "./index.js": "./browser/index.js" }, "repository": { "type": "git", "url": "https://github.com/typeorm/typeorm.git" }, "bugs": { "url": "https://github.com/typeorm/typeorm/issues" }, "tags": [ "orm", "typescript", "typescript-orm", "mysql", "mysql-orm", "postgresql", "postgresql-orm", "mariadb", "mariadb-orm", "sqlite", "sqlite-orm", "sql-server", "sql-server-orm", "oracle", "oracle-orm" ], "devDependencies": { "@types/app-root-path": "^1.2.4", "@types/chai": "^4.2.15", "@types/chai-as-promised": "^7.1.3", "@types/debug": "^4.1.5", "@types/dotenv": "^8.2.0", "@types/js-yaml": "^4.0.0", "@types/mkdirp": "^1.0.1", "@types/mocha": "^8.2.1", "@types/node": "^14.14.31", "@types/rimraf": "^3.0.0", "@types/sha.js": "^2.4.0", "@types/sinon": "^9.0.10", "@types/source-map-support": "^0.5.3", "@types/xml2js": "^0.4.8", "@types/yargs": "^17.0.2", "@typescript-eslint/eslint-plugin": "^4.15.2", "@typescript-eslint/parser": "^4.15.2", "better-sqlite3": "^7.1.2", "chai": "^4.3.0", "chai-as-promised": "^7.1.1", "class-transformer": "^0.4.0", "conventional-changelog-angular": "^5.0.12", "conventional-changelog-cli": "^2.1.1", "del": "^6.0.0", "eslint": "^7.20.0", "gulp": "^4.0.2", "gulp-eslint": "^6.0.0", "gulp-istanbul": "^1.1.3", "gulp-mocha": "^8.0.0", "gulp-rename": "^2.0.0", "gulp-replace": "^1.0.0", "gulp-shell": "^0.8.0", "gulp-sourcemaps": "^3.0.0", "gulp-typescript": "^6.0.0-alpha.1", "gulpclass": "^0.2.0", "husky": "^5.1.1", "lint-staged": "^10.5.4", "mocha": "^8.3.0", "mongodb": "^3.6.4", "mssql": "^6.3.1", "mysql": "^2.18.1", "mysql2": "^2.2.5", "oracledb": "^5.1.0", "pg": "^8.5.1", "pg-query-stream": "^4.0.0", "redis": "^3.1.1", "remap-istanbul": "^0.13.0", "rimraf": "^3.0.2", "sinon": "^9.2.4", "sinon-chai": "^3.5.0", "source-map-support": "^0.5.19", "sql.js": "^1.4.0", "sqlite3": "^5.0.2", "ts-node": "^9.1.1", "typeorm-aurora-data-api-driver": "^2.0.0", "typescript": "^4.2.2" }, "peerDependencies": { "@sap/hana-client": "*", "better-sqlite3": "*", "hdb-pool": "*", "ioredis": "*", "mongodb": "^3.6.0", "mssql": "*", "mysql2": "*", "oracledb": "*", "pg": "*", "pg-native": "*", "pg-query-stream": "*", "redis": "*", "sql.js": "*", "sqlite3": "*", "typeorm-aurora-data-api-driver": "*" }, "peerDependenciesMeta": { "@sap/hana-client": { "optional": true }, "better-sqlite3": { "optional": true }, "hdb-pool": { "optional": true }, "ioredis": { "optional": true }, "mongodb": { "optional": true }, "mssql": { "optional": true }, "mysql2": { "optional": true }, "oracledb": { "optional": true }, "pg": { "optional": true }, "pg-native": { "optional": true }, "pg-query-stream": { "optional": true }, "redis": { "optional": true }, "sql.js": { "optional": true }, "sqlite3": { "optional": true }, "typeorm-aurora-data-api-driver": { "optional": true } }, "dependencies": { "@sqltools/formatter": "^1.2.2", "app-root-path": "^3.0.0", "buffer": "^6.0.3", "chalk": "^4.1.0", "cli-highlight": "^2.1.11", "debug": "^4.3.1", "dotenv": "^8.2.0", "glob": "^7.1.6", "js-yaml": "^4.0.0", "mkdirp": "^1.0.4", "reflect-metadata": "^0.1.13", "sha.js": "^2.4.11", "tslib": "^2.1.0", "xml2js": "^0.4.23", "yargs": "^17.0.1", "zen-observable-ts": "^1.0.0" }, "lint-staged": { "*.ts": [ "eslint --fix", "git add" ] }, "scripts": { "test": "rimraf ./build && tsc && mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test", "test-fast": "mocha --file ./build/compiled/test/utils/test-setup.js --bail --recursive --timeout 60000 ./build/compiled/test", "compile": "rimraf ./build && tsc", "watch": "./node_modules/.bin/tsc -w", "package": "gulp package", "pack": "gulp pack", "lint": "eslint -c ./.eslintrc.js src/**/*.ts test/**/*.ts sample/**/*.ts", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 2" }, "bin": { "typeorm": "./cli.js" }, "funding": "https://opencollective.com/typeorm", "collective": { "type": "opencollective", "url": "https://opencollective.com/typeorm", "logo": "https://opencollective.com/opencollective/logo.txt" }, "nyc": { "all": true, "cache": false, "exclude": [ "**/*.d.ts" ], "extension": [ ".ts" ], "include": [ "build/compiled/src/**", "src/**" ], "reporter": "json" } }
|
|
@@ -584,6 +584,15 @@ export declare class SelectQueryBuilder<Entity> extends QueryBuilder<Entity> imp
|
|
|
584
584
|
* Creates "LIMIT" and "OFFSET" parts of SQL query.
|
|
585
585
|
*/
|
|
586
586
|
protected createLimitOffsetExpression(): string;
|
|
587
|
+
/**
|
|
588
|
+
* Creates "LOCK" part of SELECT Query after table Clause
|
|
589
|
+
* ex.
|
|
590
|
+
* SELECT 1
|
|
591
|
+
* FROM USER U WITH (NOLOCK)
|
|
592
|
+
* JOIN ORDER O WITH (NOLOCK)
|
|
593
|
+
* ON U.ID=O.OrderID
|
|
594
|
+
*/
|
|
595
|
+
private createTableLockExpression;
|
|
587
596
|
/**
|
|
588
597
|
* Creates "LOCK" part of SQL query.
|
|
589
598
|
*/
|
|
@@ -1029,20 +1029,6 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1029
1029
|
// if still selection is empty, then simply set it to all (*)
|
|
1030
1030
|
if (allSelects.length === 0)
|
|
1031
1031
|
allSelects.push({ selection: "*" });
|
|
1032
|
-
var lock = "";
|
|
1033
|
-
if (this.connection.driver instanceof SqlServerDriver_1.SqlServerDriver) {
|
|
1034
|
-
switch (this.expressionMap.lockMode) {
|
|
1035
|
-
case "pessimistic_read":
|
|
1036
|
-
lock = " WITH (HOLDLOCK, ROWLOCK)";
|
|
1037
|
-
break;
|
|
1038
|
-
case "pessimistic_write":
|
|
1039
|
-
lock = " WITH (UPDLOCK, ROWLOCK)";
|
|
1040
|
-
break;
|
|
1041
|
-
case "dirty_read":
|
|
1042
|
-
lock = " WITH (NOLOCK)";
|
|
1043
|
-
break;
|
|
1044
|
-
}
|
|
1045
|
-
}
|
|
1046
1032
|
// Use certain index
|
|
1047
1033
|
var useIndex = "";
|
|
1048
1034
|
if (this.expressionMap.useIndex) {
|
|
@@ -1060,7 +1046,7 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1060
1046
|
});
|
|
1061
1047
|
var select = this.createSelectDistinctExpression();
|
|
1062
1048
|
var selection = allSelects.map(function (select) { return select.selection + (select.aliasName ? " AS " + _this.escape(select.aliasName) : ""); }).join(", ");
|
|
1063
|
-
return select + selection + " FROM " + froms.join(", ") +
|
|
1049
|
+
return select + selection + " FROM " + froms.join(", ") + this.createTableLockExpression() + useIndex;
|
|
1064
1050
|
};
|
|
1065
1051
|
/**
|
|
1066
1052
|
* Creates select | select distinct part of SQL query.
|
|
@@ -1106,7 +1092,7 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1106
1092
|
// table to join, without junction table involved. This means we simply join direct table.
|
|
1107
1093
|
if (!parentAlias || !relation) {
|
|
1108
1094
|
var destinationJoin = joinAttr.alias.subQuery ? joinAttr.alias.subQuery : _this.getTableName(destinationTableName);
|
|
1109
|
-
return " " + joinAttr.direction + " JOIN " + destinationJoin + " " + _this.escape(destinationTableAlias) +
|
|
1095
|
+
return " " + joinAttr.direction + " JOIN " + destinationJoin + " " + _this.escape(destinationTableAlias) + _this.createTableLockExpression() +
|
|
1110
1096
|
(joinAttr.condition ? " ON " + _this.replacePropertyNames(joinAttr.condition) : "");
|
|
1111
1097
|
}
|
|
1112
1098
|
// if real entity relation is involved
|
|
@@ -1116,7 +1102,7 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1116
1102
|
return destinationTableAlias + "." + joinColumn.referencedColumn.propertyPath + "=" +
|
|
1117
1103
|
parentAlias + "." + relation.propertyPath + "." + joinColumn.referencedColumn.propertyPath;
|
|
1118
1104
|
}).join(" AND ");
|
|
1119
|
-
return " " + joinAttr.direction + " JOIN " + _this.getTableName(destinationTableName) + " " + _this.escape(destinationTableAlias) + " ON " + _this.replacePropertyNames(condition + appendedCondition);
|
|
1105
|
+
return " " + joinAttr.direction + " JOIN " + _this.getTableName(destinationTableName) + " " + _this.escape(destinationTableAlias) + _this.createTableLockExpression() + " ON " + _this.replacePropertyNames(condition + appendedCondition);
|
|
1120
1106
|
}
|
|
1121
1107
|
else if (relation.isOneToMany || relation.isOneToOneNotOwner) {
|
|
1122
1108
|
// JOIN `post` `post` ON `post`.`categoryId` = `category`.`id`
|
|
@@ -1127,7 +1113,7 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1127
1113
|
return destinationTableAlias + "." + relation.inverseRelation.propertyPath + "." + joinColumn.referencedColumn.propertyPath + "=" +
|
|
1128
1114
|
parentAlias + "." + joinColumn.referencedColumn.propertyPath;
|
|
1129
1115
|
}).join(" AND ");
|
|
1130
|
-
return " " + joinAttr.direction + " JOIN " + _this.getTableName(destinationTableName) + " " + _this.escape(destinationTableAlias) + " ON " + _this.replacePropertyNames(condition + appendedCondition);
|
|
1116
|
+
return " " + joinAttr.direction + " JOIN " + _this.getTableName(destinationTableName) + " " + _this.escape(destinationTableAlias) + _this.createTableLockExpression() + " ON " + _this.replacePropertyNames(condition + appendedCondition);
|
|
1131
1117
|
}
|
|
1132
1118
|
else { // means many-to-many
|
|
1133
1119
|
var junctionTableName = relation.junctionEntityMetadata.tablePath;
|
|
@@ -1153,8 +1139,8 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1153
1139
|
return destinationTableAlias + "." + joinColumn.referencedColumn.propertyPath + "=" + junctionAlias_1 + "." + joinColumn.propertyPath;
|
|
1154
1140
|
}).join(" AND ");
|
|
1155
1141
|
}
|
|
1156
|
-
return " " + joinAttr.direction + " JOIN " + _this.getTableName(junctionTableName) + " " + _this.escape(junctionAlias_1) + " ON " + _this.replacePropertyNames(junctionCondition) +
|
|
1157
|
-
" " + joinAttr.direction + " JOIN " + _this.getTableName(destinationTableName) + " " + _this.escape(destinationTableAlias) + " ON " + _this.replacePropertyNames(destinationCondition + appendedCondition);
|
|
1142
|
+
return " " + joinAttr.direction + " JOIN " + _this.getTableName(junctionTableName) + " " + _this.escape(junctionAlias_1) + _this.createTableLockExpression() + " ON " + _this.replacePropertyNames(junctionCondition) +
|
|
1143
|
+
" " + joinAttr.direction + " JOIN " + _this.getTableName(destinationTableName) + " " + _this.escape(destinationTableAlias) + _this.createTableLockExpression() + " ON " + _this.replacePropertyNames(destinationCondition + appendedCondition);
|
|
1158
1144
|
}
|
|
1159
1145
|
});
|
|
1160
1146
|
return joins.join(" ");
|
|
@@ -1248,6 +1234,27 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1248
1234
|
}
|
|
1249
1235
|
return "";
|
|
1250
1236
|
};
|
|
1237
|
+
/**
|
|
1238
|
+
* Creates "LOCK" part of SELECT Query after table Clause
|
|
1239
|
+
* ex.
|
|
1240
|
+
* SELECT 1
|
|
1241
|
+
* FROM USER U WITH (NOLOCK)
|
|
1242
|
+
* JOIN ORDER O WITH (NOLOCK)
|
|
1243
|
+
* ON U.ID=O.OrderID
|
|
1244
|
+
*/
|
|
1245
|
+
SelectQueryBuilder.prototype.createTableLockExpression = function () {
|
|
1246
|
+
if (this.connection.driver instanceof SqlServerDriver_1.SqlServerDriver) {
|
|
1247
|
+
switch (this.expressionMap.lockMode) {
|
|
1248
|
+
case "pessimistic_read":
|
|
1249
|
+
return " WITH (HOLDLOCK, ROWLOCK)";
|
|
1250
|
+
case "pessimistic_write":
|
|
1251
|
+
return " WITH (UPDLOCK, ROWLOCK)";
|
|
1252
|
+
case "dirty_read":
|
|
1253
|
+
return " WITH (NOLOCK)";
|
|
1254
|
+
}
|
|
1255
|
+
}
|
|
1256
|
+
return "";
|
|
1257
|
+
};
|
|
1251
1258
|
/**
|
|
1252
1259
|
* Creates "LOCK" part of SQL query.
|
|
1253
1260
|
*/
|