Skip to content

Commit c7e140c

Browse files
committed
sync with java: 890fe52470095482f42298a59e0227d318fc69ce
1 parent de78e88 commit c7e140c

File tree

17 files changed

+232
-26
lines changed

17 files changed

+232
-26
lines changed

src/Documents/DocumentStoreBase.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import { DatabaseSmuggler } from "./Smuggler/DatabaseSmuggler";
3636
import { IDisposable } from "../Types/Contracts";
3737
import { TimeSeriesOperations } from "./TimeSeries/TimeSeriesOperations";
3838
import { IAbstractIndexCreationTask } from "./Indexes/IAbstractIndexCreationTask";
39+
import { StringUtil } from "../Utility/StringUtil";
3940

4041
export abstract class DocumentStoreBase
4142
extends EventEmitter

src/Documents/Identity/MultiDatabaseHiLoIdGenerator.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { MultiTypeHiLoIdGenerator } from "./MultiTypeHiLoIdGenerator";
22
import { DocumentStore } from "../DocumentStore";
33
import { IRavenObject } from "../../Types/IRavenObject";
4+
import { DocumentStoreBase } from "../DocumentStoreBase";
45

56
export class MultiDatabaseHiLoIdGenerator {
67

@@ -13,7 +14,7 @@ export class MultiDatabaseHiLoIdGenerator {
1314
}
1415

1516
public generateDocumentId(database: string, entity: object): Promise<string> {
16-
return this._getGeneratorForDatabase(database || this._store.database)
17+
return this._getGeneratorForDatabase(DocumentStoreBase.getEffectiveDatabase(this._store, database))
1718
.generateDocumentId(entity);
1819
}
1920

src/Documents/Indexes/AbstractIndexCreationTaskBase.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ import { DocumentStoreBase } from "../DocumentStoreBase";
99

1010
export abstract class AbstractIndexCreationTaskBase<TIndexDefinition extends IndexDefinition>
1111
extends AbstractCommonApiForIndexes implements IAbstractIndexCreationTask {
12-
13-
12+
1413
/**
1514
* Creates the index definition.
1615
*/

src/Documents/Queries/Facets/AggregationQueryBase.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export abstract class AggregationQueryBase {
4343
return (this._session as DocumentSession)
4444
.addLazyOperation(
4545
new LazyAggregationQueryOperation(
46-
this._session.conventions,
46+
this._session,
4747
this._query,
4848
this,
4949
(queryResult: QueryResult) =>
@@ -65,6 +65,8 @@ export abstract class AggregationQueryBase {
6565
results[facetResult.name] = facetResult;
6666
}
6767

68+
this._session.registerIncludes(queryResult.includes);
69+
6870
QueryOperation.ensureIsAcceptable(
6971
queryResult, this._query.waitForNonStaleResults, this._duration, this._session);
7072

src/Documents/Queries/Suggestions/SuggestionQueryBase.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export abstract class SuggestionQueryBase {
5454

5555
return (this._session as DocumentSession).addLazyOperation(
5656
new LazySuggestionQueryOperation(
57-
this._session.conventions,
57+
this._session,
5858
this._query,
5959
result => this._invokeAfterQueryExecuted(result),
6060
(result) => this._processResults(result)

src/Documents/Session/AbstractDocumentQuery.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ export abstract class AbstractDocumentQuery<T extends object, TSelf extends Abst
428428

429429
const clazz = this._conventions.getJsTypeByDocumentType(this._clazz);
430430
return new LazyQueryOperation<T>(
431-
this._theSession.conventions,
431+
this._theSession,
432432
this._queryOperation,
433433
this,
434434
clazz);
@@ -2157,7 +2157,7 @@ export abstract class AbstractDocumentQuery<T extends object, TSelf extends Abst
21572157
const clazz = this._conventions.getJsTypeByDocumentType(this._clazz);
21582158
const lazyQueryOperation =
21592159
new LazyQueryOperation<T>(
2160-
this._theSession.conventions,
2160+
this._theSession,
21612161
this._queryOperation,
21622162
this,
21632163
clazz);

src/Documents/Session/IDocumentQuery.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ export interface IDocumentQuery<T extends object>
7474
* If the field is not stored in index, value will come from document directly.
7575
*/
7676
selectFields<TProjection extends object>(
77-
queryData: QueryData, projectionClass: DocumentType<TProjection>): IDocumentQuery<TProjection>; //TODO: update in 4.2 as well
77+
queryData: QueryData, projectionClass: DocumentType<TProjection>): IDocumentQuery<TProjection>;
7878

7979
/**
8080
* Selects a Time Series Aggregation based on

src/Documents/Session/Operations/Lazy/LazyAggregationQueryOperation.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,22 @@ import { GetRequest } from "../../../Commands/MultiGet/GetRequest";
77
import { GetResponse } from "../../../Commands/MultiGet/GetResponse";
88
import { FacetQueryCommand } from "../../../Commands/FacetQueryCommand";
99
import { stringToReadable } from "../../../../Utility/StreamUtil";
10+
import { InMemoryDocumentSessionOperations } from "../../InMemoryDocumentSessionOperations";
1011

1112
export class LazyAggregationQueryOperation implements ILazyOperation {
1213

13-
private readonly _conventions: DocumentConventions;
14+
private readonly _session: InMemoryDocumentSessionOperations;
1415
private readonly _indexQuery: IndexQuery;
1516
private readonly _parent: AggregationQueryBase;
1617
private readonly _processResults:
1718
(queryResult: QueryResult) => FacetResultObject;
1819

1920
public constructor(
20-
conventions: DocumentConventions,
21+
session: InMemoryDocumentSessionOperations,
2122
indexQuery: IndexQuery,
2223
parent: AggregationQueryBase,
2324
processResults: (queryResult: QueryResult) => FacetResultObject) {
24-
this._conventions = conventions;
25+
this._session = session;
2526
this._indexQuery = indexQuery;
2627
this._processResults = processResults;
2728
this._parent = parent;
@@ -32,7 +33,7 @@ export class LazyAggregationQueryOperation implements ILazyOperation {
3233
request.url = "/queries";
3334
request.method = "POST";
3435
request.query = "?queryHash=" + this._indexQuery.getQueryHash();
35-
request.body = writeIndexQuery(this._conventions, this._indexQuery);
36+
request.body = writeIndexQuery(this._session.conventions, this._indexQuery);
3637
return request;
3738
}
3839

@@ -72,7 +73,7 @@ export class LazyAggregationQueryOperation implements ILazyOperation {
7273
}
7374

7475
const result = await FacetQueryCommand.parseQueryResultResponseAsync(
75-
stringToReadable(response.result), this._conventions, false);
76+
stringToReadable(response.result), this._session.conventions, false);
7677
this._handleResponse(result);
7778
}
7879

src/Documents/Session/Operations/Lazy/LazyQueryOperation.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,22 @@ import { GetResponse } from "../../../Commands/MultiGet/GetResponse";
99
import { QueryCommand } from "../../../Commands/QueryCommand";
1010
import { stringToReadable } from "../../../../Utility/StreamUtil";
1111
import { QueryEventsEmitter } from "../../../Session/QueryEvents";
12+
import { InMemoryDocumentSessionOperations } from "../../InMemoryDocumentSessionOperations";
1213

1314
export class LazyQueryOperation<T extends object> implements ILazyOperation {
1415
private readonly _clazz: ObjectTypeDescriptor<T>;
15-
private readonly _conventions: DocumentConventions;
16+
private readonly _session: InMemoryDocumentSessionOperations;
1617
private readonly _queryOperation: QueryOperation;
1718
private readonly _parent: QueryEventsEmitter;
1819

1920
public constructor(
20-
conventions: DocumentConventions,
21+
session: InMemoryDocumentSessionOperations,
2122
queryOperation: QueryOperation,
2223
parent: QueryEventsEmitter,
2324
clazz: ObjectTypeDescriptor<T>) {
2425

2526
this._clazz = clazz;
26-
this._conventions = conventions;
27+
this._session = session;
2728
this._queryOperation = queryOperation;
2829
this._parent = parent;
2930
}
@@ -33,7 +34,7 @@ export class LazyQueryOperation<T extends object> implements ILazyOperation {
3334
request.url = "/queries";
3435
request.method = "POST";
3536
request.query = "?queryHash=" + this._queryOperation.indexQuery.getQueryHash();
36-
request.body = writeIndexQuery(this._conventions, this._queryOperation.indexQuery);
37+
request.body = writeIndexQuery(this._session.conventions, this._queryOperation.indexQuery);
3738
return request;
3839
}
3940

@@ -75,7 +76,7 @@ export class LazyQueryOperation<T extends object> implements ILazyOperation {
7576
let queryResult: QueryResult;
7677
if (response.result) {
7778
queryResult = await QueryCommand.parseQueryResultResponseAsync(
78-
stringToReadable(response.result), this._conventions, false);
79+
stringToReadable(response.result), this._session.conventions, false);
7980
}
8081
this._handleResponse(queryResult, response.elapsed);
8182
}

src/Documents/Session/Operations/Lazy/LazySuggestionQueryOperation.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,25 @@ import { stringToReadable } from "../../../../Utility/StreamUtil";
77
import { DocumentConventions } from "../../../Conventions/DocumentConventions";
88
import { IndexQuery, writeIndexQuery } from "../../../Queries/IndexQuery";
99
import { SuggestionsResponseObject } from "../../../../Types";
10+
import { InMemoryDocumentSessionOperations } from "../../InMemoryDocumentSessionOperations";
1011

1112
export class LazySuggestionQueryOperation implements ILazyOperation {
1213

1314
private _result: Object;
1415
private _queryResult: QueryResult;
1516
private _requiresRetry: boolean;
1617

17-
private readonly _conventions: DocumentConventions;
18+
private readonly _session: InMemoryDocumentSessionOperations;
1819
private readonly _indexQuery: IndexQuery;
1920
private readonly _invokeAfterQueryExecuted: (result: QueryResult) => void;
2021
private readonly _processResults:
2122
(result: QueryResult) => SuggestionsResponseObject;
2223

23-
public constructor(conventions: DocumentConventions, indexQuery: IndexQuery,
24+
public constructor(session: InMemoryDocumentSessionOperations, indexQuery: IndexQuery,
2425
invokeAfterQueryExecuted: (result: QueryResult) => void,
2526
processResults: (result: QueryResult)
2627
=> SuggestionsResponseObject) {
27-
this._conventions = conventions;
28+
this._session = session;
2829
this._indexQuery = indexQuery;
2930
this._invokeAfterQueryExecuted = invokeAfterQueryExecuted;
3031
this._processResults = processResults;
@@ -35,7 +36,7 @@ export class LazySuggestionQueryOperation implements ILazyOperation {
3536
request.url = "/queries";
3637
request.method = "POST";
3738
request.query = "?queryHash=" + this._indexQuery.getQueryHash();
38-
request.body = writeIndexQuery(this._conventions, this._indexQuery);
39+
request.body = writeIndexQuery(this._session.conventions, this._indexQuery);
3940

4041
return request;
4142
}
@@ -72,7 +73,7 @@ export class LazySuggestionQueryOperation implements ILazyOperation {
7273
}
7374

7475
const result = await QueryCommand.parseQueryResultResponseAsync(
75-
stringToReadable(response.result), this._conventions, false);
76+
stringToReadable(response.result), this._session.conventions, false);
7677

7778
this._handleResponse(result);
7879
}

0 commit comments

Comments
 (0)