Iesi adios

119 views
Skip to first unread message

Fabio Maulo

unread,
Nov 15, 2017, 8:11:49 PM11/15/17
to nhibernate-development
Hi tobarish,

Can I remove Iesi.Collection dependency ?
with a PR of course.

@hazzik have you time to help me with some rule about coding style, rebase, run-all-tests and/or other rules ? Thanks.


Frédéric Delaporte

unread,
Nov 16, 2017, 5:28:34 AM11/16/17
to nhibernate-development
There is still a feature relying on it, which has caused the last attempt to remove it to be rejected. See https://github.com/nhibernate/nhibernate-core/pull/604, it has an extended discussion about this subject. NH-3580 - Remove dependency to Iesi.Collections has then been closed as "won't fix".

Ricardo Peres

unread,
Nov 16, 2017, 7:56:50 PM11/16/17
to nhibernate-development
Hola, Fabio!

Go for it! Let's kill Iesi.Collection!

RP

Alexander Zaytsev

unread,
Nov 16, 2017, 8:07:22 PM11/16/17
to nhibernate-development
Hi Fabio,

Nothing (at least not much) has changed re: the coding style and how tests run. We still use tabs for the indentations (this should be well handled by .editorconfig, which is supported by latest R# and VS2017). To run tests you basically navigate through the ShowBuildMenu.bat. The only thing changed - that you now need to run AsyncGenerator to regenerate all the async files (letter "H" in the ShowBuildMenu.bat).

As Frédéric already mentioned, we tried to remove Iesi.Collection but it got rejected.

Best Regards,
Alexander

--

---
You received this message because you are subscribed to the Google Groups "nhibernate-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nhibernate-development+unsubscri...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Michael Powell

unread,
Nov 16, 2017, 8:16:03 PM11/16/17
to nhibernate-...@googlegroups.com
To clarify, I do so via the FNH abstractions. Again, pretty sure
(95%?) it's the same collection? Rarely, if ever, directly from NH.
>> email to nhibernate-develo...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>
>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nhibernate-development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to nhibernate-develo...@googlegroups.com.

Michael Powell

unread,
Nov 16, 2017, 8:16:03 PM11/16/17
to nhibernate-...@googlegroups.com
FWIW, *that I know of*, I sometimes use ordered sets, *I THINK*, in
places. If it's the same collection? I don't know whether it is. It's
been a little while for me since I am in another code base ATM.

Fabio Maulo

unread,
Nov 18, 2017, 4:37:48 PM11/18/17
to nhibernate-...@googlegroups.com
NH supports pretty all types of collections through build-in + IUserCollectionType.
All our very old friends Iesi.Collections can be supported by a specific NuGet (call it NHibernate.IesiCollectionsSupport).

Should we have a dependency to Iesi just for a codeline ?

public override object Instantiate(int anticipatedSize)
{
return new LinkedHashSet<T>();
}

Perhaps we can lose a little used "feature", no ?



> For more options, visit https://groups.google.com/d/optout.

--

---
You received this message because you are subscribed to the Google Groups "nhibernate-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nhibernate-development+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Fabio Maulo
T @fabiomaulo
S fabiomaulo

Michael Powell

unread,
Nov 18, 2017, 5:27:37 PM11/18/17
to nhibernate-...@googlegroups.com
On Sat, Nov 18, 2017 at 4:37 PM, Fabio Maulo <fabio...@gmail.com> wrote:
> NH supports pretty all types of collections through build-in +
> IUserCollectionType.
> All our very old friends Iesi.Collections can be supported by a specific
> NuGet (call it NHibernate.IesiCollectionsSupport).
>
> Should we have a dependency to Iesi just for a codeline ?

Perhaps?

> public override object Instantiate(int anticipatedSize)
> {
> return new LinkedHashSet<T>();
> }
>
> Perhaps we can lose a little used "feature", no ?

No. At least not without a replacement.

> On Thu, Nov 16, 2017 at 10:00 PM, Michael Powell <mwpow...@gmail.com>
> wrote:
>>
>> FWIW, *that I know of*, I sometimes use ordered sets, *I THINK*, in
>> places. If it's the same collection? I don't know whether it is. It's
>> been a little while for me since I am in another code base ATM.
>>
>> On Thu, Nov 16, 2017 at 7:56 PM, Ricardo Peres <rjp...@gmail.com> wrote:
>> > Hola, Fabio!
>> >
>> > Go for it! Let's kill Iesi.Collection!
>> >
>> > RP
>> >
>> >
>> > On Thursday, November 16, 2017 at 1:11:49 AM UTC, Fabio Maulo wrote:
>> >>
>> >> Hi tobarish,
>> >>
>> >> Can I remove Iesi.Collection dependency ?
>> >> with a PR of course.
>> >>
>> >> @hazzik have you time to help me with some rule about coding style,
>> >> rebase, run-all-tests and/or other rules ? Thanks.
>> >>
>> >>
>> > --
>> >
>> > ---
>> > You received this message because you are subscribed to the Google
>> > Groups
>> > "nhibernate-development" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> > an
>> > email to nhibernate-develo...@googlegroups.com.
>> > For more options, visit https://groups.google.com/d/optout.
>>
>> --
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nhibernate-development" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to nhibernate-develo...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
> --
> Fabio Maulo
> T @fabiomaulo
> S fabiomaulo
>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nhibernate-development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to nhibernate-develo...@googlegroups.com.

Frédéric Delaporte

unread,
Nov 18, 2017, 5:41:16 PM11/18/17
to nhibernate-development
The rejected PR for this subject I have mentioned in a previous message was supplying some sort of replacement: the feature would have still worked if the user has an explicit reference in his project to Iesi, thanks to some reflection inside NHibernate for the feature.

But introducing such a hidden dependency for a feature, which would bite only at runtime, was considered a bad move.

> little used "feature"

Who really knows? I know some projects which use it. Apparently Michael Powell does too.

P.S.: be careful when replying by email, please purge email addresses. I have got a surge in spam since my email address was published in this group through such a reply in another discussion.

Le samedi 18 novembre 2017 23:27:37 UTC+1, Michael Powell a écrit :
On Sat, Nov 18, 2017 at 4:37 PM, Fabio Maulo  wrote:
> NH supports pretty all types of collections through build-in +
> IUserCollectionType.
> All our very old friends Iesi.Collections can be supported by a specific
> NuGet (call it NHibernate.IesiCollectionsSupport).
>
> Should we have a dependency to Iesi just for a codeline ?

Perhaps?

> public override object Instantiate(int anticipatedSize)
> {
> return new LinkedHashSet<T>();
> }
>
> Perhaps we can lose a little used "feature", no ?

No. At least not without a replacement.

> On Thu, Nov 16, 2017 at 10:00 PM, Michael Powell 
> wrote:
>>
>> FWIW, *that I know of*, I sometimes use ordered sets, *I THINK*, in
>> places. If it's the same collection? I don't know whether it is. It's
>> been a little while for me since I am in another code base ATM.
>>
>> On Thu, Nov 16, 2017 at 7:56 PM, Ricardo Peres wrote:
>> > Hola, Fabio!
>> >
>> > Go for it! Let's kill Iesi.Collection!
>> >
>> > RP
>> >
>> >
>> > On Thursday, November 16, 2017 at 1:11:49 AM UTC, Fabio Maulo wrote:
>> >>
>> >> Hi tobarish,
>> >>
>> >> Can I remove Iesi.Collection dependency ?
>> >> with a PR of course.
>> >>
>> >> @hazzik have you time to help me with some rule about coding style,
>> >> rebase, run-all-tests and/or other rules ? Thanks.
>> >>
>> >>
>> > --
>> >
>> > ---
>> > You received this message because you are subscribed to the Google
>> > Groups
>> > "nhibernate-development" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> > an
>> > For more options, visit https://groups.google.com/d/optout.
>>
>> --
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nhibernate-development" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
> --
> Fabio Maulo
> T @fabiomaulo
> S fabiomaulo
>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nhibernate-development" group.
> To unsubscribe from this group and stop receiving emails from it, send an

Fabio Maulo

unread,
Nov 18, 2017, 6:24:29 PM11/18/17
to nhibernate-...@googlegroups.com
Sir, yes sir.

Can we agree about this:
. The PR should allow the usage of order-by in <set> mapping 
. As all other persistent collection NH may have its own implementation to ensure the behavior just when the collection comes from NH
. The user is responsible to use an ISet implementation that maintains the order when he works on its side
. The PR should pass at least all existing tests

Is it ok ? 

On Sat, Nov 18, 2017 at 7:14 PM, Michael Powell <x...@gmail.com> wrote:
On Sat, Nov 18, 2017 at 4:37 PM, Fabio Maulo <fabio...@gmail.com> wrote:
> NH supports pretty all types of collections through build-in +
> IUserCollectionType.
> All our very old friends Iesi.Collections can be supported by a specific
> NuGet (call it NHibernate.IesiCollectionsSupport).
>
> Should we have a dependency to Iesi just for a codeline ?

Perhaps?

> public override object Instantiate(int anticipatedSize)
> {
> return new LinkedHashSet<T>();
> }
>
> Perhaps we can lose a little used "feature", no ?

No. At least not without a replacement.

> On Thu, Nov 16, 2017 at 10:00 PM, Michael Powell <x...@gmail.com>

> wrote:
>>
>> FWIW, *that I know of*, I sometimes use ordered sets, *I THINK*, in
>> places. If it's the same collection? I don't know whether it is. It's
>> been a little while for me since I am in another code base ATM.
>>
>> On Thu, Nov 16, 2017 at 7:56 PM, Ricardo Peres <rjp...@gmail.com> wrote:
>> > Hola, Fabio!
>> >
>> > Go for it! Let's kill Iesi.Collection!
>> >
>> > RP
>> >
>> >
>> > On Thursday, November 16, 2017 at 1:11:49 AM UTC, Fabio Maulo wrote:
>> >>
>> >> Hi tobarish,
>> >>
>> >> Can I remove Iesi.Collection dependency ?
>> >> with a PR of course.
>> >>
>> >> @hazzik have you time to help me with some rule about coding style,
>> >> rebase, run-all-tests and/or other rules ? Thanks.
>> >>
>> >>
>> > --
>> >
>> > ---
>> > You received this message because you are subscribed to the Google
>> > Groups
>> > "nhibernate-development" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> > an

>> > For more options, visit https://groups.google.com/d/optout.
>>
>> --
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nhibernate-development" group.
>> To unsubscribe from this group and stop receiving emails from it, send an

>> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
> --
> Fabio Maulo
> T @fabiomaulo
> S fabiomaulo
>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nhibernate-development" group.
> To unsubscribe from this group and stop receiving emails from it, send an

> For more options, visit https://groups.google.com/d/optout.

--

---
You received this message because you are subscribed to the Google Groups "nhibernate-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nhibernate-development+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Michael Powell

unread,
Nov 18, 2017, 6:25:44 PM11/18/17
to nhibernate-...@googlegroups.com
On Sat, Nov 18, 2017 at 5:41 PM, Frédéric Delaporte
<frederic...@free.fr> wrote:
> The rejected PR for this subject I have mentioned in a previous message was
> supplying some sort of replacement: the feature would have still worked if
> the user has an explicit reference in his project to Iesi, thanks to some
> reflection inside NHibernate for the feature.
>
> But introducing such a hidden dependency for a feature, which would bite
> only at runtime, was considered a bad move.
>
>> little used "feature"
>
> Who really knows? I know some projects which use it. Apparently Michael
> Powell does too.

I want to clarify, again: I *think* I may. Most of the time, it is via
FNH abstractions, if at all, i.e. for ordered lists, etc.
>> >> > email to nhibernate-develo...@googlegroups.com.
>> >> > For more options, visit https://groups.google.com/d/optout.
>> >>
>> >> --
>> >>
>> >> ---
>> >> You received this message because you are subscribed to the Google
>> >> Groups
>> >> "nhibernate-development" group.
>> >> To unsubscribe from this group and stop receiving emails from it, send
>> >> an
>> >> email to nhibernate-develo...@googlegroups.com.
>> >> For more options, visit https://groups.google.com/d/optout.
>> >
>> >
>> >
>> >
>> > --
>> > Fabio Maulo
>> > T @fabiomaulo
>> > S fabiomaulo
>> >
>> > --
>> >
>> > ---
>> > You received this message because you are subscribed to the Google
>> > Groups
>> > "nhibernate-development" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> > an
>> > email to nhibernate-develo...@googlegroups.com.
>> > For more options, visit https://groups.google.com/d/optout.
>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nhibernate-development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to nhibernate-develo...@googlegroups.com.

Michael Powell

unread,
Nov 18, 2017, 7:22:52 PM11/18/17
to nhibernate-...@googlegroups.com
On Sat, Nov 18, 2017 at 6:24 PM, Fabio Maulo <fabio...@gmail.com> wrote:
> Sir, yes sir.
>
> Can we agree about this:
> . The PR should allow the usage of order-by in <set> mapping
> . As all other persistent collection NH may have its own implementation to
> ensure the behavior just when the collection comes from NH
> . The user is responsible to use an ISet implementation that maintains the
> order when he works on its side
> . The PR should pass at least all existing tests

I'd recommend that as long as you're willing to follow through on the
FNH side to ensure feature completeness for any breaking changes, go
for it. Have at it.

Up to and including any unit or integration tests that demonstrate said changes.

I don't personally have the desire or the bandwidth, however.
>> >> > email to nhibernate-develo...@googlegroups.com.
>> >> > For more options, visit https://groups.google.com/d/optout.
>> >>
>> >> --
>> >>
>> >> ---
>> >> You received this message because you are subscribed to the Google
>> >> Groups
>> >> "nhibernate-development" group.
>> >> To unsubscribe from this group and stop receiving emails from it, send
>> >> an
>> >> email to nhibernate-develo...@googlegroups.com.
>> >> For more options, visit https://groups.google.com/d/optout.
>> >
>> >
>> >
>> >
>> > --
>> > Fabio Maulo
>> > T @fabiomaulo
>> > S fabiomaulo
>> >
>> > --
>> >
>> > ---
>> > You received this message because you are subscribed to the Google
>> > Groups
>> > "nhibernate-development" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> > an
>> > email to nhibernate-develo...@googlegroups.com.
>> > For more options, visit https://groups.google.com/d/optout.
>>
>> --
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nhibernate-development" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to nhibernate-develo...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
> --
> Fabio Maulo
> T @fabiomaulo
> S fabiomaulo
>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nhibernate-development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to nhibernate-develo...@googlegroups.com.

Fabio Maulo

unread,
Nov 18, 2017, 10:11:46 PM11/18/17
to nhibernate-...@googlegroups.com
I can't test NH using FNH.


>> >> > For more options, visit https://groups.google.com/d/optout.
>> >>
>> >> --
>> >>
>> >> ---
>> >> You received this message because you are subscribed to the Google
>> >> Groups
>> >> "nhibernate-development" group.
>> >> To unsubscribe from this group and stop receiving emails from it, send
>> >> an

>> >> For more options, visit https://groups.google.com/d/optout.
>> >
>> >
>> >
>> >
>> > --
>> > Fabio Maulo
>> > T @fabiomaulo
>> > S fabiomaulo
>> >
>> > --
>> >
>> > ---
>> > You received this message because you are subscribed to the Google
>> > Groups
>> > "nhibernate-development" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> > an

>> > For more options, visit https://groups.google.com/d/optout.
>>
>> --
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nhibernate-development" group.
>> To unsubscribe from this group and stop receiving emails from it, send an

>> For more options, visit https://groups.google.com/d/optout.
>
>
>
>
> --
> Fabio Maulo
> T @fabiomaulo
> S fabiomaulo
>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nhibernate-development" group.
> To unsubscribe from this group and stop receiving emails from it, send an

> For more options, visit https://groups.google.com/d/optout.

--

---
You received this message because you are subscribed to the Google Groups "nhibernate-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nhibernate-development+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Frédéric Delaporte

unread,
Nov 19, 2017, 3:38:20 AM11/19/17
to nhibernate-development
I do not care about keeping Iesi or not, I just care on keeping the feature working in a satisfactory way.
So with those conditions, it should be alright.

NHibernate already have some own internal specialized collection/dictionary for its internal uses. Why not adding another one. But it should be internal, since this is not the purpose of NHibernate to supply specialized collections to consume.
Then if the user needs to instantiate some ordering preserving hashset on his side, it will be up to him to use some adequate implementation, be it Iesi or something else.

Fabio Maulo

unread,
Nov 19, 2017, 9:09:19 AM11/19/17
to nhibernate-...@googlegroups.com
Ok. internal as PersistentBag is (for example).

--

---
You received this message because you are subscribed to the Google Groups "nhibernate-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nhibernate-development+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Frédéric Delaporte

unread,
Nov 20, 2017, 3:21:29 AM11/20/17
to nhibernate-development
PersistentGenericBag? It is not only a collection, but tightly bound to NHibernate collection persistence logic.
I was thinking of the NHibernate.Util.LinkedHashMap example, but preferably truly internal. (Even if testing it is then less convenient.)

In my mind most of the NHibernate.Util namespace is here for supporting implementation details of NHibernate and should be turned to internal, like IdentitySet, JoinedEnumerable, NullableDictionnary, SafetyEnumerable, ... Or the other way round, moved to Iesi instead, and then used from Iesi, which is targeted at supplying custom collections and so way more appropriate than NHibernate for supplying such things.

P.S.: I have sent a bug report about the email addresses, hoping they will fix that. This is the only reasonable solution (unless we change settings for forbidding mail responses and enforce responses by the web interface, which nicely reports mails address when trying to publish). Here the change to x...@free.fr was not enough because there was still an underlying mailto:completeAddress.

Le dimanche 19 novembre 2017 15:09:19 UTC+1, Fabio Maulo a écrit :
Ok. internal as PersistentBag is (for example).

Fabio Maulo

unread,
Nov 20, 2017, 8:30:42 AM11/20/17
to nhibernate-...@googlegroups.com
relax Frederic... relax ...

To unsubscribe from this group and stop receiving emails from it, send an email to nhibernate-development+unsubscri...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Fabio Maulo
T @fabiomaulo
S fabiomaulo

--

---
You received this message because you are subscribed to the Google Groups "nhibernate-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nhibernate-development+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages