Skip to content

Commit 27abcee

Browse files
committed
MOD: Update C++ to support datetime dataset range
1 parent 4e7123f commit 27abcee

File tree

6 files changed

+21
-15
lines changed

6 files changed

+21
-15
lines changed

CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
11
# Changelog
22

3-
## 0.18.2 - TBD
3+
## 0.19.0 - TBD
44

55
### Enhancements
66
- Added new `UncrossingPrice` `StatType` variant
77
- Added new publisher values for `XNAS.BASIC`
88

9+
### Breaking changes
10+
- Removed `start_date` and `end_date` fields from `DatasetRange` struct
11+
in favor of `start` and `end`
12+
- Removed live `Subscribe` method overloads with `use_snapshot`
13+
parameter in favor of separate `SubscribeWithSnapshot` method
14+
915
### Bug fixes
1016
- Fixed overloading of live `Subscribe` methods
1117
- Fixed live subscribing with default-constructed `UnixNanos`

include/databento/metadata.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ struct DatasetConditionDetail {
3232
};
3333

3434
struct DatasetRange {
35-
std::string start_date;
36-
std::string end_date;
35+
std::string start;
36+
std::string end;
3737
};
3838

3939
inline bool operator==(const PublisherDetail& lhs, const PublisherDetail& rhs) {
@@ -71,7 +71,7 @@ inline bool operator!=(const DatasetConditionDetail& lhs,
7171
}
7272

7373
inline bool operator==(const DatasetRange& lhs, const DatasetRange& rhs) {
74-
return lhs.start_date == rhs.start_date && lhs.end_date == rhs.end_date;
74+
return lhs.start == rhs.start && lhs.end == rhs.end;
7575
}
7676
inline bool operator!=(const DatasetRange& lhs, const DatasetRange& rhs) {
7777
return !(lhs == rhs);

src/historical.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -559,9 +559,8 @@ databento::DatasetRange Historical::MetadataGetDatasetRange(
559559
if (!json.is_object()) {
560560
throw JsonResponseError::TypeMismatch(kEndpoint, "object", json);
561561
}
562-
return DatasetRange{
563-
detail::ParseAt<std::string>(kEndpoint, json, "start_date"),
564-
detail::ParseAt<std::string>(kEndpoint, json, "end_date")};
562+
return DatasetRange{detail::ParseAt<std::string>(kEndpoint, json, "start"),
563+
detail::ParseAt<std::string>(kEndpoint, json, "end")};
565564
}
566565

567566
static const std::string kMetadataGetRecordCountEndpoint =

src/metadata.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ std::ostream& operator<<(std::ostream& stream,
5959
.SetSpacer(" ")
6060
.SetTypeName("DatasetRange")
6161
.Build()
62-
.AddField("start_date", dataset_range.start_date)
63-
.AddField("end_date", dataset_range.end_date)
62+
.AddField("start", dataset_range.start)
63+
.AddField("end", dataset_range.end)
6464
.Finish();
6565
}
6666
} // namespace databento

test/src/historical_tests.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -447,17 +447,17 @@ TEST_F(HistoricalTests, TestMetadataListUnitPrices) {
447447
}
448448

449449
TEST_F(HistoricalTests, TestMetadataGetDatasetRange) {
450-
const nlohmann::json kResp = {{"start_date", "2017-05-21"},
451-
{"end_date", "2022-12-01"}};
450+
const nlohmann::json kResp = {{"start", "2017-05-21T00:00:00.000000000Z"},
451+
{"end", "2022-12-01T00:00:00.000000000Z"}};
452452
mock_server_.MockGetJson("/v0/metadata.get_dataset_range",
453453
{{"dataset", dataset::kXnasItch}}, kResp);
454454
const auto port = mock_server_.ListenOnThread();
455455

456456
databento::Historical target{logger_.get(), kApiKey, "localhost",
457457
static_cast<std::uint16_t>(port)};
458458
const auto res = target.MetadataGetDatasetRange(dataset::kXnasItch);
459-
EXPECT_EQ(res.start_date, "2017-05-21");
460-
EXPECT_EQ(res.end_date, "2022-12-01");
459+
EXPECT_EQ(res.start, "2017-05-21T00:00:00.000000000Z");
460+
EXPECT_EQ(res.end, "2022-12-01T00:00:00.000000000Z");
461461
}
462462

463463
TEST_F(HistoricalTests, TestMetadataGetRecordCount) {

test/src/metadata_tests.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@ TEST(MetadataTests, TestDatasetConditionDetailToString) {
1414
}
1515

1616
TEST(MetadataTests, TestDatasetRangeToString) {
17-
const DatasetRange target{"2022-05-17", "2023-01-07"};
17+
const DatasetRange target{"2022-05-17T00:00:00.000000000Z",
18+
"2023-01-07T00:00:00.000000000Z"};
1819
ASSERT_EQ(
1920
ToString(target),
20-
R"(DatasetRange { start_date = "2022-05-17", end_date = "2023-01-07" })");
21+
R"(DatasetRange { start = "2022-05-17T00:00:00.000000000Z", end = "2023-01-07T00:00:00.000000000Z" })");
2122
}
2223
} // namespace test
2324
} // namespace databento

0 commit comments

Comments
 (0)