Feature #9665
closedArvados' PostgreSQL jsonb support
0%
Description
Now Arvados treats (for example) collections' properties as text attribute in the database (PostgreSQL 9.3) in a tricky way:
---\n key1: value1\n key2: value2\n ...
Would it be changed on Postgres version upgrade and would it be upgraded at the first place?
Updated by Brett Smith over 8 years ago
Alexander,
Upgrading PostgreSQL, by itself, won't mean these attributes start using jsonb columns for properties
and other serialized fields. The serialization is handled by Rails itself. In order to switch these columns to jsonb, we'd have to upgrade API server's Rails version; possibly upgrade to a PostgreSQL database adapter that supports the jsonb column type; start using that as our column serialization type in the API server code; and require all users to upgrade to PostgreSQL 9.3+.
Does that answer your question?
Updated by Alexander Afanasyev over 8 years ago
Brett,
Yes, I know. Actually, the question was whether you are going to do any of such "cumulative" upgrade (I'm sorry for my inaccurate characterization)?
The reason why I'm asking, that this is the way you are storing (json) properties in the database, so to work with properties in a more "intellectual way" (for example, filtering by some properties key's value), we need to tie this process to this realization. And on the other hand, presenting such data structure in the database, probably, will allow to tackle such things in a more natural way (about of the box). So I just wondered whether this would be changed in the future or not.
Updated by Brett Smith over 8 years ago
Alexander Afanasyev wrote:
Yes, I know. Actually, the question was whether you are going to do any of such "cumulative" upgrade (I'm sorry for my inaccurate characterization)?
Alexander,
I apologize that I misunderstood. Yes, we have discussed doing exactly this upgrade, to provide exactly the kinds of features you're talking about. That's in issue #4019, which describes the same upgrade path you suggested. Would it be OK if I closed this ticket as a duplicate of that one?