[jira] [Closed] (IGNITE-8591) SQL: Sort links on index pages in physical page order before row access

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-8591.
---

> SQL: Sort links on index pages in physical page order before row access
> ---
>
> Key: IGNITE-8591
> URL: https://issues.apache.org/jira/browse/IGNITE-8591
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Affects Versions: 2.5
>Reporter: Vladimir Ozerov
>Assignee: Vladimir Ozerov
>Priority: Major
>  Labels: performance
>
> When index page match condition, we eagerly read all matched data rows. This 
> leads to a number of random disk reads.as Ignite use heap-organized storage. 
> We can pre-sort all matched row links in accordance to their physical 
> location, and then read them in batch. This will give us two important 
> advantages:
> 1) Data reads will be more sequential, this is especially important for HDDs
> 2) This could decrease number of page reads in case of dense data placement, 
> because there will be less evictions.
> In future we should expand this optimization to several index pages in the 
> same way it is done in major databases. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7681) SQL COPY: local performance improvements

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7681.
-
Resolution: Won't Fix

Not relevant at the moment.

> SQL COPY: local performance improvements
> 
>
> Key: IGNITE-7681
> URL: https://issues.apache.org/jira/browse/IGNITE-7681
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4, 2.5
>Reporter: Kirill Shirokov
>Priority: Major
> Attachments: ignite-7681-cache-putall-processor.diff, 
> ignite-7681-perf-test.diff
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7602) SQL COPY: add tests for file reading and JDBC connection failures

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7602.
---

> SQL COPY: add tests for file reading and JDBC connection failures
> -
>
> Key: IGNITE-7602
> URL: https://issues.apache.org/jira/browse/IGNITE-7602
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7605) SQL COPY: add more SQL parser tests for positive scenarios

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7605.
---

> SQL COPY: add more SQL parser tests for positive scenarios
> --
>
> Key: IGNITE-7605
> URL: https://issues.apache.org/jira/browse/IGNITE-7605
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7661) SQL COPY: provide more tests for national Unicode characters (including surrogates and 0x10000+ range)

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7661.
-
Resolution: Won't Fix

Not relevant at the moment.

> SQL COPY: provide more tests for national Unicode characters (including 
> surrogates and 0x1+ range)
> --
>
> Key: IGNITE-7661
> URL: https://issues.apache.org/jira/browse/IGNITE-7661
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.5
>Reporter: Kirill Shirokov
>Priority: Minor
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-6903) Implement new JMX metrics for Indexing

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-6903.
---

> Implement new JMX metrics for Indexing
> --
>
> Key: IGNITE-6903
> URL: https://issues.apache.org/jira/browse/IGNITE-6903
> Project: Ignite
>  Issue Type: New Feature
>  Components: sql
>Reporter: Anton Vinogradov
>Priority: Critical
>  Labels: iep-6, important
> Fix For: 2.8
>
>
> These additional metrics and methods should be implemented:
> - Space occupied by indexes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7724) SQL COPY: network performance improvements

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7724.
---

> SQL COPY: network performance improvements
> --
>
> Key: IGNITE-7724
> URL: https://issues.apache.org/jira/browse/IGNITE-7724
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.3, 2.4, 2.5
>Reporter: Kirill Shirokov
>Assignee: Kirill Shirokov
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-11323) Reduce boilerplate "System.setProperty" code in tests

2019-02-14 Thread Ivan Bessonov (JIRA)


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

Ivan Bessonov updated IGNITE-11323:
---
Description: 
There are many examples in tests where some property gets new value in 
"beforeTestsStarted"/"beforeTest"/"beginning of test method" and then gets its 
previous value in "afterTestsStopped"/"afterTest"/"finally block of test 
method". This approach leads to excessive code that can be avoided.

I suggest implementing annotation "WithSystemProperty" (name is the subject to 
discussion) that will allow us to write this:
{code:java}
@Test
@WithSystemProperty(key = IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, value = 
"true")
public void testSkipCheckConsistencyFlagEnabled() throws Exception {
...
}
{code}
instead of this:
{code:java}
@Test
public void testSkipCheckConsistencyFlagEnabled() throws Exception {
String backup = 
System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, "true");

try {
...
}
finally {
if (backup != null)
System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, 
backup);
else
System.clearProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK);
}
}
{code}
 

There also has to be ability to use this annotation on test class so new value 
of system properties will be used in all of its test methods.

  was:
There are many examples in tests where some property gets new value in 
"beforeTestsStarted"/"beforeTest"/"beginning of test method" and then gets its 
previous value in "afterTestsStopped"/"afterTest"/"finally block of test 
method". This approach leads to excessive code that can be avoided.

I suggest implementing annotation "WithSystemProperty" (name is the subject to 
discussion) that will allow us to write this:
{code:java}
@Test
@WithSystemProperty(key = IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, value = 
"true")
public void testSkipCheckConsistencyFlagEnabled() throws Exception {
...
}
{code}
instead of this:
{code:java}
@Test
public void testSkipCheckConsistencyFlagEnabled() throws Exception {
String backup = 
System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, "true");

try {
...
}
finally {
if (backup != null)
System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, 
backup);
else
System.clearProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK);
}
}
{code}
 

There's also has to be ability to use this annotation on test class so new 
value of system properties will be used in all of its test methods.


> Reduce boilerplate "System.setProperty" code in tests
> -
>
> Key: IGNITE-11323
> URL: https://issues.apache.org/jira/browse/IGNITE-11323
> Project: Ignite
>  Issue Type: Test
>Reporter: Ivan Bessonov
>Assignee: Ivan Bessonov
>Priority: Major
>
> There are many examples in tests where some property gets new value in 
> "beforeTestsStarted"/"beforeTest"/"beginning of test method" and then gets 
> its previous value in "afterTestsStopped"/"afterTest"/"finally block of test 
> method". This approach leads to excessive code that can be avoided.
> I suggest implementing annotation "WithSystemProperty" (name is the subject 
> to discussion) that will allow us to write this:
> {code:java}
> @Test
> @WithSystemProperty(key = IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, value 
> = "true")
> public void testSkipCheckConsistencyFlagEnabled() throws Exception {
> ...
> }
> {code}
> instead of this:
> {code:java}
> @Test
> public void testSkipCheckConsistencyFlagEnabled() throws Exception {
> String backup = 
> System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, "true");
> try {
> ...
> }
> finally {
> if (backup != null)
> System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, 
> backup);
> else
> System.clearProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK);
> }
> }
> {code}
>  
> There also has to be ability to use this annotation on test class so new 
> value of system properties will be used in all of its test methods.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7605) SQL COPY: add more SQL parser tests for positive scenarios

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7605.
-
Resolution: Won't Fix

Not relevant at the moment.

> SQL COPY: add more SQL parser tests for positive scenarios
> --
>
> Key: IGNITE-7605
> URL: https://issues.apache.org/jira/browse/IGNITE-7605
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7661) SQL COPY: provide more tests for national Unicode characters (including surrogates and 0x10000+ range)

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7661.
---

> SQL COPY: provide more tests for national Unicode characters (including 
> surrogates and 0x1+ range)
> --
>
> Key: IGNITE-7661
> URL: https://issues.apache.org/jira/browse/IGNITE-7661
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.5
>Reporter: Kirill Shirokov
>Priority: Minor
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7601) SQL COPY: add tests for implicit columns (_key, _val, _ver)

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7601.
---

> SQL COPY: add tests for implicit columns (_key, _val, _ver)
> ---
>
> Key: IGNITE-7601
> URL: https://issues.apache.org/jira/browse/IGNITE-7601
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7602) SQL COPY: add tests for file reading and JDBC connection failures

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7602.
-
Resolution: Won't Fix

Not relevant at the moment.

> SQL COPY: add tests for file reading and JDBC connection failures
> -
>
> Key: IGNITE-7602
> URL: https://issues.apache.org/jira/browse/IGNITE-7602
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-11019) SQL: explain plan of a simple query contains merge table

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-11019:
-
Issue Type: Improvement  (was: Bug)

> SQL: explain plan of a simple query contains merge table
> 
>
> Key: IGNITE-11019
> URL: https://issues.apache.org/jira/browse/IGNITE-11019
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Alexander Lapin
>Priority: Major
> Fix For: 2.8
>
>
> In case of simple* query like following "select * from Organization org where 
> org._KEY = 1 or org._KEY = 2" explain plan will contain merge table despite 
> the fact that it's skipped within regular query flow.
> {code:java|title=GridReduceQueryExecutor#query}
> final boolean skipMergeTbl = !qry.explain() && qry.skipMergeTable()
> {code}
> Explain plan output:
>  : [SELECT
> ORG__Z0.NAME AS __C0_0,
> ORG__Z0.DEBTCAPITAL AS __C0_1,
> ORG__Z0.ID AS __C0_2
> FROM "orgBetweenTest".ORGANIZATION ORG__Z0
> /* "orgBetweenTest"."_key_PK": _KEY IN(1, 2) */
> WHERE ORG__Z0._KEY IN(1, 2)]
>  : [SELECT
> __C0_0 AS NAME,
> __C0_1 AS DEBTCAPITAL,
> __C0_2 AS ID
> FROM PUBLIC.__T0
> /* "orgBetweenTest"."merge_scan" */]
> *simple query by means of GridSqlQuery#simpleQuery



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-9771) Indirect SQL queries are failing

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-9771.
---

> Indirect SQL queries are failing
> 
>
> Key: IGNITE-9771
> URL: https://issues.apache.org/jira/browse/IGNITE-9771
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 2.7
>Reporter: Sergey Grimstad
>Priority: Major
> Fix For: 2.8
>
> Attachments: sgrimstad_IGNITE_9771_implementation_.patch
>
>
> Attempt to sql query (not sql fields query ) another cache's type leads to 
> exception:
> Caused by: class 
> org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to 
> find SQL table for type: ...
> IgniteH2Indexing#queryDistributedSql in the beginning of the method logic 
> there is check of schemaName, cacheName and type. First two parameters passed 
> belong to called cache while third belongs to target cache. This combination 
> leads to the exception mentioned.
>  # Create tests to reproduce the situation
>  # Fix problem
>  # Enable commented out tests with 'todo' and this ticket number reference



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-6677) Collect QueryDetailMetrics for cache-less SQL queries

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-6677.
-
Resolution: Duplicate

Fixed in IGNITE-10347.

> Collect QueryDetailMetrics for cache-less SQL queries
> -
>
> Key: IGNITE-6677
> URL: https://issues.apache.org/jira/browse/IGNITE-6677
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 2.2
>Reporter: Alexey Kuznetsov
>Priority: Blocker
>  Labels: iep-29
> Fix For: 2.8
>
> Attachments: sgrimstad_IGNITE_6677_implementation_.patch
>
>
> We have logic that collect query history per caches.
> We need:
> # Add history size param on IgniteConfiguration
> # Implement logic that will collect history for SQL queries executed directly.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-6677) Collect QueryDetailMetrics for cache-less SQL queries

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-6677:

Labels:   (was: iep-29)

> Collect QueryDetailMetrics for cache-less SQL queries
> -
>
> Key: IGNITE-6677
> URL: https://issues.apache.org/jira/browse/IGNITE-6677
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 2.2
>Reporter: Alexey Kuznetsov
>Priority: Blocker
> Fix For: 2.8
>
> Attachments: sgrimstad_IGNITE_6677_implementation_.patch
>
>
> We have logic that collect query history per caches.
> We need:
> # Add history size param on IgniteConfiguration
> # Implement logic that will collect history for SQL queries executed directly.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7554) SQL COPY: consider providing support for the command in batch mode

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7554.
---

> SQL COPY: consider providing support for the command in batch mode
> --
>
> Key: IGNITE-7554
> URL: https://issues.apache.org/jira/browse/IGNITE-7554
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>
> Currently SQL COPY command rejects to execute in JDBC batch mode (via 
> java.sql.Statement.addBatch() + executeBatch()).
> If we want COPY to be executed in batch mode we need to implement it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7546) SQL COPY command: implement CSV header row parsing

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7546.
---

> SQL COPY command: implement CSV header row parsing
> --
>
> Key: IGNITE-7546
> URL: https://issues.apache.org/jira/browse/IGNITE-7546
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>
> Implement optional reading of CSV format header row and matching it to column 
> numbers.
> So, there are the following options:
> * just skip the header row (or arbitrary number of rows)
> * match the fields in the header row to the query entity columns and map them 
> to the column list
> A possible syntax for this option might look like this:
> {noformat}
> COPY
> ...
> [(MATCH | SKIP) HEADER]
> {noformat}
> When implementing this feature please keep in mind that we might have an 
> option for skipping user-specified number of header lines / left columns and 
> importing only user-specified number of lines and columns.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7372) Implement escape sequences handling in internal SQL parser

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7372.
---

> Implement escape sequences handling in internal SQL parser
> --
>
> Key: IGNITE-7372
> URL: https://issues.apache.org/jira/browse/IGNITE-7372
> Project: Ignite
>  Issue Type: New Feature
>  Components: sql
>Reporter: Kirill Shirokov
>Priority: Minor
>
> Implement escape sequences handling inside quoted literals. 
> The initial implementation is pruned from IGNITE-6861 and put into this 
> feature branch.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7542) SQL COPY command: implement multipliers (e.g., 'K' for kilo-, 'M' for mega-) in numbers

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7542.
-
Resolution: Won't Fix

Not relevant for now.

> SQL COPY command: implement multipliers (e.g., 'K' for kilo-, 'M' for mega-) 
> in numbers
> ---
>
> Key: IGNITE-7542
> URL: https://issues.apache.org/jira/browse/IGNITE-7542
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Kirill Shirokov
>Priority: Minor
>
> Multipliers can be important for several options, such as batch size.
> The syntax could be:
> {noformat}
> COPY
> ...
> BATCH_SIZE 1.5M
> {noformat}
> Such number can have a decimal point and an optional multiplier:
> K: 1024
> M: 1024 * 1024
> ...and so on for giga-, tera-, and peta-



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7738) Allow 'multiple statements' in thin JDBC streaming mode

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7738.
---

> Allow 'multiple statements' in thin JDBC streaming mode
> ---
>
> Key: IGNITE-7738
> URL: https://issues.apache.org/jira/browse/IGNITE-7738
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Alexander Paschenko
>Priority: Major
>
> We need to update thin JDBC protocol to let user run multiple statements via 
> Statement.execute(String) when connection is in streamed mode. Currently in 
> streaming mode the server always receives all SQL in batches and its batch 
> processing logic does not allow multiple statements altogether. If we're able 
> to recognize initial nature of the statement, we'll be able to act 
> appropriately, and for this to be possible additional information must be 
> passed with each query in the batch.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-7738) Allow 'multiple statements' in thin JDBC streaming mode

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-7738:

Component/s: (was: sql)
 jdbc

> Allow 'multiple statements' in thin JDBC streaming mode
> ---
>
> Key: IGNITE-7738
> URL: https://issues.apache.org/jira/browse/IGNITE-7738
> Project: Ignite
>  Issue Type: Improvement
>  Components: jdbc
>Reporter: Alexander Paschenko
>Priority: Major
>
> We need to update thin JDBC protocol to let user run multiple statements via 
> Statement.execute(String) when connection is in streamed mode. Currently in 
> streaming mode the server always receives all SQL in batches and its batch 
> processing logic does not allow multiple statements altogether. If we're able 
> to recognize initial nature of the statement, we'll be able to act 
> appropriately, and for this to be possible additional information must be 
> passed with each query in the batch.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7549) SQL COPY: implement file transfer compression

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7549.
---

> SQL COPY: implement file transfer compression
> -
>
> Key: IGNITE-7549
> URL: https://issues.apache.org/jira/browse/IGNITE-7549
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>
> We can gain huge improvement in text file transfer times from client to 
> server by using compression. User should have a possibility to enable or 
> disable compression using a parameter of COPY command:
> {noformat}
> COPY
>  ...
>  [COMPRESS "codec-name" [codec options]]
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7553) SQL COPY: provide support for the command in org.apache.ignite.internal.jdbc2 driver

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7553.
-
Resolution: Won't Fix

Not relevant at the moment.

> SQL COPY: provide support for the command in org.apache.ignite.internal.jdbc2 
> driver
> 
>
> Key: IGNITE-7553
> URL: https://issues.apache.org/jira/browse/IGNITE-7553
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Minor
>
> Currently COPY command is supported only in thin JDBC driver. It needs to be 
> supported in other JDBC driver implementations as well.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-6996) Smarter handling of id fields in SQL values

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-6996.
-
Resolution: Won't Fix

Not relevant at the moment.

> Smarter handling of id fields in SQL values
> ---
>
> Key: IGNITE-6996
> URL: https://issues.apache.org/jira/browse/IGNITE-6996
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Alexander Paschenko
>Priority: Major
>
> Consider such case:
> User wants to have a composite value (many value fields in {{QueryEntity}}) 
> with one field associated with value's id (most likely matching cache key 
> too).
> Currently in order to insert such an object we will have to do something like
> {{INSERT INTO Person(_key, id, name) values(1, 1, 'John')}}
> And there's no way to avoid such a redundant repeat of the same value.
> Suggested approach: I believe that we should specifically handle the case 
> when user specifies {{keyFieldName}} in configuration and specified field is 
> field of the value.
> In such case, we could just do {{INSERT INTO Person(id, name) values(1, 
> 'John')}} and derive {{_key}} value from {{id}} column. (And vice versa.)
> At a glance, this also will require following tweaks:
> - forbid performing SQL {{UPDATE}} on such column ({{id}} in above example);
> - on an {{INSERT}}, check that {{_key}} and {{id}} values are the same, if 
> both specified.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7541) SQL COPY command: implement backend switching option

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7541.
---

> SQL COPY command: implement backend switching option
> 
>
> Key: IGNITE-7541
> URL: https://issues.apache.org/jira/browse/IGNITE-7541
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Kirill Shirokov
>Priority: Major
>
> When we load data using COPY command we can add key/value pairs to the cache 
> using different ways:
> * Directly calling cache.putAll()
> * Loading data via DataStreamer
> * etc.
> Every backend has its pros and cons. For example, the streamer is fast and 
> asynchronous, although it cannot replace value and cannot provide any 
> statistics -- such as number of added records. The direct interface is slow 
> and synchronous, but provides us with an ability to either replace or skip 
> the records with the same key and respond to the user with full statistics.
> There shall be an option in the SQL command to switch to particular backend. 
> For example:
> {noformat}
> COPY
> FROM 'file'
> ...
> [BACKEND (DIRECT | STREAMER)]
> We might have more backends in the future.
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-5983) REST: Memory policy metrics should be available via REST.

2019-02-14 Thread Andrew Mashenkov (JIRA)


[ 
https://issues.apache.org/jira/browse/IGNITE-5983?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16768405#comment-16768405
 ] 

Andrew Mashenkov commented on IGNITE-5983:
--

[~roman_s], yes, now look good.
I've just merged your PR this with latest master and re-run TC.

> REST: Memory policy metrics should be available via REST.
> -
>
> Key: IGNITE-5983
> URL: https://issues.apache.org/jira/browse/IGNITE-5983
> Project: Ignite
>  Issue Type: Improvement
>  Components: cache
>Reporter: Andrew Mashenkov
>Assignee: Roman Shtykh
>Priority: Major
> Fix For: 2.8
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> For now it is possible to get some of cache metrics via REST, but not memory 
> metrics.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-8692) MVCC TX: Always persistent TxLog

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-8692:

Component/s: (was: sql)

> MVCC TX: Always persistent TxLog
> 
>
> Key: IGNITE-8692
> URL: https://issues.apache.org/jira/browse/IGNITE-8692
> Project: Ignite
>  Issue Type: Task
>  Components: cache, mvcc
>Reporter: Igor Seliverstov
>Priority: Major
>
> Currently TxLog may be overflowed in case a long running Tx prevents 
> "vacuuming".
> It can be solved by enabling persistence for TxLog data region by default.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-8974) MVCC TX: Vacuum cleanup version obtaining optimization.

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-8974:

Component/s: (was: sql)

> MVCC TX: Vacuum cleanup version obtaining optimization.
> ---
>
> Key: IGNITE-8974
> URL: https://issues.apache.org/jira/browse/IGNITE-8974
> Project: Ignite
>  Issue Type: Improvement
>  Components: cache, mvcc
>Reporter: Roman Kondakov
>Priority: Major
>
> At the moment vacuum process obtains cleanup version as the same way as 
> transactions do. It implies some unnecessary complications and even minor 
> performance drop due to calculation entire tx snapshot instead of just a 
> cleanup version number or sending unnsecessary tx end acks back to the 
> coordinator. Possible solutions are:
>  * Local caching cleanup version from the last obtained tx snapshot and use 
> it in vacuum process. But in this way not all outdated versions could be 
> cleaned (i.e. keys updated by this last tx).
>  * Implement a special method for calculating cleanup version on the 
> coordinator site and Request and Response messages for vacuum runned on 
> non-coordinator site.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-7998) SQL: Improve MVCC vacuum performance by iterating over data pages instead of cache tree.

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-7998:

Component/s: (was: sql)

> SQL: Improve MVCC vacuum performance by iterating over data pages instead of 
> cache tree. 
> -
>
> Key: IGNITE-7998
> URL: https://issues.apache.org/jira/browse/IGNITE-7998
> Project: Ignite
>  Issue Type: Improvement
>  Components: mvcc
>Reporter: Roman Kondakov
>Priority: Major
>
> At the moment vacuum process uses cache trees to find outdated (dead) entries 
> and cache and index trees to cleanup them. It is not efficient due to several 
> reasons. For example, we should lock a datapage for each cache tree entry to 
> find out if entry is dead.
> We can consider a direct iteration over datapages as a possible improvement 
> of  the vacuum process. Data page iteration prototype demonstrated 5-10 times 
> time improvement over the tree iteration.
> At first stage we need to implement direct datapages iteration only for 
> collecting dead entries links.
> At the second stage we need to consider removing links to dead entries from 
> index pages directly. In other words, we need to efficiently remove batches 
> of dead links from indexes without traversing cache and index tree one dead 
> link by one.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-8609) SQL: Get rid of syncronization in mvcc processor.

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-8609:

Component/s: (was: sql)

> SQL: Get rid of syncronization in mvcc processor.
> -
>
> Key: IGNITE-8609
> URL: https://issues.apache.org/jira/browse/IGNITE-8609
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc
>Reporter: Pavel Kuznetsov
>Assignee: Igor Seliverstov
>Priority: Major
>
> Currently we have to do synchronized actions in 
> org/apache/ignite/internal/managers/communication/GridIoManager.java:1124 
> (org.apache.ignite.internal.managers.communication.GridIoManager#processRegularMessage)
>  due to fails on nio thread on load.
> We are able to optimize this code.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7859) SQL streaming support via native API

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7859.
---

> SQL streaming support via native API
> 
>
> Key: IGNITE-7859
> URL: https://issues.apache.org/jira/browse/IGNITE-7859
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Alexander Paschenko
>Priority: Major
>
> In addition to streaming via thin JDBC driver, ability to run same {{SET 
> STREAMING}} command should be added to cache API.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-5652) Print slow query warnings on client node

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-5652.
---

> Print slow query warnings on client node
> 
>
> Key: IGNITE-5652
> URL: https://issues.apache.org/jira/browse/IGNITE-5652
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Affects Versions: 2.0
>Reporter: Alexander Paschenko
>Priority: Major
>  Labels: sql-stability, usability
>
> Currently, only worker (MAP) nodes of the query print long query execution 
> time warning to their console, for usability it would be nice to propagate 
> this to the client node as well.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-9314) MVCC TX: Datastreamer operations

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-9314:

Component/s: (was: sql)

> MVCC TX: Datastreamer operations
> 
>
> Key: IGNITE-9314
> URL: https://issues.apache.org/jira/browse/IGNITE-9314
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc
>Reporter: Igor Seliverstov
>Assignee: Ivan Pavlukhin
>Priority: Major
> Fix For: 2.8
>
>
> Need to change DataStreamer semantics (make it transactional)
> Currently clients can see DataStreamer partial writes and two subsequent 
> selects, which are run in scope of one transaction at load time, may return 
> different results.
> Related thread:
>  
> [http://apache-ignite-developers.2346864.n4.nabble.com/MVCC-and-IgniteDataStreamer-td32340.html]
> Also there is a problem when {{DataStreamer}} with {{allowOverwrite == 
> false}} does not insert value when versions for entry exist but they all are 
> aborted. Proper transactional semantics should developed for such case. After 
> that attention should be put on Cache.size method behavior. Cache.size 
> addressed in https://issues.apache.org/jira/browse/IGNITE-8149 could be 
> decremented improperly in 
> {{org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManager#mvccRemoveAll}}
>  method (called during streamer processing) when all existing mvcc row 
> versions are aborted or last committed one is _remove_ version.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-6196) SQL: verify usability of template-based CREATE TABLE operations

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-6196.
-
Resolution: Won't Fix

Not relevant at the moment. Will reopen if needed.

> SQL: verify usability of template-based CREATE TABLE operations
> ---
>
> Key: IGNITE-6196
> URL: https://issues.apache.org/jira/browse/IGNITE-6196
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Affects Versions: 2.1
>Reporter: Vladimir Ozerov
>Priority: Major
>  Labels: usability
>
> We do not have enough tests and examples on cache template usage for {{CREATE 
> TABLE}}. I found only one test which used not template, but existing cache as 
> a base for new cache. Let's add more tests with real pre-configured templates 
> and extend our documentation accordingly.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-6415) ALTER TABLE: investigate why descriptor is not updated from GridQueryProcessor#onLocalOperationFinished

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-6415.
-
Resolution: Won't Fix

Not relevant at the moment. Will reopen if needed.

> ALTER TABLE: investigate why descriptor is not updated from 
> GridQueryProcessor#onLocalOperationFinished
> ---
>
> Key: IGNITE-6415
> URL: https://issues.apache.org/jira/browse/IGNITE-6415
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Affects Versions: 2.3
>Reporter: Vladimir Ozerov
>Priority: Major
>
> For {{CREATE INDEX}} and {{DROP INDEX}} our DDL engine works as follows:
> 1) Update H2 structures from DDL worker thread
> 2) Then update type descriptor from 
> {{GridQueryProcessor#onLocalOperationFinished}}
> For some reason {{ALTER TABLE}} handled differently, and we first update 
> descriptor, then update H2. See 
> {{GridQueryProcessor#processSchemaOperationLocal}}. 
> Two questions:
> 1) Why descriptor is updated before H2? In this case we may endup in 
> inconsistent state if H2 failed for some reason
> 2) Why we decided not to follow {{CREATE/DROP INDEX}} approach?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-7188) MVCC: Retry strategy on lock conflicts

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-7188:

Summary: MVCC: Retry strategy on lock conflicts  (was: SQL TX: Retry 
strategy on lock conflicts)

> MVCC: Retry strategy on lock conflicts
> --
>
> Key: IGNITE-7188
> URL: https://issues.apache.org/jira/browse/IGNITE-7188
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc, sql
>Reporter: Igor Seliverstov
>Priority: Major
>
> We need to provide some strategy to avoid lock conflicts (deadlocks), detect 
> and hanle them.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7724) SQL COPY: network performance improvements

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7724.
-
Resolution: Won't Fix

Not relevant at the moment.

> SQL COPY: network performance improvements
> --
>
> Key: IGNITE-7724
> URL: https://issues.apache.org/jira/browse/IGNITE-7724
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.3, 2.4, 2.5
>Reporter: Kirill Shirokov
>Assignee: Kirill Shirokov
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7681) SQL COPY: local performance improvements

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7681.
---

> SQL COPY: local performance improvements
> 
>
> Key: IGNITE-7681
> URL: https://issues.apache.org/jira/browse/IGNITE-7681
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4, 2.5
>Reporter: Kirill Shirokov
>Priority: Major
> Attachments: ignite-7681-cache-putall-processor.diff, 
> ignite-7681-perf-test.diff
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7601) SQL COPY: add tests for implicit columns (_key, _val, _ver)

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7601.
-
Resolution: Won't Fix

Not relevant at the moment.

> SQL COPY: add tests for implicit columns (_key, _val, _ver)
> ---
>
> Key: IGNITE-7601
> URL: https://issues.apache.org/jira/browse/IGNITE-7601
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Assigned] (IGNITE-7724) SQL COPY: network performance improvements

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov reassigned IGNITE-7724:
---

Assignee: (was: Kirill Shirokov)

> SQL COPY: network performance improvements
> --
>
> Key: IGNITE-7724
> URL: https://issues.apache.org/jira/browse/IGNITE-7724
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.3, 2.4, 2.5
>Reporter: Kirill Shirokov
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-8402) Long running transaction JMX

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-8402.
---

> Long running transaction JMX
> 
>
> Key: IGNITE-8402
> URL: https://issues.apache.org/jira/browse/IGNITE-8402
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Ivan Kapralov
>Priority: Major
>
> Facing necessity in Long Running Transactions JMX metric implementation.
> Needed: transaction start time, node ID, duration, cache full qualified name, 
> originator ID.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-6293) SQL: Support FOREIGN KEY constraint

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-6293.
---

> SQL: Support FOREIGN KEY constraint
> ---
>
> Key: IGNITE-6293
> URL: https://issues.apache.org/jira/browse/IGNITE-6293
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Affects Versions: 2.1
>Reporter: Vladimir Ozerov
>Priority: Major
>  Labels: sql-engine
>
> We need to support {{FOREIGN KEY}} constraint. This is a complex, though 
> achievable thing.
> 1) We need to check constraint during inserts and updates (from both SQL and 
> cache API). 
> 2) We need to support different modes of {{CASCADE}} actions - "remove", "set 
> null". 
> In general case it would require distributed operations, possibly with 
> predicates. However, as a first iteration, it would be enough to support FK 
> only for co-located data. In this case everything could be done locally.
> *Important* 
> Implementation of FK typically depends heavily on underlying MVCC and 
> transaction subsystems. That said, we should implement it after MVCC and 
> transactional SQL.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-7732) SQL COPY: ODBC support

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-7732:

Component/s: (was: sql)

> SQL COPY: ODBC support
> --
>
> Key: IGNITE-7732
> URL: https://issues.apache.org/jira/browse/IGNITE-7732
> Project: Ignite
>  Issue Type: Task
>  Components: odbc
>Reporter: Vladimir Ozerov
>Assignee: Igor Sapego
>Priority: Major
>
> Support COPY command for ODBC driver in the same way it is done for JDBC.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-8598) SQL: ability to control partition pruning with explicit affinity column definition

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-8598.
-
Resolution: Duplicate

> SQL: ability to control partition pruning with explicit affinity column 
> definition
> --
>
> Key: IGNITE-8598
> URL: https://issues.apache.org/jira/browse/IGNITE-8598
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Vladimir Ozerov
>Priority: Major
>
> Affinity functions are applicable to keys only. Sometimes users may have 
> complex affinity calculation logic, so that partition pruning optimization is 
> not applicable. E.g. this custom {{AffinityKeyMapper}}. However, there is a 
> chance that partition could be calculated from some attribute of {{value}}. 
> It would be nice to force our engine to treat some attribute as affinity key 
> even though it is not marked as {{AffinityKeyMapped}}.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-10934) Order fields don't work in ignite field queries

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-10934:
-
Ignite Flags:   (was: Docs Required)

> Order fields don't work in ignite field queries 
> 
>
> Key: IGNITE-10934
> URL: https://issues.apache.org/jira/browse/IGNITE-10934
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 2.7
>Reporter: Gaurav Rawat
>Priority: Major
>
> There is an issue when we use fields woth a field such as order . seems the 
> H2 query engine recognizes this is a  keyword . 
> example query :
> SELECT fund.fund_id, fund.close_dt, fund.idea_id, pm .order  FROM "fund".FUND 
> fund LEFT JOIN "pm ".PM pm ON fund.FUND_ID = pm .FUND_ID limit 40
>  
> error : 
>  
> {code:java}
> Caused by: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement .
> at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
>  at org.h2.message.DbException.getSyntaxError(DbException.java:217)
>  at org.h2.command.Parser.readColumnIdentifier(Parser.java:3507)
>  at org.h2.command.Parser.readTermObjectDot(Parser.java:2964)
>  at org.h2.command.Parser.readTerm(Parser.java:3095)
>  at org.h2.command.Parser.readFactor(Parser.java:2587)
>  at org.h2.command.Parser.readSum(Parser.java:2574)
>  at org.h2.command.Parser.readConcat(Parser.java:2544)
>  at org.h2.command.Parser.readCondition(Parser.java:2370)
>  at org.h2.command.Parser.readAnd(Parser.java:2342)
>  at org.h2.command.Parser.readExpression(Parser.java:2334)
>  at org.h2.command.Parser.parseSelectSimpleSelectPart(Parser.java:2245)
>  
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-8913) Uninformative SQL query cancellation message

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-8913:

Issue Type: Improvement  (was: Bug)

> Uninformative SQL query cancellation message
> 
>
> Key: IGNITE-8913
> URL: https://issues.apache.org/jira/browse/IGNITE-8913
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.5
>Reporter: Vladislav Pyatkov
>Priority: Major
>  Labels: iep-29, sql-stability
> Fix For: 2.8
>
> Attachments: sgrimstad_IGNITE_8913_Query_cancelled_me.patch
>
>
> When query timeouted or cancelled or other exception, we getting message: 
> "The query was cancelled while executing".
> Need make message more clear - text of query, node which the cancelled, 
> reason of cancel query e.t.c.
> {noformat}
> 2018-06-19 
> 00:00:10.653[ERROR][query-#93192%DPL_GRID%DplGridNodeName%][o.a.i.i.p.q.h.t.GridMapQueryExecutor]
>  Failed to execute local query.
> org.apache.ignite.cache.query.QueryCancelledException: The query was 
> cancelled while executing.
>  at 
> org.apache.ignite.internal.processors.query.GridQueryCancel.set(GridQueryCancel.java:53)
>  at 
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQuery(IgniteH2Indexing.java:1115)
>  at 
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQueryWithTimer(IgniteH2Indexing.java:1207)
>  at 
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeSqlQueryWithTimer(IgniteH2Indexing.java:1185)
>  at 
> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onQueryRequest0(GridMapQueryExecutor.java:683)
>  at 
> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onQueryRequest(GridMapQueryExecutor.java:527)
>  at 
> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onMessage(GridMapQueryExecutor.java:218)
>  at 
> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor$2.onMessage(GridMapQueryExecutor.java:178)
>  at 
> org.apache.ignite.internal.managers.communication.GridIoManager$ArrayListener.onMessage(GridIoManager.java:2333)
>  at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556)
>  at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
>  at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:125)
>  at 
> org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1091)
>  at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  at java.lang.Thread.run(Thread.java:745)
> 2018-06-19 
> 00:00:11.629[ERROR][query-#93187%DPL_GRID%DplGridNodeName%][o.a.i.i.p.q.h.t.GridMapQueryExecutor]
>  Failed to execute local query.
> org.apache.ignite.cache.query.QueryCancelledException: The query was 
> cancelled while executing.
>  at 
> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onQueryRequest0(GridMapQueryExecutor.java:670)
>  at 
> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onQueryRequest(GridMapQueryExecutor.java:527)
>  at 
> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor.onMessage(GridMapQueryExecutor.java:218)
>  at 
> org.apache.ignite.internal.processors.query.h2.twostep.GridMapQueryExecutor$2.onMessage(GridMapQueryExecutor.java:178)
>  at 
> org.apache.ignite.internal.managers.communication.GridIoManager$ArrayListener.onMessage(GridIoManager.java:2333)
>  at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556)
>  at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
>  at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:125)
>  at 
> org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1091)
>  at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  at java.lang.Thread.run(Thread.java:745)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7746) Failed to put data into cache if IndexedTypes configured.

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7746.
---

> Failed to put data into cache if IndexedTypes configured.
> -
>
> Key: IGNITE-7746
> URL: https://issues.apache.org/jira/browse/IGNITE-7746
> Project: Ignite
>  Issue Type: Bug
>  Components: cache, sql
>Reporter: Alexey Kuznetsov
>Priority: Major
>
> reproducer
> {code}
> import org.apache.ignite.configuration.CacheConfiguration;
> import org.apache.ignite.configuration.IgniteConfiguration;
> public class Reproducer {
>  /**
>  * @param args Command line arguments.
>  */
>  public static void main(String[] args) {
>  IgniteConfiguration cfg = new IgniteConfiguration();
>  CacheConfiguration ccfg = new CacheConfiguration("test");
>  ccfg.setIndexedTypes(String.class, String.class);
>  cfg.setCacheConfiguration(ccfg);
>  try(Ignite ignite = Ignition.start(cfg)) {
>  IgniteCache cStr = ignite.cache("test");
>  cStr.put("key", "value");
>  IgniteCache cInt = ignite.cache("test");
>  cInt.put(1, 2);
>  IgniteCache cIntStr = ignite.cache("test");
>  cIntStr.put(7, "test");
>  }
>  }
> }
> {code}
> {noformat}
> Exception in thread "main" 
> org.apache.ignite.cache.CachePartialUpdateException: Failed to update keys 
> (retry update if possible).: [7]
>  at 
> org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1278)
>  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.cacheException(IgniteCacheProxyImpl.java:1731)
>  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1087)
>  at 
> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:886)
>  at org.apache.ignite.Reproducer.main(Reproducer.java:26)
> Caused by: class 
> org.apache.ignite.internal.processors.cache.CachePartialUpdateCheckedException:
>  Failed to update keys (retry update if possible).: [7]
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.onPrimaryError(GridNearAtomicAbstractUpdateFuture.java:397)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.onPrimaryResponse(GridNearAtomicSingleUpdateFuture.java:253)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture$1.apply(GridNearAtomicAbstractUpdateFuture.java:303)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture$1.apply(GridNearAtomicAbstractUpdateFuture.java:300)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicAbstractUpdateFuture.map(GridDhtAtomicAbstractUpdateFuture.java:390)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1805)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1628)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.sendSingleRequest(GridNearAtomicAbstractUpdateFuture.java:299)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.map(GridNearAtomicSingleUpdateFuture.java:483)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(GridNearAtomicSingleUpdateFuture.java:443)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(GridNearAtomicAbstractUpdateFuture.java:248)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update0(GridDhtAtomicCache.java:1117)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.put0(GridDhtAtomicCache.java:606)
>  at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2369)
>  at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2346)
>  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1084)
>  ... 2 more
>  Suppressed: class org.apache.ignite.IgniteCheckedException: Failed to update 
> keys.
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.UpdateErrors.addFailedKey(UpdateErrors.java:108)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicUpdateResponse.addFailedKey(GridNearAtomicUpdateResponse.java:329)
>  at 
> 

[jira] [Resolved] (IGNITE-7746) Failed to put data into cache if IndexedTypes configured.

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7746.
-
Resolution: Not A Problem

This is expected behavior. Target table is determined by value's type. Since 
you defined {{String, String}}, but put {{Integer, String}}, exception is 
thrown.

> Failed to put data into cache if IndexedTypes configured.
> -
>
> Key: IGNITE-7746
> URL: https://issues.apache.org/jira/browse/IGNITE-7746
> Project: Ignite
>  Issue Type: Bug
>  Components: cache, sql
>Reporter: Alexey Kuznetsov
>Priority: Major
>
> reproducer
> {code}
> import org.apache.ignite.configuration.CacheConfiguration;
> import org.apache.ignite.configuration.IgniteConfiguration;
> public class Reproducer {
>  /**
>  * @param args Command line arguments.
>  */
>  public static void main(String[] args) {
>  IgniteConfiguration cfg = new IgniteConfiguration();
>  CacheConfiguration ccfg = new CacheConfiguration("test");
>  ccfg.setIndexedTypes(String.class, String.class);
>  cfg.setCacheConfiguration(ccfg);
>  try(Ignite ignite = Ignition.start(cfg)) {
>  IgniteCache cStr = ignite.cache("test");
>  cStr.put("key", "value");
>  IgniteCache cInt = ignite.cache("test");
>  cInt.put(1, 2);
>  IgniteCache cIntStr = ignite.cache("test");
>  cIntStr.put(7, "test");
>  }
>  }
> }
> {code}
> {noformat}
> Exception in thread "main" 
> org.apache.ignite.cache.CachePartialUpdateException: Failed to update keys 
> (retry update if possible).: [7]
>  at 
> org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1278)
>  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.cacheException(IgniteCacheProxyImpl.java:1731)
>  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1087)
>  at 
> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:886)
>  at org.apache.ignite.Reproducer.main(Reproducer.java:26)
> Caused by: class 
> org.apache.ignite.internal.processors.cache.CachePartialUpdateCheckedException:
>  Failed to update keys (retry update if possible).: [7]
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.onPrimaryError(GridNearAtomicAbstractUpdateFuture.java:397)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.onPrimaryResponse(GridNearAtomicSingleUpdateFuture.java:253)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture$1.apply(GridNearAtomicAbstractUpdateFuture.java:303)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture$1.apply(GridNearAtomicAbstractUpdateFuture.java:300)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicAbstractUpdateFuture.map(GridDhtAtomicAbstractUpdateFuture.java:390)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1805)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1628)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.sendSingleRequest(GridNearAtomicAbstractUpdateFuture.java:299)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.map(GridNearAtomicSingleUpdateFuture.java:483)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(GridNearAtomicSingleUpdateFuture.java:443)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(GridNearAtomicAbstractUpdateFuture.java:248)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update0(GridDhtAtomicCache.java:1117)
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.put0(GridDhtAtomicCache.java:606)
>  at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2369)
>  at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2346)
>  at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1084)
>  ... 2 more
>  Suppressed: class org.apache.ignite.IgniteCheckedException: Failed to update 
> keys.
>  at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.UpdateErrors.addFailedKey(UpdateErrors.java:108)
>  at 
> 

[jira] [Updated] (IGNITE-7692) affinityCall and affinityRun may execute code on backup partitions

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-7692:

Component/s: cache

> affinityCall and affinityRun may execute code on backup partitions
> --
>
> Key: IGNITE-7692
> URL: https://issues.apache.org/jira/browse/IGNITE-7692
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Affects Versions: 2.1
>Reporter: Alexey Goncharuk
>Assignee: Sergey Chugunov
>Priority: Major
>  Labels: MakeTeamcityGreenAgain, Muted_test, usability
> Fix For: 2.8
>
>
> Apparently, the affinityCall and affinityRun methods reserve partitions and 
> check their state to be OWNING, however, if topology changes and partition 
> role is changed to backup from primary, the code is still executed.
> This can be an issue if a user executes a local SQL query inside the 
> affinityCall runnable. In this case, the query result may return null.
> This can be observed in the 
> IgniteCacheLockPartitionOnAffinityRunTest#getPersonsCountSingleCache - note 
> an additional check I've added to make the test pass.
> I think it is ok to have an old semantics for the API, because in some cases 
> (scan query, local gets) a backup OWNER is enough. However, it looks like we 
> need to add another API method to enforce that affinity run be executed on 
> primary nodes and forbid primary role change.
> Another option is to detect a topology version of the affinity run and use 
> that version for local SQL queries.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7372) Implement escape sequences handling in internal SQL parser

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7372.
-
Resolution: Won't Fix

Not relevant at the moment.

> Implement escape sequences handling in internal SQL parser
> --
>
> Key: IGNITE-7372
> URL: https://issues.apache.org/jira/browse/IGNITE-7372
> Project: Ignite
>  Issue Type: New Feature
>  Components: sql
>Reporter: Kirill Shirokov
>Priority: Minor
>
> Implement escape sequences handling inside quoted literals. 
> The initial implementation is pruned from IGNITE-6861 and put into this 
> feature branch.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7374) Add 'default' as a possible value for an SQL command parameter

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7374.
-
Resolution: Won't Fix

Not relevant at the moment.

> Add 'default' as a possible value for an SQL command parameter
> --
>
> Key: IGNITE-7374
> URL: https://issues.apache.org/jira/browse/IGNITE-7374
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>
> There should be a possibility to specify default value for parameters 
> (numeric, string and enum) using 'default' keyword.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7544) SQL COPY command: implement statistics gathering and error reporting

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7544.
---

> SQL COPY command: implement statistics gathering and error reporting
> 
>
> Key: IGNITE-7544
> URL: https://issues.apache.org/jira/browse/IGNITE-7544
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>
> In the COPY command we might be interested in how many rows:
> * have been added
> * have been updated
> * have been skipped
> * had errors
> The numbers above can be reported as a row with corresponding columns. Errors 
> can be reported as a cursor with appropriate rows.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7374) Add 'default' as a possible value for an SQL command parameter

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7374.
---

> Add 'default' as a possible value for an SQL command parameter
> --
>
> Key: IGNITE-7374
> URL: https://issues.apache.org/jira/browse/IGNITE-7374
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>
> There should be a possibility to specify default value for parameters 
> (numeric, string and enum) using 'default' keyword.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-8732) SQL: REPLICATED cache cannot be left-joined to PARTITIONED

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-8732:

Issue Type: Improvement  (was: Bug)

> SQL: REPLICATED cache cannot be left-joined to PARTITIONED
> --
>
> Key: IGNITE-8732
> URL: https://issues.apache.org/jira/browse/IGNITE-8732
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.5
>Reporter: Vladimir Ozerov
>Priority: Major
>  Labels: sql-engine
>
> *Steps to reproduce*
> # Run 
> {{org.apache.ignite.sqltests.ReplicatedSqlTest#testLeftJoinReplicatedPartitioned}}
> # Observe that we have 2x results on 2-node cluster
> *Root Cause*
> {{left LEFT JOIN right ON cond}} operation assumes full scan of of a left 
> expression. Currently we perform this scan on every node and then simply 
> merge results on reducer. Two nodes, two scans of {{REPLICATED}} cache, 2x 
> results.
> *Potential Solutions*
> We may consider several solutions. Deeper analysis is required to understand 
> which is the right one.
> # Perform deduplication on reducer - this most prospective and general 
> technique, described in more details below
> # Treat {{REPLICATED}} cache as {{PARTITIONED}}. Essentially, we just need to 
> pass proper backup filter. But what if {{REPLICATED}} cache spans more nodes 
> than {{PARTITIONED}}? We cannot rely on primary/backup in this case
> # Implement additional execution phase as follows: 
> {code}
> SELECT left.cols, right.cols FROM left INNER JOIN right ON cond;  
> // Get "inner join" part
> UNION
> UNICAST SELECT left.cols, [NULL].cols FROM left WHERE left.id NOT IN ([ids 
> from the first phase]) // Get "outer join" part
> {code}
> *Reducer Deduplication*
> The idea is to get all data locally and then perform final deduplication. 
> This may incur high network overhead, because of lot of duplicated left parts 
> would be transferred. However, this could be optimized greatly with the 
> following techniques applied one after another
> # Semi-jions: {{left}} is {{joined}} on mapper node, but instead of sending 
> {{(left, right)}} relation, we send {{(left) + (right)}}
> # In case {{left}} part is known to be idempotent (i.e. it produces the same 
> result set on all nodes), only one node will send {{(left) + (right)}}, other 
> nodes will send {{(right)}} only
> # Merge {{left}} results with if needed (i.e. if idempotence-related opto was 
> not applicable)
> # Join {{left}} and {{right}} parts on reducer



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7542) SQL COPY command: implement multipliers (e.g., 'K' for kilo-, 'M' for mega-) in numbers

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7542.
---

Not relevant for now.

> SQL COPY command: implement multipliers (e.g., 'K' for kilo-, 'M' for mega-) 
> in numbers
> ---
>
> Key: IGNITE-7542
> URL: https://issues.apache.org/jira/browse/IGNITE-7542
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Kirill Shirokov
>Priority: Minor
>
> Multipliers can be important for several options, such as batch size.
> The syntax could be:
> {noformat}
> COPY
> ...
> BATCH_SIZE 1.5M
> {noformat}
> Such number can have a decimal point and an optional multiplier:
> K: 1024
> M: 1024 * 1024
> ...and so on for giga-, tera-, and peta-



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-11311) MVCC: SQL full table scan query can return duplicates.

2019-02-14 Thread Andrew Mashenkov (JIRA)


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

Andrew Mashenkov updated IGNITE-11311:
--
Description: 
SQL query like "select * from table" can return duplicate rows.

Possible reasons are
 * SQL query iterates over data pages directly and can see inconsistent state 
(IGNITE-10561) 
 * Query see stale pages. See IGNITE-10767 for details.
 * Smth is wrong with mvcc versions visibility.

  was:
SQL query like "select * from table" can return duplicate rows.

Possible reasons can be
 *  due to SQL query iterates over data pages directly and can see inconsistent 
state (IGNITE-10561) 
 * Same as IGNITE-10767, query see stale pages.
 * Smth is wrong with mvcc versions visibility.


> MVCC: SQL full table scan query can return duplicates.
> --
>
> Key: IGNITE-11311
> URL: https://issues.apache.org/jira/browse/IGNITE-11311
> Project: Ignite
>  Issue Type: Bug
>  Components: mvcc, sql
>Reporter: Andrew Mashenkov
>Priority: Major
>
> SQL query like "select * from table" can return duplicate rows.
> Possible reasons are
>  * SQL query iterates over data pages directly and can see inconsistent state 
> (IGNITE-10561) 
>  * Query see stale pages. See IGNITE-10767 for details.
>  * Smth is wrong with mvcc versions visibility.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7553) SQL COPY: provide support for the command in org.apache.ignite.internal.jdbc2 driver

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7553.
---

> SQL COPY: provide support for the command in org.apache.ignite.internal.jdbc2 
> driver
> 
>
> Key: IGNITE-7553
> URL: https://issues.apache.org/jira/browse/IGNITE-7553
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Minor
>
> Currently COPY command is supported only in thin JDBC driver. It needs to be 
> supported in other JDBC driver implementations as well.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7541) SQL COPY command: implement backend switching option

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7541.
-
Resolution: Won't Fix

Not relevant at the moment.

> SQL COPY command: implement backend switching option
> 
>
> Key: IGNITE-7541
> URL: https://issues.apache.org/jira/browse/IGNITE-7541
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Kirill Shirokov
>Priority: Major
>
> When we load data using COPY command we can add key/value pairs to the cache 
> using different ways:
> * Directly calling cache.putAll()
> * Loading data via DataStreamer
> * etc.
> Every backend has its pros and cons. For example, the streamer is fast and 
> asynchronous, although it cannot replace value and cannot provide any 
> statistics -- such as number of added records. The direct interface is slow 
> and synchronous, but provides us with an ability to either replace or skip 
> the records with the same key and respond to the user with full statistics.
> There shall be an option in the SQL command to switch to particular backend. 
> For example:
> {noformat}
> COPY
> FROM 'file'
> ...
> [BACKEND (DIRECT | STREAMER)]
> We might have more backends in the future.
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7738) Allow 'multiple statements' in thin JDBC streaming mode

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7738.
-
Resolution: Won't Fix

Not needed at the moment.

> Allow 'multiple statements' in thin JDBC streaming mode
> ---
>
> Key: IGNITE-7738
> URL: https://issues.apache.org/jira/browse/IGNITE-7738
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Alexander Paschenko
>Priority: Major
>
> We need to update thin JDBC protocol to let user run multiple statements via 
> Statement.execute(String) when connection is in streamed mode. Currently in 
> streaming mode the server always receives all SQL in batches and its batch 
> processing logic does not allow multiple statements altogether. If we're able 
> to recognize initial nature of the statement, we'll be able to act 
> appropriately, and for this to be possible additional information must be 
> passed with each query in the batch.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-5277) Asynchronously establish connection to all the needed nodes in IgniteH2Indexing.send()

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-5277.
-
Resolution: Won't Fix

Not relevant at the moment.

> Asynchronously establish connection to all the needed nodes in 
> IgniteH2Indexing.send()
> --
>
> Key: IGNITE-5277
> URL: https://issues.apache.org/jira/browse/IGNITE-5277
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Sergi Vladykin
>Priority: Major
>  Labels: sql-performance
>
> it's only a minor optimization until the point when establishing each 
> connection takes 3-4 seconds, and we establish 32 of them in sequence.  At 
> that point it becomes a serious issue: the customer cannot run SQL queries 
> from their development machines



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-5277) Asynchronously establish connection to all the needed nodes in IgniteH2Indexing.send()

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-5277.
---

> Asynchronously establish connection to all the needed nodes in 
> IgniteH2Indexing.send()
> --
>
> Key: IGNITE-5277
> URL: https://issues.apache.org/jira/browse/IGNITE-5277
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Sergi Vladykin
>Priority: Major
>  Labels: sql-performance
>
> it's only a minor optimization until the point when establishing each 
> connection takes 3-4 seconds, and we establish 32 of them in sequence.  At 
> that point it becomes a serious issue: the customer cannot run SQL queries 
> from their development machines



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7027) SQL: Single primary index instead of mulitple per-partition indexes

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7027.
---

> SQL: Single primary index instead of mulitple per-partition indexes
> ---
>
> Key: IGNITE-7027
> URL: https://issues.apache.org/jira/browse/IGNITE-7027
> Project: Ignite
>  Issue Type: Task
>  Components: cache, sql
>Reporter: Vladimir Ozerov
>Priority: Major
>  Labels: iep-19, performance
>
> Currently we have per-partition primary index. This gives us easy and 
> effective rebalance/recovery capabilities and efficient lookup in key-value 
> mode. 
> However, this doesn't work well for SQL case. We cannot use this index for 
> range scans. Neither we can use it for PK lookups (it is possible to 
> implement, but will be less then optimal due to necessity to build the whole 
> key object).
> The following change is suggested as optional storage mode:
> 1) Single index data structure for all partitions
> 2) Only single key type is allowed (i.e. no mess in the cache and no cache 
> groups)
> 3) Additional SQL PK index will not be needed in this case
> Advantage:
> - No overhead on the second PK index
> Disadvantage:
> - Less efficient rebalance and recovery



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-6292) SQL: Support CHECK constraint

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-6292.
---

> SQL: Support CHECK constraint
> -
>
> Key: IGNITE-6292
> URL: https://issues.apache.org/jira/browse/IGNITE-6292
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Affects Versions: 2.1
>Reporter: Vladimir Ozerov
>Priority: Major
>  Labels: sql-engine
>
> Currently we do not support {{CHECK}} constraint, which is very important in 
> SQL world. Need to investigate how we can add it. Essentially, we have two 
> ways:
> 1) Either delegate constraint validation to H2 somehow. But remember that we 
> should do that early during update, and we should do that efficiently. Need 
> to investigate H2 API to find out how to achieve that.
> 2) Or we should wait for development of our own execution engine, which is a 
> huge thing and would not appear fast. In this case we would be able to 
> pre-compile expression somehow and execute it whenever we want.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-7027) SQL: Single primary index instead of mulitple per-partition indexes

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-7027:

Labels: performance  (was: iep-19 performance)

> SQL: Single primary index instead of mulitple per-partition indexes
> ---
>
> Key: IGNITE-7027
> URL: https://issues.apache.org/jira/browse/IGNITE-7027
> Project: Ignite
>  Issue Type: Task
>  Components: cache, sql
>Reporter: Vladimir Ozerov
>Priority: Major
>  Labels: performance
>
> Currently we have per-partition primary index. This gives us easy and 
> effective rebalance/recovery capabilities and efficient lookup in key-value 
> mode. 
> However, this doesn't work well for SQL case. We cannot use this index for 
> range scans. Neither we can use it for PK lookups (it is possible to 
> implement, but will be less then optimal due to necessity to build the whole 
> key object).
> The following change is suggested as optional storage mode:
> 1) Single index data structure for all partitions
> 2) Only single key type is allowed (i.e. no mess in the cache and no cache 
> groups)
> 3) Additional SQL PK index will not be needed in this case
> Advantage:
> - No overhead on the second PK index
> Disadvantage:
> - Less efficient rebalance and recovery



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-9224) MVCC SQL: Cache metrics

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-9224:

Component/s: (was: sql)

> MVCC SQL: Cache metrics
> ---
>
> Key: IGNITE-9224
> URL: https://issues.apache.org/jira/browse/IGNITE-9224
> Project: Ignite
>  Issue Type: Improvement
>  Components: mvcc
>Reporter: Ivan Pavlukhin
>Priority: Major
> Fix For: 2.8
>
>
> We need to support {{CacheMetrics}} API for MVCC caches. Semantics should 
> conform JCache specification. Only committed stores and removes should be 
> counted.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-7766) Ignite Queries 2: Test always failed IgniteCacheQueryNodeRestartTxSelfTest.testRestarts

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-7766:

Issue Type: Bug  (was: Task)

> Ignite Queries 2: Test always failed 
> IgniteCacheQueryNodeRestartTxSelfTest.testRestarts
> ---
>
> Key: IGNITE-7766
> URL: https://issues.apache.org/jira/browse/IGNITE-7766
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Dmitriy Pavlov
>Assignee: Evgenii Zagumennov
>Priority: Major
>  Labels: MakeTeamcityGreenAgain, sql-stability
>
> Ignite Queries 2 
>  IgniteBinaryCacheQueryTestSuite2: 
> IgniteCacheQueryNodeRestartTxSelfTest.testRestarts (fail rate 76,1%)
> IgniteCacheQueryNodeRestartTxSelfTest.testRestarts 
>  Current failure: refs/heads/master #345 No changes 11 Feb 18 03:03
> junit.framework.AssertionFailedError: On large page size must retry.
> Last runs fails with 100% probability.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-7188) MVCC: Retry strategy on lock conflicts

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-7188:

Component/s: (was: sql)

> MVCC: Retry strategy on lock conflicts
> --
>
> Key: IGNITE-7188
> URL: https://issues.apache.org/jira/browse/IGNITE-7188
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc
>Reporter: Igor Seliverstov
>Priority: Major
>
> We need to provide some strategy to avoid lock conflicts (deadlocks), detect 
> and hanle them.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-7187) MVCC: Near caches support

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-7187:

Summary: MVCC: Near caches support  (was: SQL TX: Near caches support)

> MVCC: Near caches support
> -
>
> Key: IGNITE-7187
> URL: https://issues.apache.org/jira/browse/IGNITE-7187
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc, sql
>Reporter: Igor Seliverstov
>Priority: Major
>
> Currently near readers don't participate in SQL transactions, we need to 
> notify near readers on updates.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-6201) SQL: support merge join

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-6201.
-
Resolution: Won't Fix

Not relevant at the moment.

> SQL: support merge join 
> 
>
> Key: IGNITE-6201
> URL: https://issues.apache.org/jira/browse/IGNITE-6201
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Affects Versions: 2.1
>Reporter: Vladimir Ozerov
>Priority: Major
>  Labels: sql-engine
>
> It looks like currently the only way to join data is {{nested loops}} 
> approach. While being perfectly fine for small tables, this approach is 
> terribly inefficient for joins on large tables. We need to make sure that 
> merge join technique is used instead if join is performed on sorted 
> attributes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7859) SQL streaming support via native API

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7859.
-
Resolution: Won't Fix

Not relevant at the moment.

> SQL streaming support via native API
> 
>
> Key: IGNITE-7859
> URL: https://issues.apache.org/jira/browse/IGNITE-7859
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Alexander Paschenko
>Priority: Major
>
> In addition to streaming via thin JDBC driver, ability to run same {{SET 
> STREAMING}} command should be added to cache API.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-7187) MVCC: Near caches support

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-7187:

Component/s: (was: sql)

> MVCC: Near caches support
> -
>
> Key: IGNITE-7187
> URL: https://issues.apache.org/jira/browse/IGNITE-7187
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc
>Reporter: Igor Seliverstov
>Priority: Major
>
> Currently near readers don't participate in SQL transactions, we need to 
> notify near readers on updates.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-7966) MVCC TX Review cache/Ignite configuration for MVCC needs

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-7966:

Component/s: (was: sql)

> MVCC TX Review cache/Ignite configuration for MVCC needs
> 
>
> Key: IGNITE-7966
> URL: https://issues.apache.org/jira/browse/IGNITE-7966
> Project: Ignite
>  Issue Type: Task
>  Components: cache, mvcc
>Reporter: Igor Seliverstov
>Priority: Major
>
> We need to rethink Ignite and Cache configuration to have a control on such 
> parameters as VACUUM frequency, TxLog data-region parameters, whether MVCC 
> enabled or not for particular cache etc. Most of such parameters are 
> hardcoded now.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-8600) SQL: lazy row materialization

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-8600.
-
Resolution: Won't Fix

Not relevant at the moment. Will reopen if needed.

> SQL: lazy row materialization
> -
>
> Key: IGNITE-8600
> URL: https://issues.apache.org/jira/browse/IGNITE-8600
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Affects Versions: 2.5
>Reporter: Vladimir Ozerov
>Priority: Major
>  Labels: performance
>
> Currently our index cursor materializes rows as soon as they are encountered 
> in an index page. This is necessary to protect ourselves from concurrent data 
> modification. However, materialized rows might be filtered out later due to 
> additional filters. In addition, there is a chance that only indexed fields 
> is needed by query.
> We can do the following:
> 1) Introduce new mode that will return partially materialized rows, with only 
> inline index fields initialized. When some non-initialized attribute is 
> requested, we go to data page and materialize the whole row
> 2) Enable this mode for MVCC by default
> 3) Optionally enable this mode for non-MVCC read-only mode through additional 
> flag.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-6903) Implement new JMX metrics for Indexing

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-6903.
-
Resolution: Won't Fix

Not relevant at the moment. Will reopen if needed.

> Implement new JMX metrics for Indexing
> --
>
> Key: IGNITE-6903
> URL: https://issues.apache.org/jira/browse/IGNITE-6903
> Project: Ignite
>  Issue Type: New Feature
>  Components: sql
>Reporter: Anton Vinogradov
>Priority: Critical
>  Labels: iep-6, important
> Fix For: 2.8
>
>
> These additional metrics and methods should be implemented:
> - Space occupied by indexes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-4575) Implement wrapper for enums based on H2 user value type

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-4575.
-
Resolution: Won't Fix

Not relevant at the moment. Will reopen if needed.

> Implement wrapper for enums based on H2 user value type
> ---
>
> Key: IGNITE-4575
> URL: https://issues.apache.org/jira/browse/IGNITE-4575
> Project: Ignite
>  Issue Type: New Feature
>  Components: sql
>Reporter: Alexander Paschenko
>Priority: Major
>  Labels: sql-engine
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-8402) Long running transaction JMX

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-8402.
-
Resolution: Won't Fix

Not relevant at the moment. Will reopen if needed.

> Long running transaction JMX
> 
>
> Key: IGNITE-8402
> URL: https://issues.apache.org/jira/browse/IGNITE-8402
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Ivan Kapralov
>Priority: Major
>
> Facing necessity in Long Running Transactions JMX metric implementation.
> Needed: transaction start time, node ID, duration, cache full qualified name, 
> originator ID.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-5653) Add to query execution plan debug data for joins

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-5653.
-
Resolution: Won't Fix

Not relevant at the moment. Will reopen if needed.

> Add to query execution plan debug data for joins
> 
>
> Key: IGNITE-5653
> URL: https://issues.apache.org/jira/browse/IGNITE-5653
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Affects Versions: 2.0
>Reporter: Alexander Paschenko
>Priority: Major
>  Labels: sql-stability, usability
>
> Plan should output table type (replicated/partitioned) and colocation 
> information if possible. If we have this than we can warn (or throw 
> exception) if users try to join non colocated tables with local joins.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-5653) Add to query execution plan debug data for joins

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-5653.
---

> Add to query execution plan debug data for joins
> 
>
> Key: IGNITE-5653
> URL: https://issues.apache.org/jira/browse/IGNITE-5653
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Affects Versions: 2.0
>Reporter: Alexander Paschenko
>Priority: Major
>  Labels: sql-stability, usability
>
> Plan should output table type (replicated/partitioned) and colocation 
> information if possible. If we have this than we can warn (or throw 
> exception) if users try to join non colocated tables with local joins.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7846) SQL: support COPY command by native SQL

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7846.
-
Resolution: Won't Fix
  Assignee: (was: Taras Ledkov)

> SQL: support COPY command by native SQL
> ---
>
> Key: IGNITE-7846
> URL: https://issues.apache.org/jira/browse/IGNITE-7846
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Affects Versions: 2.3
>Reporter: Taras Ledkov
>Priority: Major
>
> The COPY command is supported only for JDBC client (IGNITE-6917).
> It must be supported by native SQL API.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-5652) Print slow query warnings on client node

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-5652.
-
Resolution: Won't Fix

Not relevant at the moment. Will reopen if needed.

> Print slow query warnings on client node
> 
>
> Key: IGNITE-5652
> URL: https://issues.apache.org/jira/browse/IGNITE-5652
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Affects Versions: 2.0
>Reporter: Alexander Paschenko
>Priority: Major
>  Labels: sql-stability, usability
>
> Currently, only worker (MAP) nodes of the query print long query execution 
> time warning to their console, for usability it would be nice to propagate 
> this to the client node as well.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7846) SQL: support COPY command by native SQL

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7846.
---

> SQL: support COPY command by native SQL
> ---
>
> Key: IGNITE-7846
> URL: https://issues.apache.org/jira/browse/IGNITE-7846
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Affects Versions: 2.3
>Reporter: Taras Ledkov
>Priority: Major
>
> The COPY command is supported only for JDBC client (IGNITE-6917).
> It must be supported by native SQL API.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-5951) DDL: Support CREATE VIEW

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-5951.
---

> DDL: Support CREATE VIEW
> 
>
> Key: IGNITE-5951
> URL: https://issues.apache.org/jira/browse/IGNITE-5951
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Vyacheslav Koptilin
>Priority: Minor
>  Labels: sql-engine
>
> Ignite should support sql VIEW.
> The issue was mentioned on Stack Overflow:
> https://stackoverflow.com/questions/45542016/unable-to-create-a-view-in-apache-ignite/45543134



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-7743) JDBC driver allows to connect to non existent schema

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-7743:

Component/s: (was: sql)

> JDBC driver allows to connect to non existent schema
> 
>
> Key: IGNITE-7743
> URL: https://issues.apache.org/jira/browse/IGNITE-7743
> Project: Ignite
>  Issue Type: Improvement
>  Components: jdbc
>Affects Versions: 2.3
>Reporter: Valentin Kulichenko
>Priority: Major
>  Labels: usability
>
> Currently, if one creates a cache without DDL (via {{QueryEntity}} or 
> {{indexedTypes}}), separate schema for this cache is created. Schema name is 
> case sensitive, so to connect to it with JDBC driver, it's required to 
> provide the name in quotes. Here is how it looks like in SqlLine:
> {noformat}
> ./bin/sqlline.sh -u jdbc:ignite:thin://127.0.0.1/\"CacheQueryExamplePersons\"
> {noformat}
> However, if name is provided without quotes, driver still connects, but then 
> fails with a very unclear exception when a query is executed:
> {noformat}
> ./bin/sqlline.sh -u 
> jdbc:ignite:thin://127.0.0.1/CacheQueryExamplePersons{noformat}
> This is a huge usability issue. We should disallow connections to schema that 
> does not exist, throw exception in this case. Exception should provide proper 
> explanation how to connect properly.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-10937) Support data page scan for JDBC

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-10937:
-
Component/s: (was: sql)
 jdbc

> Support data page scan for JDBC
> ---
>
> Key: IGNITE-10937
> URL: https://issues.apache.org/jira/browse/IGNITE-10937
> Project: Ignite
>  Issue Type: Improvement
>  Components: jdbc
>Reporter: Sergi Vladykin
>Assignee: Pavel Kuznetsov
>Priority: Major
>  Labels: performance
>
> In scope jdbc v2 and thin drivers
> We need to add connection property that reflects states of data page scan 
> feature: enabled/disabled/not defined.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-6261) ODBC support for Mac OSX

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-6261:

Component/s: (was: sql)

> ODBC support for Mac OSX
> 
>
> Key: IGNITE-6261
> URL: https://issues.apache.org/jira/browse/IGNITE-6261
> Project: Ignite
>  Issue Type: Improvement
>  Components: odbc
>Affects Versions: 2.1
> Environment: Analytics
>Reporter: Pranas Baliuka
>Assignee: Igor Sapego
>Priority: Major
>  Labels: usability
>
> In order for Ignite to be useful in analytics environment (accessing data via 
> R / Most reporting engines), the ODBC access is required.
> Analyst do use Mac OSX (not only Linux/Windows).
> The current ODBC driver is not compilable on OSX due to 1-2 different kernel 
> API functions.
> Similar incompatibility issues are already resolved in similar projects using 
> conditional macros in C language. i.e. it may not be a big challenge to make 
> it work.
> Thanks for planning and considerations!
> PS:
> For my use case the issue is a Blocker, because rJAVA is dead (requires Java 
> 6 installation on Mac OSX) and even with rJAVA , the JDBC implementation is 
> not working for R (class cast exceptions).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-11309) JDBC Thin: add flag or property to disable best effort affinity

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-11309:
-
Component/s: (was: sql)
 jdbc

> JDBC Thin: add flag or property to disable best effort affinity
> ---
>
> Key: IGNITE-11309
> URL: https://issues.apache.org/jira/browse/IGNITE-11309
> Project: Ignite
>  Issue Type: Task
>  Components: jdbc
>Affects Versions: 2.8
>Reporter: Alexander Lapin
>Priority: Major
>  Labels: iep-23
>
> It's necessary to have an ability to disable best effort affinity among thin 
> clients including thin jdbc client.
> It's not obvious whether it should be flag in connection string, app 
> properties or some other place, so research required.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-7164) MVCC: Remap protocol

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-7164:

Component/s: (was: sql)

> MVCC: Remap protocol
> 
>
> Key: IGNITE-7164
> URL: https://issues.apache.org/jira/browse/IGNITE-7164
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc
>Reporter: Igor Seliverstov
>Priority: Minor
> Fix For: 2.8
>
>
> We need to provide remap protocol on topology changes



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-7164) MVCC: Remap protocol

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-7164:

Summary: MVCC: Remap protocol  (was: SQL TX: Remap protocol)

> MVCC: Remap protocol
> 
>
> Key: IGNITE-7164
> URL: https://issues.apache.org/jira/browse/IGNITE-7164
> Project: Ignite
>  Issue Type: Task
>  Components: mvcc, sql
>Reporter: Igor Seliverstov
>Priority: Minor
> Fix For: 2.8
>
>
> We need to provide remap protocol on topology changes



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-9771) Indirect SQL queries are failing

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-9771.
-
Resolution: Won't Fix

Not relevant at the moment.

> Indirect SQL queries are failing
> 
>
> Key: IGNITE-9771
> URL: https://issues.apache.org/jira/browse/IGNITE-9771
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 2.7
>Reporter: Sergey Grimstad
>Assignee: Sergey Grimstad
>Priority: Major
> Fix For: 2.8
>
> Attachments: sgrimstad_IGNITE_9771_implementation_.patch
>
>
> Attempt to sql query (not sql fields query ) another cache's type leads to 
> exception:
> Caused by: class 
> org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to 
> find SQL table for type: ...
> IgniteH2Indexing#queryDistributedSql in the beginning of the method logic 
> there is check of schemaName, cacheName and type. First two parameters passed 
> belong to called cache while third belongs to target cache. This combination 
> leads to the exception mentioned.
>  # Create tests to reproduce the situation
>  # Fix problem
>  # Enable commented out tests with 'todo' and this ticket number reference



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-9644) SQL: local DML query should pin affected partitions

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-9644.
-
Resolution: Won't Fix

Not relevant at the moment.

> SQL: local DML query should pin affected partitions
> ---
>
> Key: IGNITE-9644
> URL: https://issues.apache.org/jira/browse/IGNITE-9644
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Sergey Grimstad
>Priority: Major
> Fix For: 2.8
>
>
> Related to IGNITE-7039. Need to expand for DML. Commented out test market as 
> TODO: IGNITE-9644



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-9644) SQL: local DML query should pin affected partitions

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-9644.
---

> SQL: local DML query should pin affected partitions
> ---
>
> Key: IGNITE-9644
> URL: https://issues.apache.org/jira/browse/IGNITE-9644
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Sergey Grimstad
>Priority: Major
> Fix For: 2.8
>
>
> Related to IGNITE-7039. Need to expand for DML. Commented out test market as 
> TODO: IGNITE-9644



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (IGNITE-7687) SQL SELECT doesn't update TTL for Touched/AccessedExpiryPolicy

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov updated IGNITE-7687:

Issue Type: Task  (was: Improvement)

> SQL SELECT doesn't update TTL for Touched/AccessedExpiryPolicy
> --
>
> Key: IGNITE-7687
> URL: https://issues.apache.org/jira/browse/IGNITE-7687
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Affects Versions: 2.5
>Reporter: Stanislav Lukyanov
>Priority: Major
>
> SQL SELECT queries don't update TTLs when TouchedExpiryPolicy or 
> AccessedExpiryPolicy is used (unlike IgniteCache::get which does update the 
> TTLs).
> Example (modified SqlDmlExample):
> 
> CacheConfiguration orgCacheCfg = new 
> CacheConfiguration(ORG_CACHE)
> .setIndexedTypes(Long.class, Organization.class)
> .setExpiryPolicyFactory(TouchedExpiryPolicy.factoryOf(new 
> Duration(TimeUnit.SECONDS, 10)));
> 
> IgniteCache orgCache = 
> ignite.getOrCreateCache(orgCacheCfg);
> 
> SqlFieldsQuery qry = new SqlFieldsQuery("insert into Organization (_key, 
> id, name) values (?, ?, ?)");
> orgCache.query(qry.setArgs(1L, 1L, "ASF"));
> orgCache.query(qry.setArgs(2L, 2L, "Eclipse"));
> 
> SqlFieldsQuery qry1 = new SqlFieldsQuery("select id, name from 
> Organization as o");
> for (int i = 0; ;i++) {
> List> res = orgCache.query(qry1).getAll();
> print("i = " + i);
> for (Object next : res)
> System.out.println(">>> " + next);
> U.sleep(5000);
> }
> 
> Output:
> >>> i = 0
> >>> [1, ASF]
> >>> [2, Eclipse]
> >>> i = 1
> >>> [1, ASF]
> >>> [2, Eclipse]
> >>> i = 2
> >>> i = 3
> ...



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-10934) Order fields don't work in ignite field queries

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-10934.


> Order fields don't work in ignite field queries 
> 
>
> Key: IGNITE-10934
> URL: https://issues.apache.org/jira/browse/IGNITE-10934
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 2.7
>Reporter: Gaurav Rawat
>Priority: Major
>
> There is an issue when we use fields woth a field such as order . seems the 
> H2 query engine recognizes this is a  keyword . 
> example query :
> SELECT fund.fund_id, fund.close_dt, fund.idea_id, pm .order  FROM "fund".FUND 
> fund LEFT JOIN "pm ".PM pm ON fund.FUND_ID = pm .FUND_ID limit 40
>  
> error : 
>  
> {code:java}
> Caused by: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement .
> at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
>  at org.h2.message.DbException.getSyntaxError(DbException.java:217)
>  at org.h2.command.Parser.readColumnIdentifier(Parser.java:3507)
>  at org.h2.command.Parser.readTermObjectDot(Parser.java:2964)
>  at org.h2.command.Parser.readTerm(Parser.java:3095)
>  at org.h2.command.Parser.readFactor(Parser.java:2587)
>  at org.h2.command.Parser.readSum(Parser.java:2574)
>  at org.h2.command.Parser.readConcat(Parser.java:2544)
>  at org.h2.command.Parser.readCondition(Parser.java:2370)
>  at org.h2.command.Parser.readAnd(Parser.java:2342)
>  at org.h2.command.Parser.readExpression(Parser.java:2334)
>  at org.h2.command.Parser.parseSelectSimpleSelectPart(Parser.java:2245)
>  
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7548) SQL COPY: handle CSV lines with less values than required correctly

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7548.
---

> SQL COPY: handle CSV lines with less values than required correctly
> ---
>
> Key: IGNITE-7548
> URL: https://issues.apache.org/jira/browse/IGNITE-7548
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>
> Currently some of lines in CSV files can have less values than declared in 
> the command or CSV header.
> We need to think how do we handle such rows:
> * append empty values ("") for the missing trailing columns
> * append null values
> * reject such lines and report an error
> We might need a COPY command parameter to configure the desired behaviour.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7554) SQL COPY: consider providing support for the command in batch mode

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7554.
-
Resolution: Won't Fix

Not relevant for now.

> SQL COPY: consider providing support for the command in batch mode
> --
>
> Key: IGNITE-7554
> URL: https://issues.apache.org/jira/browse/IGNITE-7554
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>
> Currently SQL COPY command rejects to execute in JDBC batch mode (via 
> java.sql.Statement.addBatch() + executeBatch()).
> If we want COPY to be executed in batch mode we need to implement it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (IGNITE-7545) SQL COPY command: implement duplicate handling strategy

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov closed IGNITE-7545.
---

> SQL COPY command: implement duplicate handling strategy
> ---
>
> Key: IGNITE-7545
> URL: https://issues.apache.org/jira/browse/IGNITE-7545
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>
> The SQL COPY command should have user-configurable policy of handling 
> duplicate records:
> {noformat}
> COPY
> ...
>  [(REPLACE | IGNORE| ABORT ON [])) DUPLICATE KEYS]
> {noformat}
> This handling might be not available for some backends (e.g., streamer).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7544) SQL COPY command: implement statistics gathering and error reporting

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7544.
-
Resolution: Won't Fix

Not relevant for now.

> SQL COPY command: implement statistics gathering and error reporting
> 
>
> Key: IGNITE-7544
> URL: https://issues.apache.org/jira/browse/IGNITE-7544
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>
> In the COPY command we might be interested in how many rows:
> * have been added
> * have been updated
> * have been skipped
> * had errors
> The numbers above can be reported as a row with corresponding columns. Errors 
> can be reported as a cursor with appropriate rows.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7545) SQL COPY command: implement duplicate handling strategy

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7545.
-
Resolution: Won't Fix

Not relevant for now.

> SQL COPY command: implement duplicate handling strategy
> ---
>
> Key: IGNITE-7545
> URL: https://issues.apache.org/jira/browse/IGNITE-7545
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>
> The SQL COPY command should have user-configurable policy of handling 
> duplicate records:
> {noformat}
> COPY
> ...
>  [(REPLACE | IGNORE| ABORT ON [])) DUPLICATE KEYS]
> {noformat}
> This handling might be not available for some backends (e.g., streamer).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (IGNITE-7546) SQL COPY command: implement CSV header row parsing

2019-02-14 Thread Vladimir Ozerov (JIRA)


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

Vladimir Ozerov resolved IGNITE-7546.
-
Resolution: Won't Fix

Not relevant for now.

> SQL COPY command: implement CSV header row parsing
> --
>
> Key: IGNITE-7546
> URL: https://issues.apache.org/jira/browse/IGNITE-7546
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 2.4
>Reporter: Kirill Shirokov
>Priority: Major
>
> Implement optional reading of CSV format header row and matching it to column 
> numbers.
> So, there are the following options:
> * just skip the header row (or arbitrary number of rows)
> * match the fields in the header row to the query entity columns and map them 
> to the column list
> A possible syntax for this option might look like this:
> {noformat}
> COPY
> ...
> [(MATCH | SKIP) HEADER]
> {noformat}
> When implementing this feature please keep in mind that we might have an 
> option for skipping user-specified number of header lines / left columns and 
> importing only user-specified number of lines and columns.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


<    1   2   3   4   5   >