Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Make dockey optional for allCommits queries #847

Merged
merged 5 commits into from
Oct 6, 2022

Conversation

AndrewSisley
Copy link
Contributor

Relevant issue(s)

Resolves #844

Description

Makes dockey optional for allCommits queries.

Specify the platform(s) on which this was tested:

  • Debian Linux

@AndrewSisley AndrewSisley added feature New feature or request area/query Related to the query component labels Sep 21, 2022
@AndrewSisley AndrewSisley added this to the DefraDB v0.4 milestone Sep 21, 2022
@AndrewSisley AndrewSisley requested a review from a team September 21, 2022 18:16
@AndrewSisley AndrewSisley self-assigned this Sep 21, 2022
@AndrewSisley AndrewSisley force-pushed the sisley/feat/I844-allcommits-dockey-optional branch from f7100a3 to 4805a3f Compare September 21, 2022 18:18
@codecov
Copy link

codecov bot commented Sep 21, 2022

Codecov Report

Merging #847 (25b7271) into develop (fc77438) will decrease coverage by 0.00%.
The diff coverage is 87.23%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #847      +/-   ##
===========================================
- Coverage    59.81%   59.81%   -0.01%     
===========================================
  Files          157      157              
  Lines        17403    17425      +22     
===========================================
+ Hits         10410    10422      +12     
- Misses        6056     6066      +10     
  Partials       937      937              
Impacted Files Coverage Δ
query/graphql/mapper/commitSelect.go 0.00% <ø> (ø)
db/fetcher/dag.go 57.30% <66.66%> (+0.51%) ⬆️
query/graphql/planner/dagscan.go 78.92% <85.00%> (-3.71%) ⬇️
query/graphql/parser/commit.go 73.91% <100.00%> (ø)
query/graphql/planner/commit.go 89.43% <100.00%> (+0.35%) ⬆️
db/base/compare.go 69.49% <0.00%> (+5.08%) ⬆️

@source-devs
Copy link

Benchmark Results

Summary

  • 113 Benchmarks successfully compared.
  • 37 Benchmarks were ✅ Better.
  • 76 Benchmarks were ❌ Worse .
  • 0 Benchmarks were ✨ Unchanged.
✅ See Better Results...
time/opdelta
_Collection_UserSimple_Create_Async_0_100-446.8ms ± 0%45.9ms ± 0%−1.80%(p=1.000 n=1+1)
_Collection_UserSimple_Create_Async_0_1000-4465ms ± 0%463ms ± 0%−0.34%(p=1.000 n=1+1)
_Collection_UserSimple_Create_Async_0_10000-45.04s ± 0%4.62s ± 0%−8.47%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Sync_10_10-4352µs ± 0%336µs ± 0%−4.36%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Sync_1000_1000-441.6ms ± 0%39.6ms ± 0%−4.72%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Sync_1000_10-4398µs ± 0%365µs ± 0%−8.15%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Sync_1000_100-44.03ms ± 0%3.89ms ± 0%−3.48%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Async_10_10-4287µs ± 0%271µs ± 0%−5.50%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Async_100_100-41.93ms ± 0%1.85ms ± 0%−4.35%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Async_1000_1000-425.7ms ± 0%24.8ms ± 0%−3.58%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Async_1000_10-4297µs ± 0%268µs ± 0%−9.89%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Async_1000_100-41.95ms ± 0%1.90ms ± 0%−2.12%(p=1.000 n=1+1)
_Query_UserSimple_Query_Sync_1000-410.4ms ± 0%9.5ms ± 0%−8.31%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithFilter_Sync_100-41.45ms ± 0%1.35ms ± 0%−6.77%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithFilter_Sync_1000-410.3ms ± 0%9.9ms ± 0%−4.05%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithLimitOffset_Sync_100-4514µs ± 0%509µs ± 0%−0.94%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithLimitOffset_Sync_1000-4468µs ± 0%459µs ± 0%−1.94%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithMultiLookup_Sync_10-4852µs ± 0%712µs ± 0%−16.50%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithMultiLookup_Sync_1000-4782µs ± 0%672µs ± 0%−13.99%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithSort_Sync_10-4491µs ± 0%467µs ± 0%−4.90%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithSort_Sync_100-41.81ms ± 0%1.42ms ± 0%−21.73%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithSort_Sync_1000-412.4ms ± 0%10.1ms ± 0%−18.43%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithSingleLookup_Sync_10-4384µs ± 0%326µs ± 0%−15.21%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithSingleLookup_Sync_100-4374µs ± 0%345µs ± 0%−7.85%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithSingleLookup_Sync_1000-4320µs ± 0%298µs ± 0%−6.69%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_10/ValueSize:0256-417.4µs ± 0%14.5µs ± 0%−16.35%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_10/ValueSize:1024-421.1µs ± 0%20.4µs ± 0%−3.42%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_100/ValueSize:0256-4155µs ± 0%154µs ± 0%−0.52%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_100/ValueSize:0512-4207µs ± 0%167µs ± 0%−19.13%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_10/ValueSize:0256-416.3µs ± 0%15.5µs ± 0%−5.16%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_10/ValueSize:0512-418.9µs ± 0%17.9µs ± 0%−5.33%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_10/ValueSize:1024-424.6µs ± 0%23.6µs ± 0%−3.83%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_100/ValueSize:0064-4157µs ± 0%146µs ± 0%−7.25%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_100/ValueSize:0064-41.15ms ± 0%1.11ms ± 0%−2.74%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_10_10/ValueSize:0064-49.04µs ± 0%8.99µs ± 0%−0.53%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_100_100/ValueSize:0064-4105µs ± 0%100µs ± 0%−4.44%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_100_1_100/ValueSize:0064-41.26ms ± 0%1.25ms ± 0%−1.14%(p=1.000 n=1+1)
 
❌ See Worse Results...
time/opdelta
_Collection_UserSimple_CreateMany_Sync_0_100-4235ms ± 0%252ms ± 0%+6.85%(p=1.000 n=1+1)
_Collection_UserSimple_Create_Sync_0_10-49.88ms ± 0%11.17ms ± 0%+13.05%(p=1.000 n=1+1)
_Collection_UserSimple_Create_Sync_0_100-4101ms ± 0%105ms ± 0%+4.35%(p=1.000 n=1+1)
_Collection_UserSimple_Create_Sync_0_1000-41.00s ± 0%1.08s ± 0%+7.61%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Sync_100_100-43.74ms ± 0%3.80ms ± 0%+1.50%(p=1.000 n=1+1)
_Query_UserSimple_Query_Sync_100-41.32ms ± 0%1.50ms ± 0%+13.67%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithFilter_Sync_10-4499µs ± 0%570µs ± 0%+14.31%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithLimitOffset_Sync_10-4458µs ± 0%516µs ± 0%+12.63%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithMultiLookup_Sync_100-4686µs ± 0%711µs ± 0%+3.62%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_10/ValueSize:0128-414.8µs ± 0%14.9µs ± 0%+0.66%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_10/ValueSize:0512-417.0µs ± 0%17.4µs ± 0%+2.78%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_100/ValueSize:0064-4146µs ± 0%149µs ± 0%+2.29%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_100/ValueSize:0128-4137µs ± 0%143µs ± 0%+4.63%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_100/ValueSize:1024-4223µs ± 0%236µs ± 0%+5.57%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_10/ValueSize:0064-416.8µs ± 0%20.0µs ± 0%+19.21%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_10/ValueSize:0128-415.9µs ± 0%17.3µs ± 0%+9.07%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_100/ValueSize:0128-4151µs ± 0%163µs ± 0%+7.94%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_100/ValueSize:0256-4153µs ± 0%180µs ± 0%+17.70%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_100/ValueSize:0512-4171µs ± 0%223µs ± 0%+30.68%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_100/ValueSize:1024-4203µs ± 0%241µs ± 0%+18.66%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_10/ValueSize:0064-446.3µs ± 0%59.9µs ± 0%+29.22%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_10/ValueSize:0128-445.9µs ± 0%53.7µs ± 0%+16.96%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_10/ValueSize:0256-452.3µs ± 0%58.6µs ± 0%+12.01%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_10/ValueSize:0512-455.9µs ± 0%59.6µs ± 0%+6.56%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_10/ValueSize:1024-467.4µs ± 0%72.7µs ± 0%+7.89%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_100/ValueSize:0064-4350µs ± 0%435µs ± 0%+24.17%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_100/ValueSize:0128-4386µs ± 0%555µs ± 0%+44.03%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_100/ValueSize:0256-4390µs ± 0%459µs ± 0%+17.76%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_100/ValueSize:0512-4408µs ± 0%523µs ± 0%+28.00%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_100/ValueSize:1024-4500µs ± 0%569µs ± 0%+13.84%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_10/ValueSize:0064-443.9µs ± 0%53.3µs ± 0%+21.55%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_10/ValueSize:0128-448.9µs ± 0%58.1µs ± 0%+18.66%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_10/ValueSize:0256-448.9µs ± 0%62.4µs ± 0%+27.68%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_10/ValueSize:0512-454.9µs ± 0%77.4µs ± 0%+41.07%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_10/ValueSize:1024-466.6µs ± 0%67.8µs ± 0%+1.78%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_100/ValueSize:0064-4336µs ± 0%389µs ± 0%+15.88%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_100/ValueSize:0128-4339µs ± 0%429µs ± 0%+26.43%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_100/ValueSize:0256-4358µs ± 0%426µs ± 0%+19.11%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_100/ValueSize:0512-4409µs ± 0%461µs ± 0%+12.83%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_100/ValueSize:1024-4505µs ± 0%551µs ± 0%+9.13%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_10/ValueSize:0064-4120µs ± 0%130µs ± 0%+7.52%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_10/ValueSize:0128-4126µs ± 0%154µs ± 0%+22.65%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_10/ValueSize:0256-4119µs ± 0%136µs ± 0%+14.21%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_10/ValueSize:0512-4125µs ± 0%128µs ± 0%+2.75%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_10/ValueSize:1024-4133µs ± 0%155µs ± 0%+16.65%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_100/ValueSize:0064-41.16ms ± 0%1.19ms ± 0%+2.20%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_100/ValueSize:0128-41.19ms ± 0%1.24ms ± 0%+3.75%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_100/ValueSize:0256-41.23ms ± 0%1.25ms ± 0%+1.35%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_100/ValueSize:0512-41.24ms ± 0%1.33ms ± 0%+7.45%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_100/ValueSize:1024-41.33ms ± 0%1.40ms ± 0%+5.16%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_10/ValueSize:0064-4110µs ± 0%118µs ± 0%+6.58%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_10/ValueSize:0128-4112µs ± 0%118µs ± 0%+4.80%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_10/ValueSize:0256-4117µs ± 0%138µs ± 0%+17.64%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_10/ValueSize:0512-4120µs ± 0%133µs ± 0%+10.47%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_10/ValueSize:1024-4130µs ± 0%138µs ± 0%+6.42%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_100/ValueSize:0128-41.15ms ± 0%1.17ms ± 0%+2.05%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_100/ValueSize:0256-41.15ms ± 0%1.21ms ± 0%+5.51%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_100/ValueSize:0512-41.17ms ± 0%1.25ms ± 0%+6.82%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_100/ValueSize:1024-41.33ms ± 0%1.44ms ± 0%+8.03%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_10_10/ValueSize:0128-48.70µs ± 0%9.78µs ± 0%+12.44%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_10_10/ValueSize:0256-49.45µs ± 0%11.59µs ± 0%+22.62%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_10_10/ValueSize:0512-412.1µs ± 0%12.1µs ± 0%+0.27%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_10_10/ValueSize:1024-416.3µs ± 0%16.9µs ± 0%+3.48%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_100_100/ValueSize:0128-490.4µs ± 0%110.6µs ± 0%+22.34%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_100_100/ValueSize:0256-4101µs ± 0%128µs ± 0%+26.20%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_100_100/ValueSize:0512-4111µs ± 0%132µs ± 0%+18.69%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_100_100/ValueSize:1024-4146µs ± 0%159µs ± 0%+8.74%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_10_1_10/ValueSize:0064-4128µs ± 0%136µs ± 0%+5.69%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_10_1_10/ValueSize:0128-4128µs ± 0%135µs ± 0%+5.84%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_10_1_10/ValueSize:0256-4129µs ± 0%138µs ± 0%+7.14%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_10_1_10/ValueSize:0512-4130µs ± 0%133µs ± 0%+2.02%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_10_1_10/ValueSize:1024-4134µs ± 0%136µs ± 0%+1.55%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_100_1_100/ValueSize:0128-41.25ms ± 0%1.25ms ± 0%+0.53%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_100_1_100/ValueSize:0256-41.29ms ± 0%1.29ms ± 0%+0.03%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_100_1_100/ValueSize:0512-41.28ms ± 0%1.36ms ± 0%+6.25%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_100_1_100/ValueSize:1024-41.30ms ± 0%1.44ms ± 0%+10.45%(p=1.000 n=1+1)
 
✨ See Unchanged Results...
time/opdelta
 
🐋 See Full Results...
develop.txtcurrent.txt
time/opdelta
pkg:collection goos:linux goarch:amd64
_Collection_UserSimple_CreateMany_Sync_0_10-411.7ms ± 0%11.1ms ± 0%−4.49%(p=1.000 n=1+1)
_Collection_UserSimple_CreateMany_Sync_0_100-4235ms ± 0%252ms ± 0%+6.85%(p=1.000 n=1+1)
_Collection_UserSimple_Create_Sync_0_10-49.88ms ± 0%11.17ms ± 0%+13.05%(p=1.000 n=1+1)
_Collection_UserSimple_Create_Sync_0_100-4101ms ± 0%105ms ± 0%+4.35%(p=1.000 n=1+1)
_Collection_UserSimple_Create_Sync_0_1000-41.00s ± 0%1.08s ± 0%+7.61%(p=1.000 n=1+1)
_Collection_UserSimple_Create_Async_0_100-446.8ms ± 0%45.9ms ± 0%−1.80%(p=1.000 n=1+1)
_Collection_UserSimple_Create_Async_0_1000-4465ms ± 0%463ms ± 0%−0.34%(p=1.000 n=1+1)
_Collection_UserSimple_Create_Async_0_10000-45.04s ± 0%4.62s ± 0%−8.47%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Sync_10_10-4352µs ± 0%336µs ± 0%−4.36%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Sync_100_100-43.74ms ± 0%3.80ms ± 0%+1.50%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Sync_1000_1000-441.6ms ± 0%39.6ms ± 0%−4.72%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Sync_1000_10-4398µs ± 0%365µs ± 0%−8.15%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Sync_1000_100-44.03ms ± 0%3.89ms ± 0%−3.48%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Async_10_10-4287µs ± 0%271µs ± 0%−5.50%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Async_100_100-41.93ms ± 0%1.85ms ± 0%−4.35%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Async_1000_1000-425.7ms ± 0%24.8ms ± 0%−3.58%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Async_1000_10-4297µs ± 0%268µs ± 0%−9.89%(p=1.000 n=1+1)
_Collection_UserSimple_Read_Async_1000_100-41.95ms ± 0%1.90ms ± 0%−2.12%(p=1.000 n=1+1)
pkg:query/simple goos:linux goarch:amd64
_Query_UserSimple_Query_Sync_10-4413µs ± 0%385µs ± 0%−6.72%(p=1.000 n=1+1)
_Query_UserSimple_Query_Sync_100-41.32ms ± 0%1.50ms ± 0%+13.67%(p=1.000 n=1+1)
_Query_UserSimple_Query_Sync_1000-410.4ms ± 0%9.5ms ± 0%−8.31%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithFilter_Sync_10-4499µs ± 0%570µs ± 0%+14.31%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithFilter_Sync_100-41.45ms ± 0%1.35ms ± 0%−6.77%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithFilter_Sync_1000-410.3ms ± 0%9.9ms ± 0%−4.05%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithLimitOffset_Sync_10-4458µs ± 0%516µs ± 0%+12.63%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithLimitOffset_Sync_100-4514µs ± 0%509µs ± 0%−0.94%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithLimitOffset_Sync_1000-4468µs ± 0%459µs ± 0%−1.94%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithMultiLookup_Sync_10-4852µs ± 0%712µs ± 0%−16.50%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithMultiLookup_Sync_100-4686µs ± 0%711µs ± 0%+3.62%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithMultiLookup_Sync_1000-4782µs ± 0%672µs ± 0%−13.99%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithSort_Sync_10-4491µs ± 0%467µs ± 0%−4.90%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithSort_Sync_100-41.81ms ± 0%1.42ms ± 0%−21.73%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithSort_Sync_1000-412.4ms ± 0%10.1ms ± 0%−18.43%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithSingleLookup_Sync_10-4384µs ± 0%326µs ± 0%−15.21%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithSingleLookup_Sync_100-4374µs ± 0%345µs ± 0%−7.85%(p=1.000 n=1+1)
_Query_UserSimple_Query_WithSingleLookup_Sync_1000-4320µs ± 0%298µs ± 0%−6.69%(p=1.000 n=1+1)
pkg:storage goos:linux goarch:amd64
_Storage_Simple_Read_Sync_1_10/ValueSize:0064-415.9µs ± 0%14.3µs ± 0%−9.65%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_10/ValueSize:0128-414.8µs ± 0%14.9µs ± 0%+0.66%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_10/ValueSize:0256-417.4µs ± 0%14.5µs ± 0%−16.35%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_10/ValueSize:0512-417.0µs ± 0%17.4µs ± 0%+2.78%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_10/ValueSize:1024-421.1µs ± 0%20.4µs ± 0%−3.42%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_100/ValueSize:0064-4146µs ± 0%149µs ± 0%+2.29%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_100/ValueSize:0128-4137µs ± 0%143µs ± 0%+4.63%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_100/ValueSize:0256-4155µs ± 0%154µs ± 0%−0.52%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_100/ValueSize:0512-4207µs ± 0%167µs ± 0%−19.13%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_1_100/ValueSize:1024-4223µs ± 0%236µs ± 0%+5.57%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_10/ValueSize:0064-416.8µs ± 0%20.0µs ± 0%+19.21%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_10/ValueSize:0128-415.9µs ± 0%17.3µs ± 0%+9.07%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_10/ValueSize:0256-416.3µs ± 0%15.5µs ± 0%−5.16%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_10/ValueSize:0512-418.9µs ± 0%17.9µs ± 0%−5.33%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_10/ValueSize:1024-424.6µs ± 0%23.6µs ± 0%−3.83%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_100/ValueSize:0064-4157µs ± 0%146µs ± 0%−7.25%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_100/ValueSize:0128-4151µs ± 0%163µs ± 0%+7.94%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_100/ValueSize:0256-4153µs ± 0%180µs ± 0%+17.70%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_100/ValueSize:0512-4171µs ± 0%223µs ± 0%+30.68%(p=1.000 n=1+1)
_Storage_Simple_Read_Sync_100_100/ValueSize:1024-4203µs ± 0%241µs ± 0%+18.66%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_10/ValueSize:0064-446.3µs ± 0%59.9µs ± 0%+29.22%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_10/ValueSize:0128-445.9µs ± 0%53.7µs ± 0%+16.96%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_10/ValueSize:0256-452.3µs ± 0%58.6µs ± 0%+12.01%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_10/ValueSize:0512-455.9µs ± 0%59.6µs ± 0%+6.56%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_10/ValueSize:1024-467.4µs ± 0%72.7µs ± 0%+7.89%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_100/ValueSize:0064-4350µs ± 0%435µs ± 0%+24.17%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_100/ValueSize:0128-4386µs ± 0%555µs ± 0%+44.03%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_100/ValueSize:0256-4390µs ± 0%459µs ± 0%+17.76%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_100/ValueSize:0512-4408µs ± 0%523µs ± 0%+28.00%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_0_100/ValueSize:1024-4500µs ± 0%569µs ± 0%+13.84%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_10/ValueSize:0064-443.9µs ± 0%53.3µs ± 0%+21.55%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_10/ValueSize:0128-448.9µs ± 0%58.1µs ± 0%+18.66%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_10/ValueSize:0256-448.9µs ± 0%62.4µs ± 0%+27.68%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_10/ValueSize:0512-454.9µs ± 0%77.4µs ± 0%+41.07%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_10/ValueSize:1024-466.6µs ± 0%67.8µs ± 0%+1.78%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_100/ValueSize:0064-4336µs ± 0%389µs ± 0%+15.88%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_100/ValueSize:0128-4339µs ± 0%429µs ± 0%+26.43%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_100/ValueSize:0256-4358µs ± 0%426µs ± 0%+19.11%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_100/ValueSize:0512-4409µs ± 0%461µs ± 0%+12.83%(p=1.000 n=1+1)
_Storage_Simple_WriteMany_Sync_100_100/ValueSize:1024-4505µs ± 0%551µs ± 0%+9.13%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_10/ValueSize:0064-4120µs ± 0%130µs ± 0%+7.52%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_10/ValueSize:0128-4126µs ± 0%154µs ± 0%+22.65%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_10/ValueSize:0256-4119µs ± 0%136µs ± 0%+14.21%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_10/ValueSize:0512-4125µs ± 0%128µs ± 0%+2.75%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_10/ValueSize:1024-4133µs ± 0%155µs ± 0%+16.65%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_100/ValueSize:0064-41.16ms ± 0%1.19ms ± 0%+2.20%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_100/ValueSize:0128-41.19ms ± 0%1.24ms ± 0%+3.75%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_100/ValueSize:0256-41.23ms ± 0%1.25ms ± 0%+1.35%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_100/ValueSize:0512-41.24ms ± 0%1.33ms ± 0%+7.45%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_0_100/ValueSize:1024-41.33ms ± 0%1.40ms ± 0%+5.16%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_10/ValueSize:0064-4110µs ± 0%118µs ± 0%+6.58%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_10/ValueSize:0128-4112µs ± 0%118µs ± 0%+4.80%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_10/ValueSize:0256-4117µs ± 0%138µs ± 0%+17.64%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_10/ValueSize:0512-4120µs ± 0%133µs ± 0%+10.47%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_10/ValueSize:1024-4130µs ± 0%138µs ± 0%+6.42%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_100/ValueSize:0064-41.15ms ± 0%1.11ms ± 0%−2.74%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_100/ValueSize:0128-41.15ms ± 0%1.17ms ± 0%+2.05%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_100/ValueSize:0256-41.15ms ± 0%1.21ms ± 0%+5.51%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_100/ValueSize:0512-41.17ms ± 0%1.25ms ± 0%+6.82%(p=1.000 n=1+1)
_Storage_Simple_Write_Sync_100_100/ValueSize:1024-41.33ms ± 0%1.44ms ± 0%+8.03%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_10_10/ValueSize:0064-49.04µs ± 0%8.99µs ± 0%−0.53%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_10_10/ValueSize:0128-48.70µs ± 0%9.78µs ± 0%+12.44%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_10_10/ValueSize:0256-49.45µs ± 0%11.59µs ± 0%+22.62%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_10_10/ValueSize:0512-412.1µs ± 0%12.1µs ± 0%+0.27%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_10_10/ValueSize:1024-416.3µs ± 0%16.9µs ± 0%+3.48%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_100_100/ValueSize:0064-4105µs ± 0%100µs ± 0%−4.44%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_100_100/ValueSize:0128-490.4µs ± 0%110.6µs ± 0%+22.34%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_100_100/ValueSize:0256-4101µs ± 0%128µs ± 0%+26.20%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_100_100/ValueSize:0512-4111µs ± 0%132µs ± 0%+18.69%(p=1.000 n=1+1)
_Storage_Simple_Txn_Read_Sync_100_100/ValueSize:1024-4146µs ± 0%159µs ± 0%+8.74%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_10_1_10/ValueSize:0064-4128µs ± 0%136µs ± 0%+5.69%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_10_1_10/ValueSize:0128-4128µs ± 0%135µs ± 0%+5.84%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_10_1_10/ValueSize:0256-4129µs ± 0%138µs ± 0%+7.14%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_10_1_10/ValueSize:0512-4130µs ± 0%133µs ± 0%+2.02%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_10_1_10/ValueSize:1024-4134µs ± 0%136µs ± 0%+1.55%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_100_1_100/ValueSize:0064-41.26ms ± 0%1.25ms ± 0%−1.14%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_100_1_100/ValueSize:0128-41.25ms ± 0%1.25ms ± 0%+0.53%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_100_1_100/ValueSize:0256-41.29ms ± 0%1.29ms ± 0%+0.03%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_100_1_100/ValueSize:0512-41.28ms ± 0%1.36ms ± 0%+6.25%(p=1.000 n=1+1)
_Storage_Simple_Txn_Iterator_Sync_100_1_100/ValueSize:1024-41.30ms ± 0%1.44ms ± 0%+10.45%(p=1.000 n=1+1)
 

@AndrewSisley AndrewSisley added the action/no-benchmark Skips the action that runs the benchmark. label Sep 21, 2022
@jsimnz
Copy link
Member

jsimnz commented Sep 21, 2022

I'm not actually 100% sure we want this as a feature :/.

@AndrewSisley
Copy link
Contributor Author

AndrewSisley commented Sep 21, 2022

I'm not actually 100% sure we want this as a feature :/.

We discussed this a while ago: #549 https://discord.com/channels/427944769851752448/988568170677796905

EDIT: To expand, two points to consider:

  1. Why would you want to block users from doing this if they want?
  2. When querying by cid, dockey is an unnecessary complication for the user, they should not have to specify both (and thus this should be optional)

@jsimnz
Copy link
Member

jsimnz commented Sep 21, 2022

We discussed this a while ago: #549 https://discord.com/channels/427944769851752448/988568170677796905

Apologies, I understood the sentiment of that thread at the time as unifying the commits queries under a single query type, not that we would also support querying for commits across documents via optional dockey selector/filter.

I'm just thinking through the implications of this change/feature. As technically there is very little coupling between commit data across documents, want to make sure that we don't imply there is a stronger link between them then there is. For Branchable Collections, this makes sense, but as that would just technically be a re-use of the compositeDAG system, it would already be supported by the current commit system.

Give me a minute to think through this. Apologies!

Comment on lines +35 to +44
Results: []map[string]any{
{
"cid": "bafybeidst2mzxhdoh4ayjdjoh4vibo7vwnuoxk3xgyk5mzmep55jklni2a",
},
{
"cid": "bafybeihhypcsqt7blkrqtcmpl43eo3yunrog5pchox5naji6hisdme4swm",
},
{
"cid": "bafybeid57gpbwi4i6bg7g357vwwyzsmr4bjo22rmhoxrwqvdxlqxcgaqvu",
},
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thought: I feel like this is a litle confusing. The CIDs are for the document, Name and Age right? Name and Age are ususally under links of the document commits. If we have allCommits without dockeys, I would expect to just have the list of CIDs for documents (and their links). Not their fields as well in the same level list. But as I write this I'm thinking it's also very confusing to see a list of CIDs of documents (certainly multiple CIDs for the same document) belonging to different collections.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah there is a ticket to expose dockey here #846 and we should also add one for collection (will create ticket)

Copy link
Contributor Author

@AndrewSisley AndrewSisley Sep 22, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#849 and #850 and #851 and #852

@AndrewSisley
Copy link
Contributor Author

Give me a minute to think through this. Apologies!

For the record John and I chatted on discord and we are happy adding this feature

@jsimnz
Copy link
Member

jsimnz commented Sep 22, 2022

Give me a minute to think through this. Apologies!

For the record John and I chatted on discord and we are happy adding this feature

I actually didn't even think of the possibility of field and doc level being intermixed, let alone across collections.

Makes me feel uneasy about this again :/.

@AndrewSisley
Copy link
Contributor Author

Similar to docs, it is trivial to sort or group by those if the user wants

@AndrewSisley
Copy link
Contributor Author

Or filter by them

@shahzadlone
Copy link
Member

Has there been a final decision on if we want this feature?

@AndrewSisley AndrewSisley force-pushed the sisley/feat/I844-allcommits-dockey-optional branch 5 times, most recently from d4794de to fe07cc3 Compare September 23, 2022 18:44
@jsimnz
Copy link
Member

jsimnz commented Sep 23, 2022

At the moment, if you don't specify field, it assumes a Field ID of C for "Composite" which ensures it only shows docs. I think this might make sense to keep this behavor, so at least only docs show up, unless you specify a given field. Additionally, we could include a * value to the field arg if we want all fields.

@AndrewSisley AndrewSisley force-pushed the sisley/feat/I844-allcommits-dockey-optional branch from fe07cc3 to 19319e6 Compare September 23, 2022 20:30
@AndrewSisley
Copy link
Contributor Author

At the moment, if you don't specify field, it assumes a Field ID of C for "Composite" which ensures it only shows docs. I think this might make sense to keep this behavor, so at least only docs show up, unless you specify a given field. Additionally, we could include a * value to the field arg if we want all fields.

Only true if you specify a dockey, otherwise it will yield field commits. I'll fix the dockey behaviour here

@fredcarle
Copy link
Collaborator

I struggle to understand why we would want to dump all CIDs like this. In what case is this useful? Why provide a feature to our users that (to me at least) provides an ambiguous output.

@AndrewSisley
Copy link
Contributor Author

I struggle to understand why we would want to dump all CIDs like this. In what case is this useful? Why provide a feature to our users that (to me at least) provides an ambiguous output.

Auditing/compliance would be the most obvious use-case for this on it's own. But also api/query consistency (commits should work exactly like any other query IMO, and allowing that makes it much easier for users to learn I think), and the extras (field,dockey, collection fields, and group, join etc can be added later - doing everything in one PR would be an awful way of working). And then as noted somewhere earlier forcing users to specific a dockey and a cid is totally pointless and will just be a nuisance for them).

@fredcarle
Copy link
Collaborator

Auditing/compliance would be the most obvious use-case for this on it's own. But also api/query consistency (commits should work exactly like any other query IMO, and allowing that makes it much easier for users to learn I think), and the extras (field,dockey, collection fields, and group, join etc can be added later - doing everything in one PR would be an awful way of working). And then as noted somewhere earlier forcing users to specific a dockey and a cid is totally pointless and will just be a nuisance for them).

I guess it brings consistency but using allCommits with no filter is probably not something users should use. Is the approach to let users decide for themselves?

@AndrewSisley
Copy link
Contributor Author

using allCommits with no filter is probably not something users should use.

Why not? It could be very handy if they want a cross-object history.

Is the approach to let users decide for themselves?

I very strongly believe in this, minus the really big red lines such as corrupt the db/security-stuff/etc IMO the users should be free to use Defra however they think is most useful, and to actively block them to doing so is somewhat arrogant of us

@AndrewSisley AndrewSisley force-pushed the sisley/feat/I844-allcommits-dockey-optional branch 4 times, most recently from bfa8801 to 0669b5f Compare October 4, 2022 14:47
@AndrewSisley
Copy link
Contributor Author

At the moment, if you don't specify field, it assumes a Field ID of C for "Composite" which ensures it only shows docs. I think this might make sense to keep this behavor, so at least only docs show up, unless you specify a given field. Additionally, we could include a * value to the field arg if we want all fields.

Only true if you specify a dockey, otherwise it will yield field commits. I'll fix the dockey behaviour here

Dockey stuff removed in commit 'Remove dockey commit returning only composite commit magic'

@AndrewSisley
Copy link
Contributor Author

AndrewSisley commented Oct 4, 2022

To add some extra context, as people seem to have been caught off-guard a bit with this, the main goals of the Epic are to make the commit query(s) consistent with the object queries, preferably to the point at which the two are indistinguishable. The sub-tasks can be roughly lumped into the below categories:

  • Addition of new props to facilitate usage (e.g. collection, field)
  • Removal of magic (e.g. providing a dockey makes commits for fields for that doc disappear from results)
  • Feature-parity/consistency (e.g. order, limit, group, cid, dockey, etc)
  • Deduplication (commit vs all_commits vs latest_commits)
  • Internal-code strengthening (if it all works the same way, the internal code can be simpler, and harder to break)

IMO the less different the commits queries are to normal queries, the less unusual and complex they will seem. The system will be more intuitive to our users and more powerful.

Copy link
Collaborator

@fredcarle fredcarle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving with a question and a suggestion assuming they will be addressed before merging. Also please wait for @jsimnz approval as it's not clear to me if he made up his mind on the feature.

@@ -56,6 +57,7 @@ type headsetScanNode struct {
key core.DataStoreKey

spans core.Spans
fieldId client.Option[string]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: not sure I understand why we would want fieldId when parsed.FieldName is the same Option value. The only advantage I see is that instead of h.parsed.FieldName we can have a shorter version which is h.fieldId. My question is, do you think it's worth the duplication?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was done very deliberately (I think it got its own commit), as it was impossible to distinguish from a user requested field and default. Memory is very hazy here now though

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's set in HeadScan and used only in initScan. Not sure where that ambiguity would come from. Can you clarify?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll try get back to you on this, I wrote this a very long time ago and I'd need to re-read/learn the PR again in order to give you a better answer than the above

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah I see, I think the the prop's reason-to-be got removed at somepoint during dev, but the prop stayed. Has been removed.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

cid *cid.Cid
currentCid *cid.Cid
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: A short comment here that can make clear what's the difference between cid and currentCid would be appreciated. When I look at it I think cid == root cid and currentCid == node currently being scanned. But I may be wrong and it's not obvious.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, this is not obvious and the code in this file could be simplified. There is a ticket for this in the epic (to be done after/as the query-syntax gets refactored)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this field was added in this PR I think it would be appropriate to have the comment added now though.

Copy link
Contributor Author

@AndrewSisley AndrewSisley Oct 5, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

who would that comment target? This code is unlikely to be read by anyone besides myself.

Will add though if I end up modifying this PR before merge though

  • add comment if here anyway

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it would target future you or someone else eventually needing to work on that code.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ticket mentioned is likely to be completed within the next month, probably within a shorter time-span than the span between (original) authoring and now.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

documented

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you :)

@AndrewSisley AndrewSisley force-pushed the sisley/feat/I844-allcommits-dockey-optional branch from 1dcd77e to 3798783 Compare October 5, 2022 16:25
Copy link
Member

@jsimnz jsimnz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for bearing through the backing and forth. LGTM

@jsimnz
Copy link
Member

jsimnz commented Oct 6, 2022

Note: In the future, it would be good to be able to use actual field names instead of IDs. Obviously this was a symptom of the functionality before this PR, that is just re-used here. But that can be a seperate issue.

@AndrewSisley
Copy link
Contributor Author

Note: In the future, it would be good to be able to use actual field names instead of IDs. Obviously this was a symptom of the functionality before this PR, that is just re-used here. But that can be a seperate issue.

Yeah there are existing tests that document this behaviour, would for sure be good to sort that out

@AndrewSisley AndrewSisley force-pushed the sisley/feat/I844-allcommits-dockey-optional branch from 3798783 to 25b7271 Compare October 6, 2022 17:49
@AndrewSisley AndrewSisley merged commit fda90b5 into develop Oct 6, 2022
@AndrewSisley AndrewSisley deleted the sisley/feat/I844-allcommits-dockey-optional branch October 6, 2022 18:27
shahzadlone pushed a commit to shahzadlone/defradb that referenced this pull request Feb 23, 2024
* Make dockey optional for all commits

* Remove dockey commit returning only composite commit magic
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
action/no-benchmark Skips the action that runs the benchmark. area/query Related to the query component feature New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Commits: Make dockey arg of all_commits optional
5 participants