Fixed
Status Update
Comments
do...@traveloka.com <do...@traveloka.com> #2
We gave up upgrading to Room because we need to use FTS3/FTS4 virtual tables. Any plants to support it?
pa...@gmail.com <pa...@gmail.com> #3
Florina Muntenescu (Android developer advocate at Google) told me that FTS support will definitely NOT be in Room 1.0 final. It is postponed to an indeterminate later version.
pa...@gmail.com <pa...@gmail.com> #4
It is possible to work with virtual tables and fts4 while using Room v1. You just need to create and access it by yourself using sql queries. Not perfect but it works for me (just did it a few days ago).
Can't wait for this feature to be in Room
Can't wait for this feature to be in Room
ga...@google.com <ga...@google.com> #5
If your FTS tables are separate from the rest of your model it's a viable solution. Mine are fully integrated with my model (almost all queries have JOINs with virtual tables) so it's a no-go.
ap...@google.com <ap...@google.com> #7
I'm really looking forward to use FTS natively with Room. Can you give some kind of roadmap? E.g. is it considered for Room 1.2 or Room 2.0?
pa...@google.com <pa...@google.com> #8
Using FTS should not block you from using room, you just cannot use compile time checked queries (you can still use them in RawQuery though).
pa...@gmail.com <pa...@gmail.com> #9
Thanks for the fast answer, Yigit. I'm more then happy to not have to work with RawQuery's anymore, and I don't want to jump back to it for using FTS.
Based on your answer I would guess that it's delayed / postponed any longer, cause it's already working with this kind of workaround?
Based on your answer I would guess that it's delayed / postponed any longer, cause it's already working with this kind of workaround?
hu...@google.com <hu...@google.com> #10
> Using FTS should not block you from using room, you just cannot use compile time checked queries (you can still use them in RawQuery though).
We cannot declare an FTS table using Room entities, as there are no options for that. So, are you suggesting that we should create and manage this table manually, but still use a Room DAO for access?
We cannot declare an FTS table using Room entities, as there are no options for that. So, are you suggesting that we should create and manage this table manually, but still use a Room DAO for access?
Description
Java version "1.8.0_121"
Jetifier version: 1.0.0-beta04
Let there be a Library Foo with the following 'proguard-rules.txt' file:
# DBFlow
-keep class * extends com.raizlabs.android.dbflow.config.DatabaseHolder { *; }
-dontwarn com.raizlabs.android.dbflow.**
# Note: the configuration keeps the entry point 'com.raizlabs.android.dbflow.config.FlowManager$GlobalDatabaseHolder { FlowManager$GlobalDatabaseHolder(com.raizlabs.android.dbflow.config.FlowManager$1); }', but not the descriptor class 'com.raizlabs.android.dbflow.config.FlowManager$1'
-keep class com.raizlabs.android.dbflow.config.FlowManager$*
When trying to jetify this library:
./jetifier-standalone -i /Users/someuser/Downloads/foo/foo.aar -o newfoo.aar
The Jetifier fails with the following output:
Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 147
com/raizlabs/android/dbflow/.*
# Note: the configuration keeps the entry point 'com/raizlabs/android/dbflow/config/FlowManager$GlobalDatabaseHolder { FlowManager$GlobalDatabaseHolder(com/raizlabs/android/dbflow/config/FlowManager$1); }'
^
at java.util.regex.Pattern.error(Pattern.java:1955)
at java.util.regex.Pattern.closure(Pattern.java:3157)
at java.util.regex.Pattern.sequence(Pattern.java:2134)
at java.util.regex.Pattern.expr(Pattern.java:1996)
at java.util.regex.Pattern.compile(Pattern.java:1696)
at java.util.regex.Pattern.<init>(Pattern.java:1351)
at java.util.regex.Pattern.compile(Pattern.java:1028)
at com.android.tools.build.jetifier.core.type.TypesMap.matchOldProguardForNewTypes(TypesMap.kt:112)
[...]
If i remove the notes, the new 'proguard-rules.txt' looks like this:
# DBFlow
-keep class * extends com.raizlabs.android.dbflow.config.DatabaseHolder { *; }
-dontwarn com.raizlabs.android.dbflow.**
-keep class com.raizlabs.android.dbflow.config.FlowManager$*
And this runs through the jetifier just fine. Please provide a fix for this issue, since i have to patch my dependencies currently in order to make AndroidX work for me.