@exabugs/dynamodb-client 1.4.4 → 1.4.6
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/dist/client/aws-sigv4.d.ts.map +1 -1
- package/dist/client/aws-sigv4.js +0 -2
- package/dist/client/aws-sigv4.js.map +1 -1
- package/dist/integrations/react-admin/dataProvider.d.ts.map +1 -1
- package/dist/integrations/react-admin/dataProvider.js +3 -2
- package/dist/integrations/react-admin/dataProvider.js.map +1 -1
- package/dist/integrations/react-admin/types.d.ts +18 -0
- package/dist/integrations/react-admin/types.d.ts.map +1 -1
- package/dist/integrations/react-admin/types.js +0 -3
- package/dist/integrations/react-admin/types.js.map +1 -1
- package/dist/server/handler.cjs +50 -13
- package/dist/server/handler.cjs.map +3 -3
- package/dist/server/operations/find/shadowQuery.d.ts.map +1 -1
- package/dist/server/operations/find/shadowQuery.js +81 -10
- package/dist/server/operations/find/shadowQuery.js.map +1 -1
- package/dist/server/operations/find/types.d.ts +3 -0
- package/dist/server/operations/find/types.d.ts.map +1 -1
- package/dist/server/operations/find/utils.d.ts +4 -1
- package/dist/server/operations/find/utils.d.ts.map +1 -1
- package/dist/server/operations/find/utils.js +1 -0
- package/dist/server/operations/find/utils.js.map +1 -1
- package/dist/server/operations/parameterConverter.d.ts +5 -1
- package/dist/server/operations/parameterConverter.d.ts.map +1 -1
- package/dist/server/operations/parameterConverter.js +2 -1
- package/dist/server/operations/parameterConverter.js.map +1 -1
- package/dist/shared/types/index.d.ts +9 -2
- package/dist/shared/types/index.d.ts.map +1 -1
- package/dist/shared/types/index.js.map +1 -1
- package/dist/shared/types/schema.d.ts +31 -0
- package/dist/shared/types/schema.d.ts.map +1 -0
- package/dist/shared/types/schema.js +5 -0
- package/dist/shared/types/schema.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadowQuery.d.ts","sourceRoot":"","sources":["../../../../src/server/operations/find/shadowQuery.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"shadowQuery.d.ts","sourceRoot":"","sources":["../../../../src/server/operations/find/shadowQuery.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAmC,MAAM,YAAY,CAAC;AAQpG;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC,CA0HrB"}
|
|
@@ -26,16 +26,32 @@ export async function executeShadowQuery(resource, normalizedParams, requestId)
|
|
|
26
26
|
const { sort, pagination, parsedFilters } = normalizedParams;
|
|
27
27
|
const { perPage, nextToken } = pagination;
|
|
28
28
|
const costTracker = new CostTracker();
|
|
29
|
+
// Filter-first 戦略: $eq フィルタがある場合はそのシャドウインデックスで先に絞り込む
|
|
30
|
+
// cardinality が指定されている場合は最も選択性の高いフィルタを優先
|
|
31
|
+
// 指定がない場合は最初の $eq フィルタ(ソートフィールド以外)を使用
|
|
32
|
+
const filterFirstCandidate = selectFilterFirstCandidate(parsedFilters, sort.field, normalizedParams.schema);
|
|
33
|
+
const isFilterFirst = filterFirstCandidate !== undefined;
|
|
34
|
+
// クエリに使うフィールド・フィルタを決定
|
|
35
|
+
const querySort = isFilterFirst
|
|
36
|
+
? { field: filterFirstCandidate.parsed.field, order: 'ASC' }
|
|
37
|
+
: sort;
|
|
38
|
+
const optimizableFilter = isFilterFirst
|
|
39
|
+
? filterFirstCandidate
|
|
40
|
+
: findOptimizableFilter(sort.field, parsedFilters);
|
|
41
|
+
// filter-first で使ったフィルタはキー条件で処理済みのため除外
|
|
42
|
+
const remainingFilters = isFilterFirst
|
|
43
|
+
? parsedFilters.filter((f) => f !== filterFirstCandidate)
|
|
44
|
+
: parsedFilters;
|
|
29
45
|
logger.debug('Executing shadow query', {
|
|
30
46
|
requestId,
|
|
31
47
|
resource,
|
|
32
48
|
sortField: sort.field,
|
|
49
|
+
isFilterFirst,
|
|
50
|
+
queryField: querySort.field,
|
|
33
51
|
hasFilters: parsedFilters.length > 0,
|
|
34
52
|
});
|
|
35
|
-
// Query最適化: ソートフィールドと一致するフィルター条件を検出
|
|
36
|
-
const optimizableFilter = findOptimizableFilter(sort.field, parsedFilters);
|
|
37
53
|
// シャドウクエリを実行
|
|
38
|
-
const shadowRecords = await executeShadowRecordQuery(resource,
|
|
54
|
+
const shadowRecords = await executeShadowRecordQuery(resource, querySort, perPage, nextToken, optimizableFilter, costTracker, requestId);
|
|
39
55
|
// シャドウレコードから本体レコードのIDを抽出
|
|
40
56
|
const recordIds = extractRecordIds(shadowRecords.Items || []);
|
|
41
57
|
if (recordIds.length === 0) {
|
|
@@ -50,7 +66,7 @@ export async function executeShadowQuery(resource, normalizedParams, requestId)
|
|
|
50
66
|
}
|
|
51
67
|
// 本体レコードを取得
|
|
52
68
|
const mainRecords = await fetchMainRecords(resource, recordIds, costTracker, requestId);
|
|
53
|
-
// ID
|
|
69
|
+
// IDでマッピングを作成
|
|
54
70
|
const recordMap = new Map(mainRecords.map((item) => {
|
|
55
71
|
const data = item.data;
|
|
56
72
|
return [data.id, extractCleanRecord(item)];
|
|
@@ -59,17 +75,20 @@ export async function executeShadowQuery(resource, normalizedParams, requestId)
|
|
|
59
75
|
const seenIds = new Set();
|
|
60
76
|
let items = recordIds
|
|
61
77
|
.filter((id) => {
|
|
62
|
-
if (seenIds.has(id))
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
78
|
+
if (seenIds.has(id))
|
|
79
|
+
return false;
|
|
65
80
|
seenIds.add(id);
|
|
66
81
|
return true;
|
|
67
82
|
})
|
|
68
83
|
.map((id) => recordMap.get(id))
|
|
69
84
|
.filter((record) => record !== undefined);
|
|
70
|
-
//
|
|
71
|
-
if (
|
|
72
|
-
items = items.filter((record) => matchesAllFilters(record,
|
|
85
|
+
// 残りのフィルター条件を適用(メモリ内フィルタリング)
|
|
86
|
+
if (remainingFilters.length > 0) {
|
|
87
|
+
items = items.filter((record) => matchesAllFilters(record, remainingFilters));
|
|
88
|
+
}
|
|
89
|
+
// filter-first の場合: 指定されたソートフィールドでメモリソート
|
|
90
|
+
if (isFilterFirst) {
|
|
91
|
+
items = sortInMemory(items, sort);
|
|
73
92
|
}
|
|
74
93
|
// ページネーション情報を生成
|
|
75
94
|
const hasNextPage = (shadowRecords.Items?.length || 0) < perPage
|
|
@@ -82,6 +101,7 @@ export async function executeShadowQuery(resource, normalizedParams, requestId)
|
|
|
82
101
|
requestId,
|
|
83
102
|
resource,
|
|
84
103
|
sortField: sort.field,
|
|
104
|
+
isFilterFirst,
|
|
85
105
|
shadowCount: shadowRecords.Items?.length || 0,
|
|
86
106
|
mainCount: items.length,
|
|
87
107
|
hasNextPage,
|
|
@@ -96,6 +116,57 @@ export async function executeShadowQuery(resource, normalizedParams, requestId)
|
|
|
96
116
|
consumedCapacity: costTracker.getAggregated(),
|
|
97
117
|
};
|
|
98
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* filter-first で使うフィルタ候補を選択する
|
|
121
|
+
*
|
|
122
|
+
* cardinality が指定されている場合: 最も選択性の高い(cardinality が大きい)$eq フィルタを優先
|
|
123
|
+
* cardinality がない場合: ソートフィールドと異なる最初の $eq フィルタ
|
|
124
|
+
* cardinality が指定されているが 0 のフィールドは filter-first 対象外(選択性なし)
|
|
125
|
+
*
|
|
126
|
+
* @param parsedFilters - 解析済みフィルタ
|
|
127
|
+
* @param sortField - ソートフィールド(これと一致するフィルタは最適化済みのため除外)
|
|
128
|
+
* @param schema - リソーススキーマ(カーディナリティヒント)
|
|
129
|
+
*/
|
|
130
|
+
function selectFilterFirstCandidate(parsedFilters, sortField, schema) {
|
|
131
|
+
const eqFilters = parsedFilters.filter((f) => f.parsed.operator === '$eq' && f.parsed.field !== sortField);
|
|
132
|
+
if (eqFilters.length === 0)
|
|
133
|
+
return undefined;
|
|
134
|
+
const cardinality = schema?.cardinality;
|
|
135
|
+
if (!cardinality) {
|
|
136
|
+
// ヒントなし: 最初の候補をそのまま使用
|
|
137
|
+
return eqFilters[0];
|
|
138
|
+
}
|
|
139
|
+
// cardinality でスコアリング: 未定義は 0 扱い(filter-first しない)
|
|
140
|
+
const scored = eqFilters
|
|
141
|
+
.map((f) => ({ f, score: cardinality[f.parsed.field] ?? 0 }))
|
|
142
|
+
.filter(({ score }) => score > 0) // cardinality=0 または未定義は除外
|
|
143
|
+
.sort((a, b) => b.score - a.score); // 高いほど選択性が高い → 優先
|
|
144
|
+
return scored[0]?.f;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* レコードをメモリ内でソートする(filter-first 後のソート用)
|
|
148
|
+
*
|
|
149
|
+
* @param items - ソート対象レコード
|
|
150
|
+
* @param sort - ソート条件
|
|
151
|
+
* @returns ソート済みレコード
|
|
152
|
+
*/
|
|
153
|
+
function sortInMemory(items, sort) {
|
|
154
|
+
const { field, order } = sort;
|
|
155
|
+
const direction = order === 'ASC' ? 1 : -1;
|
|
156
|
+
return [...items].sort((a, b) => {
|
|
157
|
+
const aVal = a[field];
|
|
158
|
+
const bVal = b[field];
|
|
159
|
+
if (aVal === undefined || aVal === null)
|
|
160
|
+
return direction;
|
|
161
|
+
if (bVal === undefined || bVal === null)
|
|
162
|
+
return -direction;
|
|
163
|
+
if (aVal < bVal)
|
|
164
|
+
return -direction;
|
|
165
|
+
if (aVal > bVal)
|
|
166
|
+
return direction;
|
|
167
|
+
return 0;
|
|
168
|
+
});
|
|
169
|
+
}
|
|
99
170
|
/**
|
|
100
171
|
* シャドウレコードクエリを実行する
|
|
101
172
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadowQuery.js","sourceRoot":"","sources":["../../../../src/server/operations/find/shadowQuery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,WAAW,EACX,YAAY,GACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,MAAM,GAAG,YAAY,CAAC;IAC1B,OAAO,EAAE,cAAc;IACvB,KAAK,EAAG,OAAO,CAAC,GAAG,CAAC,SAAiD,IAAI,MAAM;CAChF,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,gBAAsC,EACtC,SAAiB;IAEjB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC;IAC7D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAEtC,MAAM,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"shadowQuery.js","sourceRoot":"","sources":["../../../../src/server/operations/find/shadowQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Find操作の型定義
|
|
3
3
|
*/
|
|
4
|
+
import type { ResourceSchema } from '../../../shared/types/schema.js';
|
|
4
5
|
import type { FindParams, FindResult } from '../../types.js';
|
|
5
6
|
import type { ParsedFilterField } from '../../utils/filter.js';
|
|
6
7
|
/**
|
|
@@ -30,6 +31,8 @@ export interface NormalizedFindParams {
|
|
|
30
31
|
nextToken?: string;
|
|
31
32
|
};
|
|
32
33
|
parsedFilters: ParsedFilter[];
|
|
34
|
+
/** クエリプランナーへのヒント */
|
|
35
|
+
schema?: ResourceSchema;
|
|
33
36
|
}
|
|
34
37
|
/**
|
|
35
38
|
* Find操作のコンテキスト
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/operations/find/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,aAAa,EAAE,YAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/operations/find/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,oBAAoB;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACjC,QAAQ,EAAE;QACR,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { NearQuery } from '../../../shared/geohash/types.js';
|
|
2
|
+
import type { ResourceSchema } from '../../../shared/types/schema.js';
|
|
2
3
|
import type { ShadowConfig } from '../../shadow/config.js';
|
|
3
4
|
import type { FindParams } from '../../types.js';
|
|
4
5
|
import type { NormalizedFindParams, OptimizableFilter, ParsedFilter } from './types.js';
|
|
@@ -16,7 +17,9 @@ export declare function initializeFindConfig(): ShadowConfig;
|
|
|
16
17
|
* @param params - Find操作のパラメータ
|
|
17
18
|
* @returns 正規化されたパラメータ
|
|
18
19
|
*/
|
|
19
|
-
export declare function normalizeFindParams(config: ShadowConfig, resource: string, params: FindParams
|
|
20
|
+
export declare function normalizeFindParams(config: ShadowConfig, resource: string, params: FindParams & {
|
|
21
|
+
schema?: ResourceSchema;
|
|
22
|
+
}): NormalizedFindParams;
|
|
20
23
|
/**
|
|
21
24
|
* 最適化可能なフィルター条件を検索する
|
|
22
25
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/server/operations/find/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAOxF;;;;GAIG;AACH,wBAAgB,oBAAoB,iBAEnC;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/server/operations/find/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAElE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAOxF;;;;GAIG;AACH,wBAAgB,oBAAoB,iBAEnC;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,UAAU,GAAG;IAAE,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,GAC/C,oBAAoB,CAgBtB;AAgDD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,YAAY,EAAE,GAC5B,iBAAiB,GAAG,SAAS,CAI/B;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,aAAa,EAAE,YAAY,EAAE,GAC5B,OAAO,CA4ET;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,eAAe,CAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,GAAG,IAAI,CAmBpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/server/operations/find/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/server/operations/find/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* MongoDB風のパラメータを内部形式に変換する共通ロジック
|
|
5
5
|
*/
|
|
6
|
+
import type { ResourceSchema } from '../../shared/types/schema.js';
|
|
6
7
|
import type { DeleteManyParams, DeleteOneParams, FindManyParams, FindOneParams, FindParams, InsertManyParams, InsertOneParams, UpdateManyParams, UpdateOneParams } from '../types.js';
|
|
7
8
|
/**
|
|
8
9
|
* MongoDB風のfindパラメータ
|
|
@@ -13,6 +14,7 @@ interface MongoFindParams {
|
|
|
13
14
|
sort?: Record<string, 'asc' | 'desc' | 1 | -1>;
|
|
14
15
|
limit?: number;
|
|
15
16
|
nextToken?: string;
|
|
17
|
+
schema?: ResourceSchema;
|
|
16
18
|
};
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
@@ -55,7 +57,9 @@ interface MongoDocumentsParams {
|
|
|
55
57
|
* @param mongoParams - MongoDB風のfindパラメータ
|
|
56
58
|
* @returns 内部形式のfindパラメータ
|
|
57
59
|
*/
|
|
58
|
-
export declare function convertFindParams(mongoParams: MongoFindParams): FindParams
|
|
60
|
+
export declare function convertFindParams(mongoParams: MongoFindParams): FindParams & {
|
|
61
|
+
schema?: ResourceSchema;
|
|
62
|
+
};
|
|
59
63
|
/**
|
|
60
64
|
* MongoDB風のfindOneパラメータを内部形式に変換する
|
|
61
65
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameterConverter.d.ts","sourceRoot":"","sources":["../../../src/server/operations/parameterConverter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"parameterConverter.d.ts","sourceRoot":"","sources":["../../../src/server/operations/parameterConverter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EAChB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,cAAc,CAAC;KACzB,CAAC;CACH;AAED;;GAEG;AACH,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE;QACP,EAAE,CAAC,EAAE,MAAM,GAAG;YAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KAClC,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;GAEG;AACH,UAAU,iBAAkB,SAAQ,iBAAiB;IACnD,MAAM,CAAC,EACH;QACE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,GACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,UAAU,mBAAmB;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,UAAU,oBAAoB;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,eAAe,GAAG,UAAU,GAAG;IAAE,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,CAuBxG;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,GAAG,aAAa,CAgBlF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,iBAAiB,GAAG,cAAc,CAqBpF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,mBAAmB,GAAG,eAAe,CAOxF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,iBAAiB,GAAG,eAAe,CAwDtF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,GAAG,gBAAgB,CAmBxF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,iBAAiB,GAAG,eAAe,CActF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,GAAG,gBAAgB,CAOxF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,oBAAoB,GAAG,gBAAgB,CAO3F"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export function convertFindParams(mongoParams) {
|
|
8
8
|
const { filter = {}, options = {} } = mongoParams;
|
|
9
|
-
const { sort, limit, nextToken } = options;
|
|
9
|
+
const { sort, limit, nextToken, schema } = options;
|
|
10
10
|
const internalParams = {
|
|
11
11
|
filter,
|
|
12
12
|
...(sort &&
|
|
@@ -22,6 +22,7 @@ export function convertFindParams(mongoParams) {
|
|
|
22
22
|
...(nextToken && { nextToken }),
|
|
23
23
|
},
|
|
24
24
|
}),
|
|
25
|
+
...(schema && { schema }),
|
|
25
26
|
};
|
|
26
27
|
return internalParams;
|
|
27
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameterConverter.js","sourceRoot":"","sources":["../../../src/server/operations/parameterConverter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parameterConverter.js","sourceRoot":"","sources":["../../../src/server/operations/parameterConverter.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* OpenAPI generated types を SSOT として使用します。
|
|
5
5
|
*/
|
|
6
|
-
import type { DeleteResult as GeneratedDeleteResult, Filter as GeneratedFilter, FilterOperators, FindOptions, InsertManyResult as GeneratedInsertManyResult, InsertOneResult as GeneratedInsertOneResult, UpdateManyOptions, UpdateOneOptions, UpdateOperators as GeneratedUpdateOperators, UpdateResult as GeneratedUpdateResult } from '../../__generated__/models/index.js';
|
|
6
|
+
import type { DeleteResult as GeneratedDeleteResult, Filter as GeneratedFilter, FilterOperators, FindOptions as GeneratedFindOptions, InsertManyResult as GeneratedInsertManyResult, InsertOneResult as GeneratedInsertOneResult, UpdateManyOptions, UpdateOneOptions, UpdateOperators as GeneratedUpdateOperators, UpdateResult as GeneratedUpdateResult } from '../../__generated__/models/index.js';
|
|
7
|
+
import type { ResourceSchema } from './schema.js';
|
|
7
8
|
export type Filter<T> = GeneratedFilter & {
|
|
8
9
|
[P in keyof T]?: T[P] | FilterOperators;
|
|
9
10
|
};
|
|
@@ -14,7 +15,13 @@ export type UpdateOperators<T> = GeneratedUpdateOperators & {
|
|
|
14
15
|
$unset?: (keyof T)[];
|
|
15
16
|
$inc?: Partial<Record<keyof T, number>>;
|
|
16
17
|
};
|
|
17
|
-
|
|
18
|
+
/** FindOptions にスキーマヒントを追加拡張 */
|
|
19
|
+
export type FindOptions = GeneratedFindOptions & {
|
|
20
|
+
/** クエリプランナーへのヒント(フィールドのカーディナリティ) */
|
|
21
|
+
schema?: ResourceSchema;
|
|
22
|
+
};
|
|
23
|
+
export type { UpdateOneOptions, UpdateManyOptions };
|
|
24
|
+
export type { ResourceSchema, SchemaConfig } from './schema.js';
|
|
18
25
|
export type InsertOneResult = GeneratedInsertOneResult;
|
|
19
26
|
export type InsertManyResult = GeneratedInsertManyResult;
|
|
20
27
|
export type UpdateResult = GeneratedUpdateResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACV,YAAY,IAAI,qBAAqB,EACrC,MAAM,IAAI,eAAe,EACzB,eAAe,EACf,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACV,YAAY,IAAI,qBAAqB,EACrC,MAAM,IAAI,eAAe,EACzB,eAAe,EACf,WAAW,IAAI,oBAAoB,EACnC,gBAAgB,IAAI,yBAAyB,EAC7C,eAAe,IAAI,wBAAwB,EAC3C,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,IAAI,wBAAwB,EAC3C,YAAY,IAAI,qBAAqB,EACtC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,eAAe,GAAG;KACvC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe;CACxC,CAAC;AAEF,YAAY,EAAE,eAAe,EAAE,CAAC;AAChC,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,wBAAwB,GAAG;IAC1D,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;CACzC,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,WAAW,GAAG,oBAAoB,GAAG;IAC/C,oCAAoC;IACpC,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB,CAAC;AACF,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,wBAAwB,CAAC;AACvD,MAAM,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AACzD,MAAM,MAAM,YAAY,GAAG,qBAAqB,CAAC;AACjD,MAAM,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAGjD,cAAc,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/types/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/types/index.ts"],"names":[],"mappings":"AA4CA,sBAAsB;AACtB,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* スキーマ型定義(クエリプランナーへのヒント)
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* リソーススキーマ
|
|
6
|
+
*
|
|
7
|
+
* フィールドのカーディナリティ(値の種類数)を指定することで、
|
|
8
|
+
* フィルタ検索時にどのシャドウインデックスを優先するかを制御できます。
|
|
9
|
+
*
|
|
10
|
+
* カーディナリティが高い(値の種類が多い)フィールドは選択性が高く、
|
|
11
|
+
* フィルタ優先クエリに適しています。
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* {
|
|
16
|
+
* cardinality: {
|
|
17
|
+
* prefecture: 47, // 47都道府県 → 選択性高 → フィルタ優先に適する
|
|
18
|
+
* status: 3, // active/inactive/pending → 選択性低
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export interface ResourceSchema {
|
|
24
|
+
/** フィールドのカーディナリティ(値の種類数) */
|
|
25
|
+
cardinality?: Record<string, number>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* スキーマ設定(リソース名 → スキーマ)
|
|
29
|
+
*/
|
|
30
|
+
export type SchemaConfig = Record<string, ResourceSchema>;
|
|
31
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/shared/types/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/shared/types/schema.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exabugs/dynamodb-client",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.6",
|
|
4
4
|
"description": "DynamoDB Single-Table Client SDK with MongoDB-like API, Shadow Records, and Lambda implementation for serverless applications",
|
|
5
5
|
"author": "exabugs",
|
|
6
6
|
"license": "MIT",
|