you will be probably need to do a dump/restore
--
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 view this discussion
Use the SCRIPT command to generate a .sql script, and then tweak that as
necessary to successfully import into MS-SQL.
--
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
we don't have "deferred" constraints, constraints are checked for every
row, rather than at the end of the transaction.
So it's a case of a missing feature, but we're unlikely to implement it in
the near future.
--
You received this message because you are subscribed to the Google Groups "H2
No, we don't do columnar compression.
--
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 view this discussion on the
No, that sounds like a bug, please log an issue on github, preferably with a
self-contained test case
--
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
something like
file:///c:/tmp/db
should work
--
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 view this
that sounds like either
(a) a bug in the part of the code that does compaction.
(b) some very subtle corruption that confused the compaction code
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving
On 2020/01/23 11:44 AM, Alfonso Vidal wrote:
I am trying to do JUnit tests with H2, and my APP is configurated to work with
PostgreSQL, and with ACL's Spring Boot.
We have a variety of shims for our Postgresql mode in pg_catalog.sql, but we
only cover the basics (as you discovered)
I
try doing
EXPLAIN
instead of
EXPLAIN ANALYZE
the second ones actually runs the query and records times, the first one
just returns the query plan
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop
On 2019/12/10 3:16 PM, R. Menezes wrote:
In our software we have a lot of threads that acess the database and write data
simultaneously in h2 file.
*Is it a problem?*
No, that is not a problem.
--
You received this message because you are subscribed to the Google Groups "H2
Database"
I don't see any signs of corruption.
Most likely what is happening is that your anti-virus is quarantining your database file, and your application is
creating a new file where the database used to be.
--
You received this message because you are subscribed to the Google Groups "H2
Database"
there is a QUERY_STATISTICS table and a SESSIONS table
you have to enable the statistics with
http://h2database.com/html/commands.html#set_query_statistics
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop
your best bet is to use either the H2 profiler, or something like VisualVM
to catch some stack traces to see where the code is spending it's time.
http://h2database.com/html/performance.html#built_in_profiler
Post your trace here and somebody might be able to give you some ideas.
Otherwise you
might be easier to use the unix uniq or sort -u commands or something
similar, followed by
CREATE TABLE AS .. SELECT
DISTINCT is problematic because it requires building a huge set before
perfomring the insert.
Or use the MERGE command to avoid the DISTINCT step.
Also turn off lthe undo log
the problem is that H2 is trying to convert the argument to a valid type and because it doesn't know how to deal with
Number, ends up in a fallback path that produces a less than useful error message.
Probably we should just remove that fallback path and instead throw a
conversion error.
probably you are triggering the periodic auto-compact/GC then.
You can either dial it back to run less (at the expensive of using more disk space), or try the latest .200 version,
where Andrei Tokar improved the GC runtime.
--
You received this message because you are subscribed to the Google
which version of H2, and what does your database URL look like?
--
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 view
Hi
Would you mind trying without split? Just to try and isolate the component at
fault.
Thanks.
--
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
that is some kind of corruption being triggered during the compact phase when
the db closes.
you could work around that by disabling compaction, by appending
";MAX_COMPACT_TIME=0" to the connection URL
--
You received this message because you are subscribed to the Google Groups "H2
… this storage is not virtualised like in the Docker/cloud
scenario: it’s an emulated hard disc drive, on which a normal
ext4 filesystem is used locally.
THe emulated part is possibly the problem - some filesystem related thing is re-using inode-no/device-no pairs, which
appears to
looks very similar to
https://github.com/h2database/h2database/issues/2152
so probably java is not liking virtualised storage for some reason
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving
Just drop the MVCC param, it will use MVSTore by default, even for in-mem
databases, which is naturally an MVCC engine
--
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
Lots of great improvements in this release, performance and reliability is
definitely much better,
and a ton of thanks to Evgenij Ryazanov and Andrei Tokar for all their hard
work.
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To
The eclipse heap has no effect on the heap of the program you're running,
you need to tweak the startup VM parameters under the run/debug stuff
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving
On 2019/10/10 1:21 PM, Tim Fielder wrote:
Rebuilt using the latest code from Tuesday, still doesn't work. Going to try
the manual sharding thing next.
Ah, that is a pity.
Before doing that, maybe try manually giving Java lots and lots of memory (e.g. -XmX64G), your machine will
Otherwise another trick you can try is manually sharding your query, something
like
SELECT ...
WHERE docid % 10 == 0
SELECT ...
WHERE docid % 10 == 1
...
SELECT ...
WHERE docid % 10 == 9
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To
On 2019/10/09 2:35 PM, Tim Fielder wrote:
Is it just the case that any conditional SELECT will fail once a table reaches
a certain size?
Quite possibly that code was not smart enough to spool to disk when exceeding
RAM size.
You could try building from master and using that, Evgenij
On Mon, 7 Oct 2019 at 20:58, Tim Fielder wrote:
> I also wanted to ask about performance differences across database modes.
> Right now I'm constructing the database in file mode and just storing it on
> the same machine that's running the application. I can't set up an actual
> server to
On 2019/10/07 1:32 PM, Tim Fielder wrote:> The problem with this approach is that since the tables are indexed, the
insert time grows quadratically with the size
> of the table. As a result I can handle 230,000 articles in about 2 hours,
but the full 46.7 million will take at least
> 300
On Wed, 25 Sep 2019 at 04:30, 'Peter Borissow' via H2 Database <
h2-database@googlegroups.com> wrote:
> select date,description,amount from transaction offset 0 limit 50
>
>
swap that to
select date,description,amount from transaction limit 50 offset 0
at some point we became a little stricter
you need to have the postgres jdbc driver jar on the classpath
--
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 view
You have a corrupted database. Your best bet is to export to script and
re-create it.
--
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
On Mon, 9 Sep 2019 at 17:45, Matt Pavlovich wrote:
>
> Would you kindly elaborate on your last statement there about H2 is not
> intended to be used over a complex client network?
>
>
H2 is intended (mostly) to be small, reasonably fast, and reasonably
effective, without being overly
You
On Mon, 9 Sep 2019 at 13:47, 'Christian Buchegger' via H2 Database <
h2-database@googlegroups.com> wrote:
> I would like to get feedback on the below two proposals:
>
>1. Add a function abort_session:
>Abort current command and call session.close() so that the locks and
>
nobody is working on the HA feature to my knowledge
--
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 view this
On 2019/08/29 7:01 AM, areichel wrote:
1) would it not be possible to throw a more meaningful exception, e.g. "Failed to
allocate table space"
We generally do, in fact we have unit tests that check that, but obviously we missing something. Very hard to get error
handling right everywhere,
Sequences are not specified to be continuous, they can have gaps, and on some databases they can even be allocated out
of order.
--
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,
possibly we just need an error message when the number of columns in the first line does not match the number of columns
in the data rows
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving emails
As we said earlier, SQL does not guarantee the sort order of results.
You screwed up, and wrote bad tests, and now you need to fix them.
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving emails
Unless you are using an ORDER BY clause, the order of results is undefined
in SQL, so it can change at any time
>
>
--
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
https://h2database.com/html/license.html
--
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 view this discussion on the
You can't go EXCLUSIVE and then delete a database.
But perhaps you mean overwrite, in which case this flow should be fine.
--
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
Startup/shutdown we largely assume is the responsibility of some higher level
component.
For backup/restore, what we have is SET EXCLUSIVE
http://h2database.com/html/commands.html#set_exclusive
We have basic infrastructure such code could be built-on, the admin database stuff, which was,
That looks like a reasonable design
--
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 view this discussion on the web
Yeah, because snark is really motivating to volunteer run projects.
It is fixed. There are several options, ranging from using "async:" to
"retry:" to "tcp:".
I suggest "async:" as the best option, followed by "tcp:", "retry:" is
really a last-ditch resort because it might interact in weird ways
On Fri, 19 Jul 2019 at 21:20, Tim Fielder wrote:
> On Friday, July 19, 2019 at 12:47:00 PM UTC-4, Noel Grandin wrote:
>>
>> Use the SCRIPT coomand or tool to dump and restore the db, that is more
>> reliable.
>>
>
> I'm not trying to load a database buil
Use the SCRIPT coomand or tool to dump and restore the db, that is more
reliable.
--
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
Your best bet involves building your own copy of H2 and selectively
disabling the chunks of code that are throwing exceptions.
That is however, an error right near the beginning when the critical
metadata structures are being loaded, so I wouldn't hold out a lot of hope
of getting much data back.
You can call cancel() on a Statement, but the way that H2 implements
cancel() means that only some stages of query processing can be
interrupted. So how effective it is, depends on where the query is getting
stuck.
--
You received this message because you are subscribed to the Google Groups "H2
You can append BUILTIN_ALIAS_OVERRIDE=1 to your H2 URL and it will allow
overriding the normal functions.
--
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
This has come up several times before, and the reply I gave there was that we have a FilePath abstraction which sits
between our engine and various kind of storage backends (memory, disk, etc).
It should be possible to
(a) restore a disk file to an in-memory backend, since the FilePath
On Wed, 22 May 2019 at 11:52, Noel Grandin wrote:
>
> One workaround is that you can use EXCLUSIVE_MODE for index creation:
>
>
meh, ignore me, that won't help.
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsub
One workaround is that you can use EXCLUSIVE_MODE for index creation:
http://h2database.com/html/commands.html#set_exclusive
--
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,
On 2019/05/22 11:21 AM, Silvio wrote:
To determine our options I would like to raise my earlier question again: is there a binary difference in
MVStore/PageStore formats between version 199 and 196? In other words: would it be safe to revert to 196 without doing
dump/recreate cycles for all
If you are trying to prevent users from exceeding memory resources, your
best bet is just to use a connection pool and limit the max number of
connections.
Note that even if a user issues multiple queries in parallel to the same
connection, those queries will execute sequentially server-side.
I
On 2019/05/21 4:21 PM, Silvio wrote:
The database URLs currently look like:
None of that sounds problematic. You might be able to work around this issue simply by telling your pool to keep
connections alive for longer, which will reduce the number of startup/shutdown cycles each database
What does one of your database URLs look like?
Are you perhaps call Thread.interrupt somewhere?
If so, that would close the database abruptly and force it to be re-opened on
the next connection attempt.
Doing that enough times is likely to cause corruption, because all kinds of stuff could be
On 2019/05/21 9:52 AM, christoff.schm...@finaris.de wrote:
I tracked this down to the *rebuildIndexBlockMerge *method of the *MVTable
*class (see below).
As I saw that the *MAX_MEMORY_ROWS *parameter is used in the method, I changed
its values and tried again.
With set to 1000 the index
Now I remember why - recursive table queries.
On Sun, 5 May 2019 at 08:11, Evgenij Ryazanov wrote:
> PreparedStatement re-parses such queries during each invocation.
>
> And we also have another known problem with CTEs: temporary views from
> different statements may conflict with each other.
Its unfortunate that we are creating and destroying local temp tables for
each query - since we're using a PreparedStatement, they should ideally be
cached and only dropped when the connection is closed.
But I remember trying to improve our CTE architecture and not having much
luck. The lifecycle
what do your test results look like with 200 threads?
I'm guessing Christian's test case is mostly testing contention on hot
locks.
--
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
>From reading the .jmx file, it looks like JMeter will populate the database
from the CSV file, and then run a query (specified inside the JMX file)
from multiple simultaneous threads.
Should be able to run a profiler on the H2 instance while the JMeter test
is running.
Not as nice as standalone
@Evgenij looks like the way it works is to open the .jmx file in Apache
JMeter
https://jmeter.apache.org/
and run the test plan
--
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,
We don't really have a stable vs bleeding edge anymore, the 1.4 series are
all pretty stable.
What I would suggest you do is
(*) take a look at the commits since the last release and the comments on
the mailing list, and decide if any of them constitute show stoppers for you
(*) run your unit
So you're testing in-memory only?
Hmmm, then your results are kind of what I expect. If you're testing
in-memory, you are testing the cost of our parsing and storage management
layers.
Which have become more expensive as we have become more sophisticated.
If you really care about in-memory
On 2019/04/26 4:15 PM, Christian MICHON wrote:
@Evgenij : it's not rocket science to build such scenario, if you need such performance test scenario, I'll share it on
github (it's not confidential).
Yes please, let's see the test case.
--
You received this message because you are
Nope
--
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.
No.
But in terms of effort, it would probably be easier to fix up any issues
with the H2 Postgres driver than to write a whole new one.
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving emails
Hi
I'm sorry, but the MVCC option has been removed altogether. If you need it for your product, your only option is to
either stay on an older version of H2, or perform some classloader magic, and pick the version of H2 you want to use at
runtime.
Regards, Noel.
--
You received this message
Do you have an idea how to achieve it when the database is in-memory?
Our byte storage level backends all emulate a kind of filesystem abstraction, so in theory you could copy in-memory
files around too.
See the org.h2.store.fs.Filepath class
You'd need to do some experimentation, and you
just make a file copy of the underlying database and copy it back for each
test?
--
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
This is how Java works.
It has a JIT, which means that the first few times through a loop are very slow, until the JIT converts bytecode down to
machine instructions, after which things become reasonably fast.
In your test, the first few times through the first loop are going to very very
Why are you not just using the SCRIPT command or the Script tool?
That already exports schema and data
--
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
That doesn't make any sense. I do similar transformations all the time, and
their running time is always roughly O(n).
H2 basically builds a new table with new data, and then drops the old table and
replaces it with the new.
I suspect you have some other code getting in the way somehow (e.g.
On Sun, 24 Feb 2019 at 05:53, Evgenij Ryazanov wrote:
>
>
Yes, there is a way to break “security”. Another user on the same home
> computer or terminal server can create an own database, make its file
> readable by other users, open H2 Console launched by another user and
> connect to it.
>
>
> Do you have a link to the relevant Apache code? Perhaps we can suggest
> something that doesn't need to touch internal classes
>
--
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
On Sat, 23 Feb 2019 at 16:52, Evgenij Ryazanov wrote:
> H2 allows unlimited access to underlying system for everyone if creation
> of new databases is allowed.
>
>
>
If you are running the console against local databases, you're doing
anything you're already allowed to do. We just made it less
Hmm, that's really not ideal.
The Console is a great way to just open and create random local disk and
memory databases, it would be a pity is some stupid
"enterprise-requirement-security" got in the way.
--
You received this message because you are subscribed to the Google Groups "H2
Everything in H2 is internal unless specified otherwise.
--
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
you need to give it a name
jdbc:h2:mem:test1
--
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,
I'm afraid not
--
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
On 2019/01/29 11:46 AM, Silvio wrote:
Additionally, I did the same test on the successfully converted database (an MVStore one, that is). Same results: OOM
when trying this in read-only mode and successful without that option.
The "read-only" mode of H2 is I'm afraid not very well tested,
Just use the Script command line tool:
http://h2database.com/html/tutorial.html#upgrade_backup_restore
or make the SCRIPT command do the writing to disk:
http://h2database.com/html/grammar.html#script
--
You received this message because you are subscribed to the Google Groups "H2
Database"
ah, this is the gatekeeper thing you are talking about. Yeah, we really
don't intend that you run H2 directly in OSX, you should be wrapping your
application around it, firing it up with your own script or from inside
your own program.
Then you can sign your own program/script with the necessary
what does "properly identified" mean?
--
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
I think Andrei Tokar did a bunch of fixes in that area not too long ago, so
if you build from source, you'll probably see notable improvements.
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving
you have a classpath problem, the jar containing your trigger code is not on
the classpath of the H2 server code.
--
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
you are missing a terminating $$, see examples here
http://h2database.com/html/grammar.html#create_alias
I guess that Spring is stripping it for some reason, you'd have to ask them why.
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To
what I really want is a set of SQL commands that recreates the problem.
i.e. a small script that creates just the necessary tables and runs the
problematic query
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and
Is it possible you could create a standalone test case for this?
Also using anything other than the default LOCK_MODE is not well tested, so
unless you have a really good reason, I would remove that LOCK_MODE setting
and leave it as default.
--
You received this message because you are
have a look at
org.h2.test.db.TestFunctions, it has some tests that exercise use of
AggregateFunction.
you need to make sure your new aggregate is on H2's classpath, that is how we
find it, and then you tell H2 about it using
CREATE AGGREGATE
see
It's not unreasonable to make downstream users safer by making -ifExists
the default for the TCP server mode.
--
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
thanks, but that assumes you know the username and password to access the db
--
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
where is the JDBC version of the exploit?
--
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
That exploit is about the web console. Do not enable the console outside of
a testing environment and you will be fine.
--
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
https://github.com/h2database/h2database/issues/1294
--
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
On 2018/10/12 2:37 PM, nick slegers wrote:
After a few weeks of using the h2 database engine, i got the folowing error message and now i can't use the database
anymore. I tried uninstalling/removing h2 from my system and restarted the pc multiple times.
I guess your Windows firewall is
Looks like one of your dependencies uses something called Lombok which messes
with the default JavaC compiler.
I suggest you report upstream with whichever dependency is using lombok, and
possibly against lombok itself.
--
You received this message because you are subscribed to the Google
database wide
--
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
On 2018/09/19 1:53 PM, Jérémie Brébec wrote:
If I try to execute a query with a left outer join on "PROP", the optimizer
didn't return the expected execution plan :
You could try using index hints (not much documentation I am afraid), see the
syntax here
101 - 200 of 2128 matches
Mail list logo