Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jul 24 22:25
    dariogriffo commented #1843
  • Jul 24 22:25
    dariogriffo commented #1843
  • Jul 24 22:22
    darraghjones commented #1843
  • Jul 24 22:22
    darraghjones commented #1843
  • Jul 24 22:21
    darraghjones commented #1843
  • Jul 24 22:21
    darraghjones commented #1843
  • Jul 24 22:20
    darraghjones commented #1843
  • Jul 24 22:20
    darraghjones commented #1843
  • Jul 24 22:20
    darraghjones commented #1843
  • Jul 24 22:20
    darraghjones commented #1843
  • Jul 24 20:28
    jeremydmiller closed #1862
  • Jul 24 20:28
    jeremydmiller closed #1862
  • Jul 24 20:28

    jeremydmiller on master

    Fix for async daemon not pausin… (compare)

  • Jul 24 20:28

    jeremydmiller on master

    Fix for async daemon not pausin… (compare)

  • Jul 24 20:00
    jeremydmiller closed #1859
  • Jul 24 20:00
    jeremydmiller closed #1859
  • Jul 24 20:00
    jeremydmiller commented #1859
  • Jul 24 20:00
    jeremydmiller commented #1859
  • Jul 23 14:25

    oskardudycz on master

    Fixed a dead link to storage de… (compare)

  • Jul 23 14:25

    oskardudycz on master

    Fixed a dead link to storage de… (compare)

Oskar Dudycz
@oskardudycz
Yes, the DateTime is special, as it's not precisely primitive
As we're using Npgsql as the provider we're following the recommendation from them: https://www.npgsql.org/doc/types/datetime.html
I don't think that we're doing much more customisation on what's described there
Btw. we also support NodaTime (at least for Newtonsoft JSON.NET)
This can help on time handling
Jeremy D. Miller
@jeremydmiller
@agf2413_gitlab Marten isn’t really meant to be used that way. If you’re just storing primitives, why not just use Postgresql as an RDBMS?
Alex Frie
@agf2413_gitlab
I am storing custom objects. I am just also storing some primitives.
Taking a simple example:
// This works
class1 {
 public int IntProperty {get; set;}
}
//This does not work
class2 {
  public object IntProperty {get; set;}
}
//This works
class3 {
  public object LongProperty {get; set;}
}
Jeremy D. Miller
@jeremydmiller
Well, yeah:) That’s just not an idiomatic usage of Marten or the JSON serializers for that matter.
Alex Frie
@agf2413_gitlab

I get this isn't a normal way of using Marten.
A workaround would be to create a wrapper class like this:

class CustomInt {
  public int Value {get; set;}
}

class class1 {
  public CustomInt IntProperty {get; set;
}

Now marten will store type information for CustomInt, and have a property of int to deserialize to. It just seems like a fun workaround in order to force marten to write a type definition for simple types.
So while I get this is certainly not the intended use case, I was wondering if there was some sort of support to force type definitions on all types, including primitive types.

Oskar Dudycz
@oskardudycz
I think that there is no issue with primitives
the issue is that you're trying to use them as objects.
You can safely store primitives types, as you showed in your samples.
With object serialiser don't know precisely what would be the type of that.
You can write custom extension to serialisers if you really need to support that case
Json.NET is really pluggable
Alex Frie
@agf2413_gitlab
Yeah you are right.
The use case is that I have a List<object> that can contain both primitives and objects.
I will try and look at a custom serialiser, or changing the structure to not have primitive types in the list. Thanks :)
Jeremy D. Miller
@jeremydmiller
Or just configure Newtonsoft to always embed type information. That might knock out some of the Linq querying though
JT
@Hawxy
Hello, mind if I get a review of #1769? If you're all fine with that direction, I'd like to get that first pass merged in and create an issue + continue with additional annotations whilst I'm on easter break.
Oskar Dudycz
@oskardudycz
Hi, I’ll try to review this today when I’ll be in front of computer 👍
1 reply
Jeremy D. Miller
@jeremydmiller
Hey world, here’s my latest “state of the V4 release”: https://github.com/JasperFx/marten/discussions/1734#discussioncomment-575826
^^^ @oskardudycz @mysticmind @Hawxy @JohnCampionJr
Tl;dr: Maybe we could shoot for the end of April? With a few more stories that aren’t breaking changes falling off to a 4.1?
Jeremy D. Miller
@jeremydmiller
@oskardudycz I think I’m going to need your help with #1611, #1612, & #1613 from a conceptual “what should this do” angle. I think #1612 is the only one that has to go into v4.
Nikodem Rafalski
@nikodemrafalski
Hi guys, have anyone expierience such issue before? Marten at start tries to create indexes that already exist
I use 3.13.4
i was doing some clueanup in my db roles
there is a new role that is an owner of everything object in schema, but still Marten is somehow assuming that indexes do not exist and need to be created
i use autoCreate.CreateOrUpdate
Jeremy D. Miller
@jeremydmiller
It’s quite possible that whatever the user name Marten is connecting to in Postgresql doesn’t have rights to read the metadata describing the tables. When that happens, the queries don’t fail, but return no data, so Marten always thinks everything is missing.
Jeremy D. Miller
@jeremydmiller
“there is a new role that is an owner of everything object in schema” — and that’s very likely at the core of your problems here.
Nikodem Rafalski
@nikodemrafalski
any hint where could i place a breakpoint, where does Marten introspect the db schema and issues queries to generate patch?
Look, Marten’s change management is somewhat brittle in the face of customized Postgresql setup. If you’re playing around with postgres roles, users, permissions, whatnot, you might just have to do more manual database migrations to compensate.
Nikodem Rafalski
@nikodemrafalski
sure, I know I have to - I just messed with my roles too much (seemed like a causal password rotation but apparently it was not ;) Thanks for pointing me to the SQL :)
Jeremy D. Miller
@jeremydmiller
If this is really the issue, it’s come up once or twice before. The first time led to me losing my temper a little bit in a meeting with my boss at the time and the DBA manager who was making my life miserable.
Nikodem Rafalski
@nikodemrafalski
ok, it was it
but it was not missing permisssion
in the query you linked there's a third query in the batch - the longest one looking for indexes
and its last join is with pg_users - here my problem occuers
my table is owned by a user, who can't login (a role)
it would be enough to change the join to pg_roles
i'll submit a pr later, and as a quick fix just alter my role with login;
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?