[h2] help picking H2 version

2016-10-20 Thread Adam McMahon
Hi Group,

Sorry if I am being repetitive here, but I am still a little confused about 
which H2 version to pick.  I have the following needs:

[1] JSBC with PageStore

[2] MVStore Map API with OffHeapBuffer

what is the recommended stable version for those two features?

-Adam


-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


[h2] Re: The date of next 1.4 release

2016-10-20 Thread Petr Holík
Hi,

 I was too supprised how much commits is above last release in branch 
and its not released.
  
 Is there any work(related to release) which can be delegated to 
volunteers(maybe I can help)?


Sicerely Petr Holik


Dne čtvrtek 20. října 2016 5:34:30 UTC+2 vraim...@gmail.com napsal(a):
>
> Branch 'master' has important bug fixes and improvements but they are not 
> released. What is the date of next 1.4 release?
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


[h2] Re: Main differeces between 1.3 and 1.4 versions

2016-10-20 Thread Petr Holík
Hi, 

thanks for some more info. About performance I've came from some opinions 
here in google group and in H2 website. But I do no have yet direct 
comparsion. But, when I have some idle time(if ever) i'll do some 
comparsion on my database (cca 60 tables) and mix about 500 SQL which we 
use in our app and post result here.


Sincerely Petr Holik



Dne čtvrtek 20. října 2016 9:49:19 UTC+2 Steve McLeod napsal(a):
>
> A good summary. Let me add some more info.
>
>  * 1.4 can be used for production same as 1.3 when 
>> ;MV_STORE=FALSE;MVCC=FALSE  is appended to JDBC URL (MVCC is now 
>> disabled when not using MV_STORE - so potetionally can be omited)
>>
>
> Appending ;MV_STORE=FALSE to the JDBC URL is enough to use the PageStore 
> (the solid, reliable. database storage mechanism used in H2 1.3. You do 
> mention this, but let's make it explicit!
>  
>
>>  * MV_STORE should now have pretty similar performance as old one
>>
>
> I disagree. In my own performance tests, the MV_STORE (as of H2 1.4.192) 
> becomes much slower on a large database (say, > 1 GB) with many SQL UPDATE 
> statements.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


[h2] Re: Main differeces between 1.3 and 1.4 versions

2016-10-20 Thread Petr Holík
Hello,

I definevely agree with the latest version(1.4.192), but you have to decide 
if to use(or not to use MV_STORE). Which in my opinion depends at least on:
1) Which degree of risk is acceptable for you. MV_STORE is more riskious - 
is still in beta and many users including me, are afraid of using beta in 
production
2) Do you need the features provided by MV_STORE
3) Performance test - if performance is an issue for you. Make test on your 
typical HW (MV_STORE should be good for SSDs) and typical workload. 

I've using H2 for about 5 years and it's pretty good and fast (compared to 
Derby which I've used before). But its definitely not bug free :( I've had 
about 100 installation of H2 which varies in size from 10MB - 1GB and I've 
encountered some bugs(which are now probably fixed)
1) Non functional unique key constraits
2) Not using indexes on same simple SQL stament which as prepared statems 
was executes in about 2ms and as not prepared staments takes few seconds - 
when I have time I am going to test it on 1.4
3) Terrible performannce and size requirements (20x size of data of source 
h2 db) if using linked tables and performing large dataset SQLs against 
linked tables
4) Not using indexes for sorting in reverse order

So please do not take this as criticism of H2 its definitely awesome 
product. I've just want to say if you going to be used beta features or 
features which is not widely used/tested(linked tables/cluster mode/MVCC) 
be prepared to facing bugs.

I personally am slowly migrating my 100 installations to from various 
version 1.3.X (ranging from 152) to latest 1.4.192 with disabled MV_STORE. 
For me realibility is criticial. I have in DB some sort of financial data.

BTW.: I think if you are using pagestore via JDBC then it would be possible 
to use MV_STORE via the map api together(but not via JDBC in same JVM) (if 
you want to have rock solid store for JDBC data and feature full store for 
other data)

Sincerely Petr Holik

Dne čtvrtek 20. října 2016 9:49:39 UTC+2 Steve McLeod napsal(a):
>
> Only the latest (H2 1.4.192)
>
> On Tuesday, 18 October 2016 23:44:43 UTC+2, Adam McMahon wrote:
>>
>> Good info here
>>
>> So, what version of 1.4x would you use in your production environment.   
>> I use pagestore for JDBC, but am also going to be integrating MVSTORE via 
>> the map api (not JDBC) using its OffHeapStore.  What version would you 
>> recommend.
>>
>> Thanks,
>>
>> -Adam
>>
>> On Tuesday, October 18, 2016 at 4:24:33 PM UTC-4, Petr Holík wrote:
>>>
>>> Hello,
>>>
>>> I've done some investigation of relation between 1.3(stable) 
>>> and1.4(beta) - Hope it somebody helps to pick proper version for conrete 
>>> suits.
>>> Please feel free to correct me:
>>>
>>>  * Development of version 1.3 is discontinued - all bugs found are fixed 
>>> only in 1.4 version
>>>  * Git branch tagged version1.3 only contains snapshot of released 
>>> sources of particular 1.3 versions and there is not and WILL NOT be any 
>>> further development
>>>  * 1.4 is Beta because of new MV_STORE which is default since 1.4.177 
>>> AND because of MVCC enabled
>>>  * 1.4 can be used for production same as 1.3 when 
>>> ;MV_STORE=FALSE;MVCC=FALSE  is appended to JDBC URL (MVCC is now 
>>> disabled when not using MV_STORE - so potetionally can be omited)
>>>  * MV_STORE has few data corruption issues  but since 2015-10-11 is 
>>> there was no new one
>>>  * MV_STORE should now have pretty similar performance as old one but 
>>> delivers some new cool Map-Like  features, which can be used 
>>> directly.
>>>  * There are no _unfixed known bugs_ on MV_STORE but there still exists 
>>> few open data corruption bugs related to this store(which may or may not be 
>>> caused by it)
>>>
>>>
>>> Sincerely Petr Holik
>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


Re: [h2] INSERT .. ON DUPLICATE KEY UPDATE may not work depending on table indexes order and columns participating in statement

2016-10-20 Thread Noel Grandin



On 2016/10/19 2:24 PM, Filipp Zhinkin wrote:


Suppose we have following table:

CREATE TABLE test_table (
  id INT,
  dup INT,
  counter INT,
  UNIQUE(dup),
  PRIMARY KEY(id)
);

I'm expecting to observe counter == 2 after following statements being executed:

INSERT INTO test_table (id, dup, counter) VALUES (1, 1, 1);
INSERT INTO test_table (id, dup, counter) VALUES (2, 2, 2) ON DUPLICATE KEY 
UPDATE counter = counter + VALUES(counter);

But counter's value for row with id == 1 may still be 1.



Are you sure you meant to write the test like this?
Because you have ID as the primary key, which means after the two INSERTS, the 
table should look like:

select * from test_table;
ID  DUP COUNTER
1   1   1
2   2   2

Because the second insert is using a different ID, which means that the "ON 
DUPLICATE KEY" logic does not trigger.

And H2 appears to correctly handle this.

--
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


[h2] Re: Entries in a table containing Geometries cannot be found when the Geometry is empty ( Row not found when trying to delete from index )

2016-10-20 Thread Sven
..forgot to mention, the *get* function takes place in MVRTreeMap.java.

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


[h2] Re: Main differeces between 1.3 and 1.4 versions

2016-10-20 Thread Steve McLeod
Only the latest (H2 1.4.192)

On Tuesday, 18 October 2016 23:44:43 UTC+2, Adam McMahon wrote:
>
> Good info here
>
> So, what version of 1.4x would you use in your production environment.   I 
> use pagestore for JDBC, but am also going to be integrating MVSTORE via the 
> map api (not JDBC) using its OffHeapStore.  What version would you 
> recommend.
>
> Thanks,
>
> -Adam
>
> On Tuesday, October 18, 2016 at 4:24:33 PM UTC-4, Petr Holík wrote:
>>
>> Hello,
>>
>> I've done some investigation of relation between 1.3(stable) and1.4(beta) 
>> - Hope it somebody helps to pick proper version for conrete suits.
>> Please feel free to correct me:
>>
>>  * Development of version 1.3 is discontinued - all bugs found are fixed 
>> only in 1.4 version
>>  * Git branch tagged version1.3 only contains snapshot of released 
>> sources of particular 1.3 versions and there is not and WILL NOT be any 
>> further development
>>  * 1.4 is Beta because of new MV_STORE which is default since 1.4.177 AND 
>> because of MVCC enabled
>>  * 1.4 can be used for production same as 1.3 when 
>> ;MV_STORE=FALSE;MVCC=FALSE  is appended to JDBC URL (MVCC is now 
>> disabled when not using MV_STORE - so potetionally can be omited)
>>  * MV_STORE has few data corruption issues  but since 2015-10-11 is there 
>> was no new one
>>  * MV_STORE should now have pretty similar performance as old one but 
>> delivers some new cool Map-Like  features, which can be used 
>> directly.
>>  * There are no _unfixed known bugs_ on MV_STORE but there still exists 
>> few open data corruption bugs related to this store(which may or may not be 
>> caused by it)
>>
>>
>> Sincerely Petr Holik
>>
>>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


[h2] Re: Main differeces between 1.3 and 1.4 versions

2016-10-20 Thread Steve McLeod
A good summary. Let me add some more info.

 * 1.4 can be used for production same as 1.3 when 
> ;MV_STORE=FALSE;MVCC=FALSE  is appended to JDBC URL (MVCC is now disabled 
> when not using MV_STORE - so potetionally can be omited)
>

Appending ;MV_STORE=FALSE to the JDBC URL is enough to use the PageStore 
(the solid, reliable. database storage mechanism used in H2 1.3. You do 
mention this, but let's make it explicit!
 

>  * MV_STORE should now have pretty similar performance as old one
>

I disagree. In my own performance tests, the MV_STORE (as of H2 1.4.192) 
becomes much slower on a large database (say, > 1 GB) with many SQL UPDATE 
statements.


-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.


Re: [h2] H2 compatibility with Oracle

2016-10-20 Thread Noel Grandin
Our compatibility with things like that is not perfect.

I am always happy to accept patches, however.
​

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.