@mikro-orm/sql 7.0.2 → 7.0.3-dev.0

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 (86) hide show
  1. package/AbstractSqlConnection.d.ts +58 -94
  2. package/AbstractSqlConnection.js +238 -235
  3. package/AbstractSqlDriver.d.ts +155 -411
  4. package/AbstractSqlDriver.js +1937 -2061
  5. package/AbstractSqlPlatform.d.ts +73 -83
  6. package/AbstractSqlPlatform.js +158 -162
  7. package/PivotCollectionPersister.d.ts +15 -33
  8. package/PivotCollectionPersister.js +160 -158
  9. package/SqlEntityManager.d.ts +22 -67
  10. package/SqlEntityManager.js +38 -54
  11. package/SqlEntityRepository.d.ts +14 -14
  12. package/SqlEntityRepository.js +23 -23
  13. package/dialects/mssql/MsSqlNativeQueryBuilder.d.ts +12 -12
  14. package/dialects/mssql/MsSqlNativeQueryBuilder.js +194 -192
  15. package/dialects/mysql/BaseMySqlPlatform.d.ts +45 -64
  16. package/dialects/mysql/BaseMySqlPlatform.js +131 -134
  17. package/dialects/mysql/MySqlExceptionConverter.d.ts +6 -6
  18. package/dialects/mysql/MySqlExceptionConverter.js +77 -91
  19. package/dialects/mysql/MySqlNativeQueryBuilder.d.ts +3 -3
  20. package/dialects/mysql/MySqlNativeQueryBuilder.js +69 -66
  21. package/dialects/mysql/MySqlSchemaHelper.d.ts +39 -39
  22. package/dialects/mysql/MySqlSchemaHelper.js +319 -327
  23. package/dialects/oracledb/OracleDialect.d.ts +52 -81
  24. package/dialects/oracledb/OracleDialect.js +149 -155
  25. package/dialects/oracledb/OracleNativeQueryBuilder.d.ts +12 -12
  26. package/dialects/oracledb/OracleNativeQueryBuilder.js +236 -232
  27. package/dialects/postgresql/BasePostgreSqlPlatform.d.ts +105 -108
  28. package/dialects/postgresql/BasePostgreSqlPlatform.js +350 -351
  29. package/dialects/postgresql/FullTextType.d.ts +6 -10
  30. package/dialects/postgresql/FullTextType.js +51 -51
  31. package/dialects/postgresql/PostgreSqlExceptionConverter.d.ts +5 -5
  32. package/dialects/postgresql/PostgreSqlExceptionConverter.js +43 -55
  33. package/dialects/postgresql/PostgreSqlNativeQueryBuilder.d.ts +1 -1
  34. package/dialects/postgresql/PostgreSqlNativeQueryBuilder.js +4 -4
  35. package/dialects/postgresql/PostgreSqlSchemaHelper.d.ts +82 -102
  36. package/dialects/postgresql/PostgreSqlSchemaHelper.js +683 -711
  37. package/dialects/sqlite/BaseSqliteConnection.d.ts +5 -3
  38. package/dialects/sqlite/BaseSqliteConnection.js +19 -21
  39. package/dialects/sqlite/NodeSqliteDialect.d.ts +1 -1
  40. package/dialects/sqlite/NodeSqliteDialect.js +23 -23
  41. package/dialects/sqlite/SqliteDriver.d.ts +1 -1
  42. package/dialects/sqlite/SqliteDriver.js +3 -3
  43. package/dialects/sqlite/SqliteExceptionConverter.d.ts +6 -6
  44. package/dialects/sqlite/SqliteExceptionConverter.js +51 -67
  45. package/dialects/sqlite/SqliteNativeQueryBuilder.d.ts +2 -2
  46. package/dialects/sqlite/SqliteNativeQueryBuilder.js +7 -7
  47. package/dialects/sqlite/SqlitePlatform.d.ts +72 -63
  48. package/dialects/sqlite/SqlitePlatform.js +139 -139
  49. package/dialects/sqlite/SqliteSchemaHelper.d.ts +60 -70
  50. package/dialects/sqlite/SqliteSchemaHelper.js +520 -533
  51. package/package.json +2 -2
  52. package/plugin/index.d.ts +35 -42
  53. package/plugin/index.js +36 -43
  54. package/plugin/transformer.d.ts +94 -117
  55. package/plugin/transformer.js +881 -890
  56. package/query/ArrayCriteriaNode.d.ts +4 -4
  57. package/query/ArrayCriteriaNode.js +18 -18
  58. package/query/CriteriaNode.d.ts +25 -35
  59. package/query/CriteriaNode.js +123 -133
  60. package/query/CriteriaNodeFactory.d.ts +6 -49
  61. package/query/CriteriaNodeFactory.js +94 -97
  62. package/query/NativeQueryBuilder.d.ts +118 -118
  63. package/query/NativeQueryBuilder.js +480 -484
  64. package/query/ObjectCriteriaNode.d.ts +12 -12
  65. package/query/ObjectCriteriaNode.js +282 -298
  66. package/query/QueryBuilder.d.ts +904 -1546
  67. package/query/QueryBuilder.js +2145 -2270
  68. package/query/QueryBuilderHelper.d.ts +72 -153
  69. package/query/QueryBuilderHelper.js +1028 -1079
  70. package/query/ScalarCriteriaNode.d.ts +3 -3
  71. package/query/ScalarCriteriaNode.js +46 -53
  72. package/query/enums.d.ts +14 -14
  73. package/query/enums.js +14 -14
  74. package/query/raw.d.ts +6 -16
  75. package/query/raw.js +10 -10
  76. package/schema/DatabaseSchema.d.ts +50 -73
  77. package/schema/DatabaseSchema.js +307 -331
  78. package/schema/DatabaseTable.d.ts +73 -96
  79. package/schema/DatabaseTable.js +927 -1012
  80. package/schema/SchemaComparator.d.ts +54 -58
  81. package/schema/SchemaComparator.js +719 -745
  82. package/schema/SchemaHelper.d.ts +95 -109
  83. package/schema/SchemaHelper.js +659 -675
  84. package/schema/SqlSchemaGenerator.d.ts +58 -78
  85. package/schema/SqlSchemaGenerator.js +501 -535
  86. package/typings.d.ts +266 -380
@@ -1,19 +1,4 @@
1
- import {
2
- type Dictionary,
3
- type EntityData,
4
- type EntityKey,
5
- type EntityMetadata,
6
- type EntityName,
7
- type EntityProperty,
8
- type FilterQuery,
9
- type FlatQueryOrderMap,
10
- type FormulaTable,
11
- LockMode,
12
- type QueryOrderMap,
13
- Raw,
14
- type RawQueryFragment,
15
- type RawQueryFragmentSymbol,
16
- } from '@mikro-orm/core';
1
+ import { type Dictionary, type EntityData, type EntityKey, type EntityMetadata, type EntityName, type EntityProperty, type FilterQuery, type FlatQueryOrderMap, type FormulaTable, LockMode, type QueryOrderMap, Raw, type RawQueryFragment, type RawQueryFragmentSymbol } from '@mikro-orm/core';
17
2
  import { JoinType, QueryType } from './enums.js';
18
3
  import type { InternalField, JoinOptions } from '../typings.js';
19
4
  import type { AbstractSqlDriver } from '../AbstractSqlDriver.js';
@@ -22,145 +7,79 @@ import type { NativeQueryBuilder } from './NativeQueryBuilder.js';
22
7
  * @internal
23
8
  */
24
9
  export declare class QueryBuilderHelper {
25
- #private;
26
- constructor(
27
- entityName: EntityName,
28
- alias: string,
29
- aliasMap: Dictionary<Alias<any>>,
30
- subQueries: Dictionary<string>,
31
- driver: AbstractSqlDriver,
32
- tptAliasMap?: Dictionary<string>,
33
- );
34
- /**
35
- * For TPT inheritance, finds the correct alias for a property based on which entity owns it.
36
- * Returns the main alias if not a TPT property or if the property belongs to the main entity.
37
- */
38
- getTPTAliasForProperty(propName: string, defaultAlias: string): string;
39
- mapper(field: string | Raw | RawQueryFragmentSymbol, type?: QueryType): string;
40
- mapper(
41
- field: string | Raw | RawQueryFragmentSymbol,
42
- type?: QueryType,
43
- value?: any,
44
- alias?: string | null,
45
- schema?: string,
46
- ): string;
47
- processData(data: Dictionary, convertCustomTypes: boolean, multi?: boolean): any;
48
- joinOneToReference(
49
- prop: EntityProperty,
50
- ownerAlias: string,
51
- alias: string,
52
- type: JoinType,
53
- cond?: Dictionary,
54
- schema?: string,
55
- ): JoinOptions;
56
- joinManyToOneReference(
57
- prop: EntityProperty,
58
- ownerAlias: string,
59
- alias: string,
60
- type: JoinType,
61
- cond?: Dictionary,
62
- schema?: string,
63
- ): JoinOptions;
64
- joinManyToManyReference(
65
- prop: EntityProperty,
66
- ownerAlias: string,
67
- alias: string,
68
- pivotAlias: string,
69
- type: JoinType,
70
- cond: Dictionary,
71
- path: string,
72
- schema?: string,
73
- ): Dictionary<JoinOptions>;
74
- processJoins(qb: NativeQueryBuilder, joins: Dictionary<JoinOptions>, schema?: string, schemaOverride?: string): void;
75
- createJoinExpression(
76
- join: JoinOptions,
77
- joins: Dictionary<JoinOptions>,
78
- schema?: string,
79
- schemaOverride?: string,
80
- ): {
81
- sql: string;
82
- params: unknown[];
83
- };
84
- mapJoinColumns(type: QueryType, join: JoinOptions): (string | Raw)[];
85
- isOneToOneInverse(field: string, meta?: EntityMetadata): boolean;
86
- getTableName(entityName: EntityName): string;
87
- /**
88
- * Checks whether the RE can be rewritten to simple LIKE query
89
- */
90
- isSimpleRegExp(re: any): re is RegExp;
91
- getRegExpParam(re: RegExp): string;
92
- appendOnConflictClause<T>(type: QueryType, onConflict: OnConflictClause<T>[], qb: NativeQueryBuilder): void;
93
- appendQueryCondition(
94
- type: QueryType,
95
- cond: any,
96
- qb: NativeQueryBuilder,
97
- operator?: '$and' | '$or',
98
- method?: 'where' | 'having',
99
- ): void;
100
- _appendQueryCondition(
101
- type: QueryType,
102
- cond: any,
103
- operator?: '$and' | '$or',
104
- ): {
105
- sql: string;
106
- params: unknown[];
107
- };
108
- private append;
109
- private appendQuerySubCondition;
110
- private processObjectSubCondition;
111
- private getValueReplacement;
112
- private getOperatorReplacement;
113
- validateQueryOrder<T>(orderBy: QueryOrderMap<T>): void;
114
- getQueryOrder(
115
- type: QueryType,
116
- orderBy: FlatQueryOrderMap | FlatQueryOrderMap[],
117
- populate: Dictionary<string>,
118
- collation?: string,
119
- ): string[];
120
- getQueryOrderFromObject(
121
- type: QueryType,
122
- orderBy: FlatQueryOrderMap,
123
- populate: Dictionary<string>,
124
- collation?: string,
125
- ): string[];
126
- splitField<T>(field: EntityKey<T>, greedyAlias?: boolean): [string, EntityKey<T>, string | undefined];
127
- getLockSQL(
128
- qb: NativeQueryBuilder,
129
- lockMode: LockMode,
130
- lockTables?: string[],
131
- joinsMap?: Dictionary<JoinOptions>,
132
- ): void;
133
- updateVersionProperty(qb: NativeQueryBuilder, data: Dictionary): void;
134
- private prefix;
135
- private appendGroupCondition;
136
- private isPrefixed;
137
- private fieldName;
138
- getProperty(field: string, alias?: string): EntityProperty | undefined;
139
- isTableNameAliasRequired(type: QueryType): boolean;
140
- private processEmbeddedArrayCondition;
141
- private buildJsonArrayExists;
142
- private resolveEmbeddedProp;
143
- private buildEmbeddedArrayOperatorCondition;
144
- private processJsonElemMatch;
145
- /**
146
- * Shared logic for building WHERE conditions inside JSON array EXISTS subqueries.
147
- * Used by both embedded array queries (metadata-driven) and $elemMatch (type-inferred).
148
- */
149
- private buildArrayElementWhere;
150
- private inferJsonValueType;
151
- processOnConflictCondition(cond: FilterQuery<any>, schema?: string): FilterQuery<any>;
152
- createFormulaTable(alias: string, meta: EntityMetadata, schema?: string): FormulaTable;
10
+ #private;
11
+ constructor(entityName: EntityName, alias: string, aliasMap: Dictionary<Alias<any>>, subQueries: Dictionary<string>, driver: AbstractSqlDriver, tptAliasMap?: Dictionary<string>);
12
+ /**
13
+ * For TPT inheritance, finds the correct alias for a property based on which entity owns it.
14
+ * Returns the main alias if not a TPT property or if the property belongs to the main entity.
15
+ */
16
+ getTPTAliasForProperty(propName: string, defaultAlias: string): string;
17
+ mapper(field: string | Raw | RawQueryFragmentSymbol, type?: QueryType): string;
18
+ mapper(field: string | Raw | RawQueryFragmentSymbol, type?: QueryType, value?: any, alias?: string | null, schema?: string): string;
19
+ processData(data: Dictionary, convertCustomTypes: boolean, multi?: boolean): any;
20
+ joinOneToReference(prop: EntityProperty, ownerAlias: string, alias: string, type: JoinType, cond?: Dictionary, schema?: string): JoinOptions;
21
+ joinManyToOneReference(prop: EntityProperty, ownerAlias: string, alias: string, type: JoinType, cond?: Dictionary, schema?: string): JoinOptions;
22
+ joinManyToManyReference(prop: EntityProperty, ownerAlias: string, alias: string, pivotAlias: string, type: JoinType, cond: Dictionary, path: string, schema?: string): Dictionary<JoinOptions>;
23
+ processJoins(qb: NativeQueryBuilder, joins: Dictionary<JoinOptions>, schema?: string, schemaOverride?: string): void;
24
+ createJoinExpression(join: JoinOptions, joins: Dictionary<JoinOptions>, schema?: string, schemaOverride?: string): {
25
+ sql: string;
26
+ params: unknown[];
27
+ };
28
+ mapJoinColumns(type: QueryType, join: JoinOptions): (string | Raw)[];
29
+ isOneToOneInverse(field: string, meta?: EntityMetadata): boolean;
30
+ getTableName(entityName: EntityName): string;
31
+ /**
32
+ * Checks whether the RE can be rewritten to simple LIKE query
33
+ */
34
+ isSimpleRegExp(re: any): re is RegExp;
35
+ getRegExpParam(re: RegExp): string;
36
+ appendOnConflictClause<T>(type: QueryType, onConflict: OnConflictClause<T>[], qb: NativeQueryBuilder): void;
37
+ appendQueryCondition(type: QueryType, cond: any, qb: NativeQueryBuilder, operator?: '$and' | '$or', method?: 'where' | 'having'): void;
38
+ _appendQueryCondition(type: QueryType, cond: any, operator?: '$and' | '$or'): {
39
+ sql: string;
40
+ params: unknown[];
41
+ };
42
+ private append;
43
+ private appendQuerySubCondition;
44
+ private processObjectSubCondition;
45
+ private getValueReplacement;
46
+ private getOperatorReplacement;
47
+ validateQueryOrder<T>(orderBy: QueryOrderMap<T>): void;
48
+ getQueryOrder(type: QueryType, orderBy: FlatQueryOrderMap | FlatQueryOrderMap[], populate: Dictionary<string>, collation?: string): string[];
49
+ getQueryOrderFromObject(type: QueryType, orderBy: FlatQueryOrderMap, populate: Dictionary<string>, collation?: string): string[];
50
+ splitField<T>(field: EntityKey<T>, greedyAlias?: boolean): [string, EntityKey<T>, string | undefined];
51
+ getLockSQL(qb: NativeQueryBuilder, lockMode: LockMode, lockTables?: string[], joinsMap?: Dictionary<JoinOptions>): void;
52
+ updateVersionProperty(qb: NativeQueryBuilder, data: Dictionary): void;
53
+ private prefix;
54
+ private appendGroupCondition;
55
+ private isPrefixed;
56
+ private fieldName;
57
+ getProperty(field: string, alias?: string): EntityProperty | undefined;
58
+ isTableNameAliasRequired(type: QueryType): boolean;
59
+ private processEmbeddedArrayCondition;
60
+ private buildJsonArrayExists;
61
+ private resolveEmbeddedProp;
62
+ private buildEmbeddedArrayOperatorCondition;
63
+ private processJsonElemMatch;
64
+ /**
65
+ * Shared logic for building WHERE conditions inside JSON array EXISTS subqueries.
66
+ * Used by both embedded array queries (metadata-driven) and $elemMatch (type-inferred).
67
+ */
68
+ private buildArrayElementWhere;
69
+ private inferJsonValueType;
70
+ processOnConflictCondition(cond: FilterQuery<any>, schema?: string): FilterQuery<any>;
71
+ createFormulaTable(alias: string, meta: EntityMetadata, schema?: string): FormulaTable;
153
72
  }
154
73
  export interface Alias<T> {
155
- aliasName: string;
156
- entityName: EntityName<T>;
157
- meta: EntityMetadata<T>;
158
- subQuery?: NativeQueryBuilder | RawQueryFragment;
159
- rawTableName?: string;
74
+ aliasName: string;
75
+ entityName: EntityName<T>;
76
+ meta: EntityMetadata<T>;
77
+ subQuery?: NativeQueryBuilder | RawQueryFragment;
78
+ rawTableName?: string;
160
79
  }
161
80
  export interface OnConflictClause<T> {
162
- fields: string[] | Raw;
163
- ignore?: boolean;
164
- merge?: EntityData<T> | InternalField<T>[];
165
- where?: FilterQuery<T>;
81
+ fields: string[] | Raw;
82
+ ignore?: boolean;
83
+ merge?: EntityData<T> | InternalField<T>[];
84
+ where?: FilterQuery<T>;
166
85
  }