[jira] [Updated] (IGNITE-15253) Tuple API improvement.
[ 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.
[ 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.
[ 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.
[ 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.
[ 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.
[ 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.
[ 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)