I'm just gonna wait for the patch release, but thanks!
(I didn't realize you could create a topic normally and did it by mail first, but that doesn't seem to be working — sorry if this topic ends up getting created twice) Upgrading from 2.5.0 to 2.5.1 caused a test failure. Here's the simplest reproduction code: @Test public void regression() throws SQLException { try (Connection conn = dataSource.getConnection()) { OffsetTime in = OffsetTime.now(ZoneId.of("Etc/GMT-14")).truncatedTo(ChronoUnit.SECONDS); conn.createStatement().execute("create table test(val...
(I didn't realize you could create a topic normally and did it by mail first, but that doesn't seem to be working — sorry if this topic ends up getting created twice) Upgrading from 2.5.0 to 2.5.1 caused a test failure. Here's the simplest reproduction code: @Test public void regression() throws SQLException { try (Connection conn = dataSource.getConnection()) { OffsetTime in = OffsetTime.now(ZoneId.of("Etc/GMT-14")).truncatedTo(ChronoUnit.SECONDS); conn.createStatement().execute("create table test(val...
(I didn't realize you could create a topic normally and did it by mail first, but that doesn't seem to be working — sorry if this topic ends up getting created twice) Upgrading from 2.5.0 to 2.5.1 caused a test failure. Here's the simplest reproduction code: @Test public void regression() throws SQLException { try (Connection conn = dataSource.getConnection()) { OffsetTime in = OffsetTime.now(ZoneId.of("Etc/GMT-14")).truncatedTo(ChronoUnit.SECONDS); conn.createStatement().execute("create table test(val...
http://jdbi.org/#_serializable_transactions
I gave it a quick look, seems fine to me
Works beautifully from the first try, thanks! A note will need to be added to the pages about nanojpeg's limitations (like no support for progressive jpeg) though.
Some testing meanwhile has shown that for the background only png seems supported. Jpg, bmp, and lzw-tif all fail...
Some testing meanwhile has shown that for the background only pngs seems supported. Jpg, bmp, and lzw-tif all fail...
Is there an official, up-to-date guideline or list of image type support for the background, icons, etc? Is there a single image rendering mechanism meaning all images support the same types, or does it differ by case? Some of the details on the website are incorrect... The highlight background for example is listed as "must be bmp" but it works just fine as a png too. Refind also resizes all images from what I can tell, leading me to question all the "must be x-by-y resolution" notes. I know png...
Is there an official, up-to-date guideline or list of image type support for the background, icons, etc? Is there a single image rendering mechanism meaning all images support the same types, or does it differ by case? Some of the details on the website are incorrect... The highlight background for example is listed as "must be bmp" but it works just fine as a png too. Refind also resizes all images from what I can tell, leading me to question all the "must be x-by-y resolution" notes. I know png...
Noticed an error in my datatype mapping tests that never appeared before, just as I happened to be running tests at an unusual time (around midnight), with tests that use the current local time. Creating a reproducible test case was surprisingly easy, and the error has been here for half an hour now. Oracle jdk 1.8.0.161, hsqldb 2.4.1 @Test public void foo() throws SQLException { OffsetTime time = OffsetTime.of(0, 20, 23, 0, ZoneOffset.ofHours(2)); Connection conn = dataSource.getConnection(); conn.prepareStatement("create...
Noticed an error in my datatype mapping tests that never appeared before, just as I happened to be running tests at an unusual time (around midnight), with tests that use the current local time. Creating a reproducible test case was surprisingly easy, and the error has been here for half an hour now. Oracle jdk 1.8.0.161, hsqldb 2.4.1 @Test public void foo() throws SQLException { OffsetTime time = OffsetTime.of(0, 20, 23, 0, ZoneOffset.ofHours(2)); Connection conn = dataSource.getConnection(); conn.prepareStatement("create...
Ah, thanks. Strange that I've never found that page before.
Works, thanks! CREATE TYPE PERCENTAGE AS DECIMAL(8, 4); Documentation about this is well hidden though — I still haven't found it. I got this from a stackoverflow question.
I'd like to create custom data type aliases, to e.g. define a datatype PERCENTAGE = DECIMAL(8,4). Is this possible in hsql? I couldn't find anything about it in the docs and google.
I'm running a java program from directory x. My jdbc database location is set to file:./db/name - meaning the database is in x/db. The command "backup database to 'db/backup/'" makes a tar.gz file appear in x/db/backup as expected. "backup database to 'db/backup/' as files" makes the files appear in x/db/db/backup though. The "as files" clause makes the relative path be resolved from the database directory instead of the program's active directory. Is this intentional or a bug?
Alright, thanks for the info :)
Ah, I think I've got it. The format is -4 bytes- -n bytes- -repeat- where n = the int made from the 4 bytes by putting them into a bytebuffer or some other thing that can deserialize an int. E.g. the 4 bytes could be 0,0,0,-128, which deserializes to 128, meaning the next 128 bytes are a cipher block. 0,0,1,0 is 256 so the next 256 bytes are a cipher block (probably 2 consecutive blocks if your cipher's blocksize is 128 bytes). The separator ints specify how many of the next bytes are consecutive...
Ah, I think I've got it. The format is \<4 bytes> \<n bytes> \<repeat> where n = the int made from the 4 bytes by putting them into a bytebuffer or some other thing that can deserialize an int. E.g. the 4 bytes could be 0,0,0,-128, which deserializes to 128, meaning the next 128 bytes are a cipher block. 0,0,1,0 is 256 so the next 256 bytes are a cipher block (probably 2 consecutive blocks if your cipher's blocksize is 128 bytes). The separator ints specify how many of the next bytes are consecutive...
Ah, I think I've got it. The format is \<4 bytes> \<n bytes> <repeat> where n = the int made from the 4 bytes by putting them into a bytebuffer or some other thing that can deserialize an int. E.g. the 4 bytes could be 0,0,0,-128, which deserializes to 128, meaning the next 128 bytes are a cipher block. 0,0,1,0 is 256 so the next 256 bytes are a cipher block (probably 2 consecutive blocks if your cipher's blocksize is 128 bytes). The separator ints specify how many of the next bytes are consecutive...
Ah, I think I've got it. The format is <4 bytes> <n bytes=""> <repeat> where n = the int made from the 4 bytes by putting them into a bytebuffer or some other thing that can deserialize an int. E.g. the 4 bytes could be 0,0,0,-128, which deserializes to 128, meaning the next 128 bytes are a cipher block. 0,0,1,0 is 256 so the next 256 bytes are a cipher block (probably 2 consecutive blocks if your cipher's blocksize is 128 bytes). The separator ints specify how many of the next bytes are consecutive...
StandardCharsets.ISO_8859_1.decode(ByteBuffer.wrap(cipher.doFinal(fileBytes, 4 + (128 + 4)*n, 128))).toString() For any value of n, this gives me an sql string with line endings, so that much works as expected. I guess the separator ints would be the block counts then, being 0 most of the time because most lines in the plaintext log fit in 1 cipher block. After the block is decoded, the first 4 decoded bytes are the length of the decoded block. This is kinda contradictory. I'm not seeing any magic...
StandardCharsets.ISO_8859_1.decode(ByteBuffer.wrap(cipher.doFinal(fileBytes, 4 + (128 + 4)*n, 128))).toString() For any value of n, this gives me an sql string with line endings, so that much works as expected. I guess the separator ints would be the block counts then, being 0 most of the time because most lines in the plaintext log fit in 1 cipher block. After the block is decoded, the first 4 decoded bytes are the length of the decoded block. This is kinda contradictory. I'm not seeing any magic...
StandardCharsets.ISO_8859_1.decode(ByteBuffer.wrap(cipher.doFinal(fileBytes, 4 + (128 + 4)*n, 128))).toString() For any value of n, this gives me an sql string with line endings, so that much works as expected. I guess the separator ints would be the block counts then, being 0 most of the time because most lines in the plaintext log fit in 1 cipher block. After the block is decoded, the first 4 decoded bytes are the length of the decoded block. This is kinda contradictory. I'm not seeing any magic...
StandardCharsets.ISO_8859_1.decode(ByteBuffer.wrap(cipher.doFinal(fileBytes, 4 + (128 + 4)*n, 128))).toString() For any value of n, this gives me an sql string with line endings, so that much works as expected. I guess the separator ints would be the block counts then, being 0 most of the time because most lines in the plaintext log fit in 1 cipher block. After the block is decoded, the first 4 decoded bytes are the length of the decoded block. This is kinda contradictory. I'm not seeing any magic...
StandardCharsets.ISO_8859_1.decode(ByteBuffer.wrap(cipher.doFinal(fileBytes, 4 + (128 + 4)*n, 128))).toString() For any value of n, this gives me an sql string with line endings, so that much works as expected. I guess the separator ints would be the block counts then, being 0 most of the time because most lines in the plaintext log fit in 1 cipher block. After the block is decoded, the first 4 decoded bytes are the length of the decoded block. This is kinda contradictory. I'm not seeing any magic...
StandardCharsets.ISO_8859_1.decode(ByteBuffer.wrap(cipher.doFinal(fileBytes, 4 + (128 + 4)*n, 128))).toString() For any value of n, this gives me an sql string with line endings, so that much works as expected. I guess the separator ints would be the block counts then, being 0 most of the time because most lines in the plaintext log fit in 1 cipher block. After the block is decoded, the first 4 decoded bytes are the length of the decoded block. This is kinda contradictory. I'm not seeing any magic...
StandardCharsets.ISO_8859_1.decode(ByteBuffer.wrap(cipher.doFinal(fileBytes, 4 + (128 + 4)*n, 128))).toString() For any value of n, this gives me an sql string with line endings, so that much works as expected. I guess the separator ints would be the block counts then, being 0 most of the time because most lines in the script fit in 1 block. After the block is decoded, the first 4 decoded bytes are the length of the decoded block. This is kinda contradictory. I'm not seeing any magic bytes in the...
StandardCharsets.ISO_8859_1.decode(ByteBuffer.wrap(cipher.doFinal(bytes, 4 + (128 + 4)*n, 128))).toString() For any value of n, this gives me an sql string with line endings, so that much works as expected. I guess the separator ints would be the block counts then, being 0 most of the time because most lines in the script fit in 1 block. After the block is decoded, the first 4 decoded bytes are the length of the decoded block. This is kinda contradictory. I'm not seeing any magic bytes in the decoded...
Edit: testing, hold on...
Yeah I found those classes but I'm having a hard time understanding the net result of all that code, there's lots of inheritance, lots of classes calling each other and passing variables around, and unclear (to me) variable and method names. You're kinda saying 2 different things now, no? "After the block is decoded, the first 4 decoded bytes are the length of the decoded block" this part doesn't really add up to me. Why is the length of the block within the block itself? If it was, why am I not...
Yeah I found those classes but I'm having a hard time understanding the net result of all that code, there's lots of inheritance, lots of classes calling each other, and unclear (to me) variable names. You're kinda saying 2 different things now, no? "After the block is decoded, the first 4 decoded bytes are the length of the decoded block" this part doesn't really add up to me. Why is the length of the block within the block itself? If it was, why am I not seeing it when I decode the block? It only...
I couldn't really make much sense of the code, but got some hints. So I just gave it a try. Apparently each line is encrypted individually and concatenated with int 0. The file contains 00000080 (hex), then blocksize bytes, then 00000080 again, then another encrypted block, etc. Decrypting the blocks works. Just 2 questions: What will be in the file if a line takes more than 1 block to be held? I assume you just get 2 or more consecutive blocks and then the next 00000080 again, most logical way....
I couldn't really make much sense of the code, but got some hints. So I just gave it a try. Apparently each line is encrypted individually and concatenated with int 0. The file contains 00000080 (hex), then blocksize bytes, then 00000080 again, then another encrypted block, etc. Decrypting the blocks works. Just 2 questions: What will be in the file if a line takes more than 1 block to be held? I assume you just get 2 or more consecutive blocks and then the next 00000080 again, most logical way....
I couldn't really make much sense of the code, but got some hints. So I just gave it a try. Apparently each line is encrypted individually and concatenated with int 0. The file contains 00000080 (hex), then blocksize bytes, then 00000080 again, then another encrypted block, etc. Decrypting the blocks works. Just 2 questions: What will be in the file if a line takes more than 1 block to be held? I assume you just get 2 or more consecutive blocks and then the next 00000080 again, most logical way....
Ah, I saw those classes but the row semantics made me look away.... Makes a lot of sense though. Thanks Fred!
I've been playing around with hsqldb's encryption mechanism, learning about jce and such in the process. Pretty neat stuff. From looking at the source code (like ScriptWriterEncode) and using common sense, I figured out that the db.script file is written to the disk, first encoded in iso8859, then compressed with gzip, then encrypted with the given settings. I can succesfully restore the file to plaintext using the opposite process (for recovery purposes). The db.log file however is a different story....
I've been playing around with hsqldb's encryption mechanism, learning about jce and such in the process. Pretty neat stuff. From looking at the source code (like ScriptWriterEncode) and using common sense, I figured out that the db.script file is written to the disk, first encoded in iso8859, then compressed with gzip, then encrypted with the given settings. I can succesfully restore the file to plaintext using the opposite process (for recovery purposes). The db.log file however is a different story....
Alright, but I think the doc should be updated then :)
Docs: ( http://hsqldb.org/doc/src/org/hsqldb/jdbc/JDBCStatement.html#getGeneratedKeys-- ) HSQLDB supports this feature with single-row and multi-row insert, update and merge statements. This method returns a result set only if the executeUpdate methods that was used is one of the three methods that have the extra parameter indicating return of generated keys. The executeUpdate methods with column indexes or column names return the post-insert or post-update values of the specified columns, whether...
Docs: ( http://hsqldb.org/doc/src/org/hsqldb/jdbc/JDBCStatement.html#getGeneratedKeys-- ) HSQLDB supports this feature with single-row and multi-row insert, update and merge statements. This method returns a result set only if the executeUpdate methods that was used is one of the three methods that have the extra parameter indicating return of generated keys. The executeUpdate methods with column indexes or column names return the post-insert or post-update values of the specified columns, whether...
Docs: ( http://hsqldb.org/doc/src/org/hsqldb/jdbc/JDBCStatement.html#getGeneratedKeys-- ) HSQLDB supports this feature with single-row and multi-row insert, update and merge statements. This method returns a result set only if the executeUpdate methods that was used is one of the three methods that have the extra parameter indicating return of generated keys. The executeUpdate methods with column indexes or column names return the post-insert or post-update values of the specified columns, whether...
Docs: ( http://hsqldb.org/doc/src/org/hsqldb/jdbc/JDBCStatement.html#getGeneratedKeys-- ) HSQLDB supports this feature with single-row and multi-row insert, update and merge statements. This method returns a result set only if the executeUpdate methods that was used is one of the three methods that have the extra parameter indicating return of generated keys. The executeUpdate methods with column indexes or column names return the post-insert or post-update values of the specified columns, whether...
Docs: ( http://hsqldb.org/doc/src/org/hsqldb/jdbc/JDBCStatement.html#getGeneratedKeys-- ) HSQLDB supports this feature with single-row and multi-row insert, update and merge statements. This method returns a result set only if the executeUpdate methods that was used is one of the three methods that have the extra parameter indicating return of generated keys. The executeUpdate methods with column indexes or column names return the post-insert or post-update values of the specified columns, whether...
I run it with tx_level=serializable. The doc says that serializable is translated to snapshot isolation under mvcc. I have a db test that sets up a table with two records containing 10 and 20. It then starts 2 threads, that simultaneously sum the records and insert their sum into the same table. Under mvlocks, the first thread gets the sum of 30 and inserts it, while the second thread gets the same sum and wants to insert it, but hsqldb throws a serializability error. If my framework then retries...
I run it with tx_level=serializable. The doc says that serializable is translated to snapshot isolation under mvcc. I have a db test that sets up a table with two records containing 10 and 20. It then starts 2 threads, that simultaneously sum the records and insert their sum into the same table. Under mvlocks, the first thread gets the sum of 30 and inserts it, while the second thread gets the same sum and wants to insert it, but hsqldb throws a serializability error. If my framework then retries...
I run it with tx_level=serializable The doc says that serializable is translated to snapshot isolation. I have a db test that sets up a table with two records containing 10 and 20. It then starts 2 threads, that simultaneously sum the records and insert their sum into the same table. Under mvlocks, the first thread gets the sum of 30 and inserts it, while the second thread gets the same sum and wants to insert it, but hsqldb throws a serializability error. If my framework then retries the second...
Will a future update of hsqldb bring SSI in the mvcc model, or is it already decided it will not be done? I like mvcc's flexibility and performance, but it permits unserializable transactions. Mvlocks on the other hand properly rollbacks unserializable transactions, but the locking obviously has disadvantages, in my case especially in tests with which I verify database behavior with threads that need to sync to each other (which creates a deadlock).
A few days ago I suddenly started getting an error in refind, in a setup that has worked without change for a long time. See picture. I figured out the ntfs driver is the cause, so I suspect the ntfs on-disk spec or something has changed and that has broken the driver (I've had the issue before with partitioning tools and such, ntfs drivers would occasionally just stop working all of a sudden until updated). Would just like to know if this is a known issue and being worked on, or if it's still under...
A few days ago I suddenly started getting an error in refind, in a setup that has worked without change for a long time. See picture. I figured out the ntfs driver is the cause, so I suspect the ntfs on-disk spec or something has changed and that has broken the driver (I've had the issue before with partitioning tools and such, ntfs drivers would occasionally just stop working all of a sudden until updated). Would just like to know if this is a known issue and being worked on, or if it's still under...
Snapshot 5779 seems to have fixed... everything! I can just use set/getobject with all of them :) Thanks Fred Any idea if this will be publicly released soon?
Snapshot 5779 seems to have fixed... everything! I can just use set/getobject with all of them :) Thanks Fred
I've made a lot of progress in my project by now. I've got tests that verify the exact results of in and out mapping of any data type I want to test, and I can add more types to map and test easily. These are my current TODO items (mappers I had to implement with logic other than query.setObject(i, x) and resultset.getObject(i, X.class) for 2.4.0 (public release): LocalDate: use setDate and Date.valueOf LocalTime: use setTime and Time.valueOf OffsetDateTime: use setTimestamp and Timestamp.from, shift...
getObject(x, UUID.class) still fails ("cannot convert") OffsetTimes returned from getObject(x, OffsetTime.class) are correct now, but persisting them with setObject(x, offsetTime) still screws then up I'm making major changes to my db framework so I can't really test everything right now but I'll let you know anything else I find out
Alright, I can work with that, thanks
I've downloaded the snapshot but I'm not familiar with gradle or the hsqldb insides, and the included instructions are pretty heavy. Can you just give me the 2 or 3 step process to go from this svn snapshot to a locally installed maven artifact?
Thanks
Like the title says: when selecting a UUID column, this works: (UUID) resultset.getObject(1) but this throws an exception that the type cannot be converted: resultset.getObject(1, UUID.class) Implementation bug or design quirk?
Like the title says: when selecting a UUID column, this works: (UUID) resultset.getObject(1) but this throws an exception that the type cannot be converted: resultset.getObject(1, UUID.class) Implementation bug or design?
I've been writing unit tests in a project, using jdbc and an in-memory db, to verify database behavior. I've come across a problem with java.time objects: the values are wrong, sometimes extremely wildly. Specs: java 8, hsqldb 2.4.0, spring boot 5 DataSource but no other influence from spring I've got a 5-fold test (code below) that creates a table with a column of type x, sets a value, then selects the same cell and reads it back out to compare the selected object to the object that went in. These...
PS: I'm aware milliseconds are by design not stored in the time values
PS: I'm aware milliseconds are by design not stored
I've been writing unit tests in a project, using jdbc and an in-memory db, to verify database behavior. I've come across a problem with java.time objects: the values are wrong, sometimes extremely wildly. Specs: java 8, hsqldb 2.4.0, spring boot 5 DataSource but no other influence from spring I've got a 5-fold test (code below) that creates a table with a column of type x, sets a value, then selects the same cell and reads it back out to compare the selected object to the object that went in. These...
Bug: in HDR mode, taking a photo leaves it on-screen as a transparent overlay afterwards
Great, thanks
Hm, ok. Thanks for all the info.
I guess using an existing vendor dialect is indeed the most sensible solution if...
So can this feature be carried over to the swing version too then? The doc wasn't...
Ah, thanks. I assumed since the swing one is brought up to be superior, the basic...
Ah, thanks. I assumed since the swing one is brought up to be superior, the basic...
Ah, thanks. I assumed since the swing one is brought up to be superior, the basic...
Allow use of UUID() as default value for UUID column in table definition
Render and accept UUID in text form in DatabaseManagerSwing/Common
I just installed it again and tried it out... I see it got an option "eliminate redundant...
PS: I don't know why that got posted as anonymous, but it was me...
Yes, it still triggers the flash for ~3 seconds on startup. It doesn't happen when...
When clicking the gallery button to view taken photos, a menu to choose a gallery...
Bump for status? I just saw that even the new stable release doesn't have this trivial...
In that case, the number of files could be configurable too. Default to 1 and let...
In that case, the number of files could be configurable too. Default to 1 and let...
In that case, the number of files could be configurable too. Default to 1 and let...
In that case, the number of files could be configurable too. Default to 1 and let...
In that case, the number of files could be configurable too. Default to 1 and let...
I'd like to make a request for a new feature. I was able to find 1 previous topic...
This would also go nicely with audio options, mainly volume normalization.
Filter options persistence