Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Ignite.NET 1.9 and earlier uses simple name mapping only, which means Object.GetType().Name is used to map type name to type id. Ignite.NET 2.0 uses full name mapping by default, which includes namespace, generics and array dimensions. This change may affect multi-platform Ignite applications where Java and .NET types are mapped to each other. See documentation for more information [9].

TODO

Ignite C++

Re-factored enums

 

  • CachePeekMode: IGNITE_PEEK_MODE_* -> CachePeekMode::* (e.g. IGNITE_PEEK_MODE_PRIMARY -> CachePeekMode::PRIMARY)
  • TransactionConcurrency: IGNITE_TX_CONCURRENCY_* -> TransactionConcurrency::* (e.g. IGNITE_TX_CONCURRENCY_OPTIMISTIC -> TransactionConcurrency::OPTIMISTIC)
  • TransactionIsolation: IGNITE_TX_ISOLATION_* -> TransactionIsolation::* (e.g. IGNITE_TX_ISOLATION_READ_COMMITTED -> TransactionIsolation::REPEATABLE_READ)
  • TransactionState: IGNITE_TX_STATE_* -> TransactionState::* (e.g. IGNITE_TX_STATE_ACTIVE -> TransactionState::ACTIVE)
  • CollectionType: IGNITE_COLLECTION_* -> CollectionType::* (e.g. IGNITE_COLLECTION_ARRAY_LIST -> CollectionType::ARRAY_LIST)

 

  • MapType: IGNITE_MAP_* -> MapType::* (e.g. IGNITE_MAP_HASH_MAP -> MapType::HASH_MAP)

IgniteError 

IgniteError now should be passed by reference and not by pointer everywhere.

BinaryWriter and BinaryRawWriter

BinaryWriter::WriteObject and BinaryRawWriter::WriteObject now take constant references instead of value. This probably won't require any changes from you.

BinaryType

BinaryType have been heavily refactored:

  • All methods should now be static now.
  • There is no more default implementation of BinaryType methods, meaning you are now going to have compilation errors instead of runtime errors if you have not implemented some essential method for your binary type. If you don't want to implement some method and you are sure that you will not be needing it then you should explicitly provide implementation of such method which asserts or throws exception upon call.
  • GetHashCode and GetIdentityResolver methods are not used any more.
  • BinaryType::Write now takes object argument by constant reference and not by value: void Write(BinaryWriter&, T) -> static void Write(BinaryWriter&, const T&)
  • BinaryType::Read now returns object by argument reference and not as return value (method does not return any value any more): T Read(BinaryReader&) -> static void Read(BinaryReader&, T&)
  • BinaryType::GetTypeName now return name by argument reference and not as return value: std::string GetTypeName() -> static void GetTypeName(std::string&)

 

  • BinaryType::GetNull now return null value by argument reference and not as return value: T GetNull() -> static void GetNull(T&)

QueryArgument

QueryArgument and QueryArgumentBase classes are not public any more. This should not affect any users as these classes were not meant for use by users from the beginning.CPP - ?

 

[1] https://apacheignite.readme.io/docs/page-memory

...

[9] https://apacheignite-net.readme.io/docs/platform-interoperability