[jira] [Updated] (IGNITE-15253) Tuple API improvement.

2021-08-18 Thread Yury Gerzhedovich (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yury Gerzhedovich updated IGNITE-15253:
---
Component/s: sql

> Tuple API improvement.
> --
>
> Key: IGNITE-15253
> URL: https://issues.apache.org/jira/browse/IGNITE-15253
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Andrey Mashenkov
>Assignee: Andrey Mashenkov
>Priority: Critical
>  Labels: UX, iep-54, ignite-3
> Fix For: 3.0.0-alpha3
>
>
> h3. Motinvation.
> For now, Tuple is an interface and the standard way for creation is to use 
> TupleBuilder that can be got using Table API. 
> 1. As we thought, normally, Tuple is decoupled from any Ignite internals. 
> Our implementation, which is returned from Ignite (e.g. Table API methods), 
> may rely on the internals in some cases, e.g. we need a way to wrap table Row 
> into Tuple for performance sake.
> This is questionable, let's discuss if Tuple should/can be a public class or 
> be mutable or left as is, and then fix it.
> 2. TupleBuilder factory methods in TableView interfaces causes a question: 
> Is the builder binded to a particular Table/View? or not?
> As it is possible for a user to pass an arbitrary implementation of Tuple 
> (unless Tuple is not a final class or has public constructor), hence we must 
> move data validation from Builder to the Table.
> This causes a question: Do we need separate interface Builder or 
> MutableTuple? 
> h3.  Description.
> Let'd discuss questions above and fix it.
> * move Tuple validation from TupleBuilder to Table API.
> * make Tuple.columnIndex() return a primitive (-1 instead of 'null')
> * decouple Tuple from Table API and provide convenient way for Tuple creation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15253) Tuple API improvement.

2021-08-04 Thread Andrey Mashenkov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey Mashenkov updated IGNITE-15253:
--
Labels: iep-54 ignite-3 ux  (was: iep-54 ignite-3)

> Tuple API improvement.
> --
>
> Key: IGNITE-15253
> URL: https://issues.apache.org/jira/browse/IGNITE-15253
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey Mashenkov
>Priority: Critical
>  Labels: iep-54, ignite-3, ux
> Fix For: 3.0.0-alpha3
>
>
> h3. Motinvation.
> For now, Tuple is an interface and the standard way for creation is to use 
> TupleBuilder that can be got using Table API. 
> 1. As we thought, normally, Tuple is decoupled from any Ignite internals. 
> Our implementation, which is returned from Ignite (e.g. Table API methods), 
> may rely on the internals in some cases, e.g. we need a way to wrap table Row 
> into Tuple for performance sake.
> This is questionable, let's discuss if Tuple should/can be a public class or 
> be mutable or left as is, and then fix it.
> 2. TupleBuilder factory methods in TableView interfaces causes a question: 
> Is the builder binded to a particular Table/View? or not?
> As it is possible for a user to pass an arbitrary implementation of Tuple 
> (unless Tuple is not a final class or has public constructor), hence we must 
> move data validation from Builder to the Table.
> This causes a question: Do we need separate interface Builder or 
> MutableTuple? 
> h3.  Description.
> Let'd discuss questions above and fix it.
> * move Tuple validation from TupleBuilder to Table API.
> * make Tuple.columnIndex() return a primitive (-1 instead of 'null')
> * decouple Tuple from Table API and provide convenient way for Tuple creation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15253) Tuple API improvement.

2021-08-04 Thread Andrey Mashenkov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey Mashenkov updated IGNITE-15253:
--
Labels: UX iep-54 ignite-3  (was: iep-54 ignite-3 ux)

> Tuple API improvement.
> --
>
> Key: IGNITE-15253
> URL: https://issues.apache.org/jira/browse/IGNITE-15253
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey Mashenkov
>Priority: Critical
>  Labels: UX, iep-54, ignite-3
> Fix For: 3.0.0-alpha3
>
>
> h3. Motinvation.
> For now, Tuple is an interface and the standard way for creation is to use 
> TupleBuilder that can be got using Table API. 
> 1. As we thought, normally, Tuple is decoupled from any Ignite internals. 
> Our implementation, which is returned from Ignite (e.g. Table API methods), 
> may rely on the internals in some cases, e.g. we need a way to wrap table Row 
> into Tuple for performance sake.
> This is questionable, let's discuss if Tuple should/can be a public class or 
> be mutable or left as is, and then fix it.
> 2. TupleBuilder factory methods in TableView interfaces causes a question: 
> Is the builder binded to a particular Table/View? or not?
> As it is possible for a user to pass an arbitrary implementation of Tuple 
> (unless Tuple is not a final class or has public constructor), hence we must 
> move data validation from Builder to the Table.
> This causes a question: Do we need separate interface Builder or 
> MutableTuple? 
> h3.  Description.
> Let'd discuss questions above and fix it.
> * move Tuple validation from TupleBuilder to Table API.
> * make Tuple.columnIndex() return a primitive (-1 instead of 'null')
> * decouple Tuple from Table API and provide convenient way for Tuple creation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15253) Tuple API improvement.

2021-08-04 Thread Andrey Mashenkov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey Mashenkov updated IGNITE-15253:
--
Priority: Critical  (was: Major)

> Tuple API improvement.
> --
>
> Key: IGNITE-15253
> URL: https://issues.apache.org/jira/browse/IGNITE-15253
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey Mashenkov
>Priority: Critical
>  Labels: iep-54, ignite-3
> Fix For: 3.0.0-alpha3
>
>
> h3. Motinvation.
> For now, Tuple is an interface and the standard way for creation is to use 
> TupleBuilder that can be got using Table API. 
> 1. As we thought, normally, Tuple is decoupled from any Ignite internals. 
> Our implementation, which is returned from Ignite (e.g. Table API methods), 
> may rely on the internals in some cases, e.g. we need a way to wrap table Row 
> into Tuple for performance sake.
> This is questionable, let's discuss if Tuple should/can be a public class or 
> be mutable or left as is, and then fix it.
> 2. TupleBuilder factory methods in TableView interfaces causes a question: 
> Is the builder binded to a particular Table/View? or not?
> As it is possible for a user to pass an arbitrary implementation of Tuple 
> (unless Tuple is not a final class or has public constructor), hence we must 
> move data validation from Builder to the Table.
> This causes a question: Do we need separate interface Builder or 
> MutableTuple? 
> h3.  Description.
> Let'd discuss questions above and fix it.
> * move Tuple validation from TupleBuilder to Table API.
> * make Tuple.columnIndex() return a primitive (-1 instead of 'null')
> * decouple Tuple from Table API and provide convenient way for Tuple creation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15253) Tuple API improvement.

2021-08-04 Thread Andrey Mashenkov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey Mashenkov updated IGNITE-15253:
--
Fix Version/s: 3.0.0-alpha3

> Tuple API improvement.
> --
>
> Key: IGNITE-15253
> URL: https://issues.apache.org/jira/browse/IGNITE-15253
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey Mashenkov
>Priority: Major
>  Labels: iep-54, ignite-3
> Fix For: 3.0.0-alpha3
>
>
> h3. Motinvation.
> For now, Tuple is an interface and the standard way for creation is to use 
> TupleBuilder that can be got using Table API. 
> 1. As we thought, normally, Tuple is decoupled from any Ignite internals. 
> Our implementation, which is returned from Ignite (e.g. Table API methods), 
> may rely on the internals in some cases, e.g. we need a way to wrap table Row 
> into Tuple for performance sake.
> This is questionable, let's discuss if Tuple should/can be a public class or 
> be mutable or left as is, and then fix it.
> 2. TupleBuilder factory methods in TableView interfaces causes a question: 
> Is the builder binded to a particular Table/View? or not?
> As it is possible for a user to pass an arbitrary implementation of Tuple 
> (unless Tuple is not a final class or has public constructor), hence we must 
> move data validation from Builder to the Table.
> This causes a question: Do we need separate interface Builder or 
> MutableTuple? 
> h3.  Description.
> Let'd discuss questions above and fix it.
> * move Tuple validation from TupleBuilder to Table API.
> * make Tuple.columnIndex() return a primitive (-1 instead of 'null')
> * decouple Tuple from Table API and provide convenient way for Tuple creation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15253) Tuple API improvement.

2021-08-04 Thread Andrey Mashenkov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey Mashenkov updated IGNITE-15253:
--
Labels: ignite-3  (was: )

> Tuple API improvement.
> --
>
> Key: IGNITE-15253
> URL: https://issues.apache.org/jira/browse/IGNITE-15253
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey Mashenkov
>Priority: Major
>  Labels: ignite-3
>
> h3. Motinvation.
> For now, Tuple is an interface and the standard way for creation is to use 
> TupleBuilder that can be got using Table API. 
> 1. As we thought, normally, Tuple is decoupled from any Ignite internals. 
> Our implementation, which is returned from Ignite (e.g. Table API methods), 
> may rely on the internals in some cases, e.g. we need a way to wrap table Row 
> into Tuple for performance sake.
> This is questionable, let's discuss if Tuple should/can be a public class or 
> be mutable or left as is, and then fix it.
> 2. TupleBuilder factory methods in TableView interfaces causes a question: 
> Is the builder binded to a particular Table/View? or not?
> As it is possible for a user to pass an arbitrary implementation of Tuple 
> (unless Tuple is not a final class or has public constructor), hence we must 
> move data validation from Builder to the Table.
> This causes a question: Do we need separate interface Builder or 
> MutableTuple? 
> h3.  Description.
> Let'd discuss questions above and fix it.
> * move Tuple validation from TupleBuilder to Table API.
> * make Tuple.columnIndex() return a primitive (-1 instead of 'null')
> * decouple Tuple from Table API and provide convenient way for Tuple creation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15253) Tuple API improvement.

2021-08-04 Thread Andrey Mashenkov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrey Mashenkov updated IGNITE-15253:
--
Labels: iep-54 ignite-3  (was: ignite-3)

> Tuple API improvement.
> --
>
> Key: IGNITE-15253
> URL: https://issues.apache.org/jira/browse/IGNITE-15253
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey Mashenkov
>Priority: Major
>  Labels: iep-54, ignite-3
>
> h3. Motinvation.
> For now, Tuple is an interface and the standard way for creation is to use 
> TupleBuilder that can be got using Table API. 
> 1. As we thought, normally, Tuple is decoupled from any Ignite internals. 
> Our implementation, which is returned from Ignite (e.g. Table API methods), 
> may rely on the internals in some cases, e.g. we need a way to wrap table Row 
> into Tuple for performance sake.
> This is questionable, let's discuss if Tuple should/can be a public class or 
> be mutable or left as is, and then fix it.
> 2. TupleBuilder factory methods in TableView interfaces causes a question: 
> Is the builder binded to a particular Table/View? or not?
> As it is possible for a user to pass an arbitrary implementation of Tuple 
> (unless Tuple is not a final class or has public constructor), hence we must 
> move data validation from Builder to the Table.
> This causes a question: Do we need separate interface Builder or 
> MutableTuple? 
> h3.  Description.
> Let'd discuss questions above and fix it.
> * move Tuple validation from TupleBuilder to Table API.
> * make Tuple.columnIndex() return a primitive (-1 instead of 'null')
> * decouple Tuple from Table API and provide convenient way for Tuple creation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)