Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • May 14 18:53
    jeremydmiller commented #1784
  • May 14 18:53
    jeremydmiller commented #1784
  • May 14 18:52

    jeremydmiller on slicing

    Refactored the APIs on ViewPRoj… (compare)

  • May 14 18:52

    jeremydmiller on slicing

    Refactored the APIs on ViewPRoj… (compare)

  • May 14 07:46
    DariuszFirek commented #1785
  • May 14 07:46
    DariuszFirek commented #1785
  • May 14 06:58

    oskardudycz on master

    Removed obsolete code from mult… (compare)

  • May 14 06:58

    oskardudycz on master

    Removed obsolete code from mult… (compare)

  • May 14 06:25

    oskardudycz on master

    Removed obsolete code from mult… (compare)

  • May 14 06:25

    oskardudycz on master

    Removed obsolete code from mult… (compare)

  • May 14 06:20

    oskardudycz on 3.13

    Added sample showing muliple st… (compare)

  • May 14 06:20

    oskardudycz on 3.13

    Added sample showing muliple st… (compare)

  • May 14 06:20

    oskardudycz on multi_stream_projections

    (compare)

  • May 14 06:20

    oskardudycz on multi_stream_projections

    (compare)

  • May 14 06:20
    oskardudycz closed #1785
  • May 14 06:20
    oskardudycz closed #1785
  • May 14 06:19

    oskardudycz on 4.0.0-alpha.11

    (compare)

  • May 14 06:19

    oskardudycz on 4.0.0-alpha.11

    (compare)

  • May 14 06:18

    oskardudycz on master

    Bump up Marten to alpha.11 (compare)

  • May 14 06:18

    oskardudycz on master

    Bump up Marten to alpha.11 (compare)

Jeremy D. Miller
@jeremydmiller
:thumbsup:
johncj-improving
@johncj-improving

I have a few questions about Marten 4.0. Let's start with these:
Are there any scenarios in which an event that is handled by a Create method would NOT be the first event in a stream?

Why does Append (and friends) return a StreamAction? Does anyone do anything with it?

JT
@Hawxy
I noticed netstandard2.0 support was dropped in Baseline this week, making it incompatible with Marten, was that intentional?
Oskar Dudycz
@oskardudycz
I’m not sure. But I’m fine with keeping just 2.1
Btw. I think that some of you may find my latest post helpful: https://event-driven.io/en/how_to_create_projections_of_events_for_nested_object_structures/
Jeremy D. Miller
@jeremydmiller
@Hawxy Yes. I’ve bumped Marten to netstandard2.1 in my local branch as well. Just to eliminate the angry EOL messages. I moved some very basic utility code from Marten to Baseline this week, and that’s what you’re seeing.
JT
@Hawxy
Ah, interesting. netstandard2.0 isn't EOL itself, is the goal to permanently put .NET Core 2.x and NETFX in the bin for v4?
JT
@Hawxy
Well, NETFX is already unsupported, I suppose it's more of a final nail in the coffin for .NET Core 2.1.
Jeremy D. Miller
@jeremydmiller
I might have misunderstood then. I’ll put Baseline back to netstandard2.0 + .Net 5.0.
JT
@Hawxy
:thumbsup: We had a discussion about it a while ago and you wanted to keep Core 2.1 support until it's EoL later in the year, so I thought dropping it all of a sudden was a tad unusual :)
Jeremy D. Miller
@jeremydmiller
Here’s what it is in my local branch: <TargetFrameworks>netstandard2.1;net5.0</TargetFrameworks>
we can back it up to netstandard2.0;net5.0
but you do get compiler warnings when you do that
JT
@Hawxy
You're getting EoL warnings for the netstandard target?
Jeremy D. Miller
@jeremydmiller
Yes
JT
@Hawxy
That doesn't make much sense.....netstandard is just an API baseline for multiple targets and has no prescribed end of life.
Jeremy D. Miller
@jeremydmiller
I’ve said that I may have been mistaken. Can we just agree top roll Baseline back to netstandard2.0 and .net 5.0, then the same on Marten and carry on?
JT
@Hawxy
For sure :)
JT
@Hawxy
Do you mind if I do nullability annotations for baseline? Some of the extensions perform empty/null checks of which the analyzer is completely oblivious to.
Jeremy D. Miller
@jeremydmiller
If you’re up for that, go for it
JT
@Hawxy
:thumbsup:
JT
@Hawxy
JasperFx/baseline#23 has a pending question but is otherwise ready for review. #1794 is ready to go, fixes all compiler warnings minus the obsolete.
Derek Greer
@derekgreer
I'm playing with event sourcing Marten examples. I'm primarily using https://martendb.io/documentation/events/ as an example. I'm finding that my events with Id properties aren't being populated. Is this expected?
Jeremy D. Miller
@jeremydmiller
What are you expecting to happen? There’s no functionality in Marten to do anything with specific event class properties. You would have access to the event metadata including its id in the various types of projections
Derek Greer
@derekgreer
Well, based on the example on that page I'd assume it would auto-assign the Id field since QuestStarted has an Id property which isn't used directly anywhere in the examples of adding events, retrieving, etc.
Jeremy D. Miller
@jeremydmiller
Okay, sorry for the confusion, but no, there’s no magic functionality with Id properties on event types
Derek Greer
@derekgreer
Related question: when retrieving an aggregate root via AggregateStream<>, what's the typical pattern for assigning an Id field? Get the stream Id from above mentioned metadata and set in one of the Apply() methods?
Jeremy D. Miller
@jeremydmiller
In the case of an aggregate, Marten auto-assigns the Id on the aggregated document.
And that functionality got a near rewrite in v4. The Apply() pattern is a superset of v3 though.
Thumann
@Thumann
Hi, I'm trying to change a stored enum value from something that no longer exists in the enum using the patching API, but it seems to be impossible. Like this:
var badFooSelect = "where (data ->> 'Foo') = 'BadFoo'";
session.Patch<Bar>(new WhereFragment(badFooSelect)).Set(x => x.Foo, FooTypes.GoodFo);
But I get the serialization error: Error converting value "BadFoo" to type bla bla bla..
Is it not possible to do this?
Jeremy D. Miller
@jeremydmiller
Any chance you could show the stacktrace? I can’t say that I’ve ever tried patching with enum values, but don’t know offhand why that wouldn’t work
Thumann
@Thumann
Based on my error, it's materializing the items and then failing the the persisted value is no longer present in the enum.
Jeremy D. Miller
@jeremydmiller
When is it doing that?
Thumann
@Thumann
Sorry, I'm misleading you
I was doing a count first, session.Query<Bar>(badFooSelect).Count; <- That's the culprit.
Jeremy D. Miller
@jeremydmiller
Okay, that makes perfect sense
Thumann
@Thumann
yeah
I was missing plv8 extensions locally, so I was testing if the count worked since the patch command failed, then forgot about it :D my bad
Jeremy D. Miller
@jeremydmiller
Okay, hope the patch works from here on out then:)
Thumann
@Thumann
I'll check back if it doesn't :) Thanks!
Jeremy D. Miller
@jeremydmiller
Hope it works just fine
Thumann
@Thumann
@jeremydmiller Hi Jeremy, My patch (I wrote earlier about enum patching) worked fine :)
Jeremy D. Miller
@jeremydmiller
Ship it!
Thumann
@Thumann
You know it! :D
So, since group by isn't supported.. and map/reduce indexes aren't a thing like they are in raven. Are there any other way to storing a 'aggreate overview' of a document type than to basically 'build' and maintain a new document type?
Jeremy D. Miller
@jeremydmiller
Not at the moment, no. GroupBy support is deep on the back log, but I didn’t even touch it as part of 4.0
Thumann
@Thumann
I have some sensor alarms coming in, the overview i present to the users is grouped by the sensor id, and a .. grouped list is shown to the user. so instead of seeing 1000 alarms, they'll see (for examples sake) 100 entries, with a grouped count on each.
The equivalent group by query would be something like. session.Query<Alarm>().ToList().GroupBy(c=> c.SensorId) ... etc. where each entry would then show the count of alarms received for each sensor.. so a 'sensor centric' view, instead of a spammy 'alarm view'
ok, thanks
Jeremy D. Miller
@jeremydmiller
You can always drop to pure SQL
And that’s our lame copout in these situations, except that it does work