You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replace the stringly-typed FilterBuilder with a type-safe, value-based DSL.
- Column<T> typed tokens; Exposed/Ktorm-vocab infix operators (eq/neq/
greater/greaterEq/less/lessEq/within/inList/like/ilike/matches/isNull/…).
- Filter is now an immutable value tree rendered by a single recursive
walk (toParams/toGroupTerm), removing the old flattenLogical/isLogicalKey
string re-parsing.
- Query modifiers split out of the filter block: reads take QueryBuilder
(where{} + orderBy/limit/offset/range), mutations take WhereBuilder.
'not { limit() }' is no longer expressible.
- Fixes the silent duplicate limit/offset bug (last-wins, regression-tested).
- Migrated database client (~25 methods), sync keyset query, samples, and
the db/sync/e2e test suites. BCV api dumps regenerated.
BREAKING CHANGE: FilterBuilder, filters{}, OrderDirection and NullsPlacement
are removed. Use Column<T> with where{}/query{} and Order/Nulls instead.
Copy file name to clipboardExpand all lines: supabase-core/api/android/supabase-core.api
+73-79Lines changed: 73 additions & 79 deletions
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,17 @@
1
+
public final class io/github/androidpoet/supabase/core/models/Column {
2
+
public static final synthetic fun box-impl (Ljava/lang/String;)Lio/github/androidpoet/supabase/core/models/Column;
3
+
public static fun constructor-impl (Ljava/lang/String;)Ljava/lang/String;
4
+
public fun equals (Ljava/lang/Object;)Z
5
+
public static fun equals-impl (Ljava/lang/String;Ljava/lang/Object;)Z
6
+
public static final fun equals-impl0 (Ljava/lang/String;Ljava/lang/String;)Z
7
+
public final fun getName ()Ljava/lang/String;
8
+
public fun hashCode ()I
9
+
public static fun hashCode-impl (Ljava/lang/String;)I
10
+
public fun toString ()Ljava/lang/String;
11
+
public static fun toString-impl (Ljava/lang/String;)Ljava/lang/String;
12
+
public final synthetic fun unbox-impl ()Ljava/lang/String;
13
+
}
14
+
1
15
public final class io/github/androidpoet/supabase/core/models/ErrorResponse {
2
16
public static final field Companion Lio/github/androidpoet/supabase/core/models/ErrorResponse$Companion;
3
17
public fun <init> ()V
@@ -33,97 +47,31 @@ public final class io/github/androidpoet/supabase/core/models/ErrorResponse$Comp
33
47
public final fun serializer ()Lkotlinx/serialization/KSerializer;
34
48
}
35
49
36
-
public final class io/github/androidpoet/supabase/core/models/FilterBuilder {
37
-
public fun <init> ()V
38
-
public final fun and (Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
39
-
public static synthetic fun and$default (Lio/github/androidpoet/supabase/core/models/FilterBuilder;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
40
-
public final fun build ()Ljava/util/List;
41
-
public final fun containedBy (Ljava/lang/String;Ljava/lang/String;)V
42
-
public final fun containedBy (Ljava/lang/String;Ljava/util/List;)V
43
-
public final fun contains (Ljava/lang/String;Ljava/lang/String;)V
44
-
public final fun contains (Ljava/lang/String;Ljava/util/List;)V
45
-
public final fun eq (Ljava/lang/String;Ljava/lang/Number;)V
46
-
public final fun eq (Ljava/lang/String;Ljava/lang/String;)V
47
-
public final fun eq (Ljava/lang/String;Z)V
48
-
public final fun filter (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
49
-
public final fun gt (Ljava/lang/String;Ljava/lang/Number;)V
50
-
public final fun gt (Ljava/lang/String;Ljava/lang/String;)V
51
-
public final fun gte (Ljava/lang/String;Ljava/lang/Number;)V
52
-
public final fun gte (Ljava/lang/String;Ljava/lang/String;)V
53
-
public final fun ilike (Ljava/lang/String;Ljava/lang/String;)V
54
-
public final fun ilikeAllOf (Ljava/lang/String;Ljava/util/List;)V
55
-
public final fun ilikeAnyOf (Ljava/lang/String;Ljava/util/List;)V
56
-
public final fun imatch (Ljava/lang/String;Ljava/lang/String;)V
57
-
public final fun in (Ljava/lang/String;Ljava/util/List;)V
58
-
public final fun inAny (Ljava/lang/String;Ljava/util/List;)V
59
-
public final fun inNumbers (Ljava/lang/String;Ljava/util/List;)V
60
-
public final fun is (Ljava/lang/String;Ljava/lang/Boolean;)V
61
-
public final fun is (Ljava/lang/String;Ljava/lang/String;)V
62
-
public final fun isDistinct (Ljava/lang/String;Ljava/lang/Boolean;)V
63
-
public final fun isDistinct (Ljava/lang/String;Ljava/lang/Number;)V
64
-
public final fun isDistinct (Ljava/lang/String;Ljava/lang/String;)V
65
-
public final fun like (Ljava/lang/String;Ljava/lang/String;)V
66
-
public final fun likeAllOf (Ljava/lang/String;Ljava/util/List;)V
67
-
public final fun likeAnyOf (Ljava/lang/String;Ljava/util/List;)V
68
-
public final fun limit (ILjava/lang/String;)V
69
-
public static synthetic fun limit$default (Lio/github/androidpoet/supabase/core/models/FilterBuilder;ILjava/lang/String;ILjava/lang/Object;)V
70
-
public final fun lt (Ljava/lang/String;Ljava/lang/Number;)V
71
-
public final fun lt (Ljava/lang/String;Ljava/lang/String;)V
72
-
public final fun lte (Ljava/lang/String;Ljava/lang/Number;)V
73
-
public final fun lte (Ljava/lang/String;Ljava/lang/String;)V
74
-
public final fun match (Ljava/lang/String;Ljava/lang/String;)V
75
-
public final fun match (Ljava/util/Map;)V
76
-
public final fun neq (Ljava/lang/String;Ljava/lang/Number;)V
77
-
public final fun neq (Ljava/lang/String;Ljava/lang/String;)V
78
-
public final fun neq (Ljava/lang/String;Z)V
79
-
public final fun not (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
80
-
public final fun not (Lkotlin/jvm/functions/Function1;)V
81
-
public final fun notExtendLeft (Ljava/lang/String;Ljava/lang/String;)V
82
-
public final fun notExtendRight (Ljava/lang/String;Ljava/lang/String;)V
83
-
public final fun offset (ILjava/lang/String;)V
84
-
public static synthetic fun offset$default (Lio/github/androidpoet/supabase/core/models/FilterBuilder;ILjava/lang/String;ILjava/lang/Object;)V
85
-
public final fun or (Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
86
-
public static synthetic fun or$default (Lio/github/androidpoet/supabase/core/models/FilterBuilder;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
87
-
public final fun order (Ljava/lang/String;Lio/github/androidpoet/supabase/core/models/OrderDirection;Lio/github/androidpoet/supabase/core/models/NullsPlacement;Ljava/lang/String;)V
88
-
public final fun order (Ljava/lang/String;ZLjava/lang/Boolean;Ljava/lang/String;)V
89
-
public static synthetic fun order$default (Lio/github/androidpoet/supabase/core/models/FilterBuilder;Ljava/lang/String;Lio/github/androidpoet/supabase/core/models/OrderDirection;Lio/github/androidpoet/supabase/core/models/NullsPlacement;Ljava/lang/String;ILjava/lang/Object;)V
90
-
public static synthetic fun order$default (Lio/github/androidpoet/supabase/core/models/FilterBuilder;Ljava/lang/String;ZLjava/lang/Boolean;Ljava/lang/String;ILjava/lang/Object;)V
91
-
public final fun overlaps (Ljava/lang/String;Ljava/lang/String;)V
92
-
public final fun overlaps (Ljava/lang/String;Ljava/util/List;)V
93
-
public final fun range (IILjava/lang/String;)V
94
-
public static synthetic fun range$default (Lio/github/androidpoet/supabase/core/models/FilterBuilder;IILjava/lang/String;ILjava/lang/Object;)V
95
-
public final fun rangeAdj (Ljava/lang/String;Ljava/lang/String;)V
96
-
public final fun rangeGt (Ljava/lang/String;Ljava/lang/String;)V
97
-
public final fun rangeGte (Ljava/lang/String;Ljava/lang/String;)V
98
-
public final fun rangeLt (Ljava/lang/String;Ljava/lang/String;)V
99
-
public final fun rangeLte (Ljava/lang/String;Ljava/lang/String;)V
100
-
public final fun strictlyLeft (Ljava/lang/String;Ljava/lang/String;)V
101
-
public final fun strictlyRight (Ljava/lang/String;Ljava/lang/String;)V
102
-
public final fun textSearch (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/github/androidpoet/supabase/core/models/TextSearchType;)V
103
-
public static synthetic fun textSearch$default (Lio/github/androidpoet/supabase/core/models/FilterBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/github/androidpoet/supabase/core/models/TextSearchType;ILjava/lang/Object;)V
50
+
public abstract interface class io/github/androidpoet/supabase/core/models/Filter {
104
51
}
105
52
106
53
public abstract interface annotation class io/github/androidpoet/supabase/core/models/FilterDsl : java/lang/annotation/Annotation {
107
54
}
108
55
109
56
public final class io/github/androidpoet/supabase/core/models/FiltersKt {
110
-
public static final fun filters (Lkotlin/jvm/functions/Function1;)Ljava/util/List;
57
+
public static final fun query (Lkotlin/jvm/functions/Function1;)Ljava/util/List;
58
+
public static final fun where (Lkotlin/jvm/functions/Function1;)Ljava/util/List;
111
59
}
112
60
113
-
public final class io/github/androidpoet/supabase/core/models/NullsPlacement : java/lang/Enum {
114
-
public static final field FIRST Lio/github/androidpoet/supabase/core/models/NullsPlacement;
115
-
public static final field LAST Lio/github/androidpoet/supabase/core/models/NullsPlacement;
61
+
public final class io/github/androidpoet/supabase/core/models/Nulls : java/lang/Enum {
62
+
public static final field FIRST Lio/github/androidpoet/supabase/core/models/Nulls;
63
+
public static final field LAST Lio/github/androidpoet/supabase/core/models/Nulls;
116
64
public static fun getEntries ()Lkotlin/enums/EnumEntries;
117
-
public static fun valueOf (Ljava/lang/String;)Lio/github/androidpoet/supabase/core/models/NullsPlacement;
118
-
public static fun values ()[Lio/github/androidpoet/supabase/core/models/NullsPlacement;
65
+
public static fun valueOf (Ljava/lang/String;)Lio/github/androidpoet/supabase/core/models/Nulls;
66
+
public static fun values ()[Lio/github/androidpoet/supabase/core/models/Nulls;
119
67
}
120
68
121
-
public final class io/github/androidpoet/supabase/core/models/OrderDirection : java/lang/Enum {
122
-
public static final field ASCENDING Lio/github/androidpoet/supabase/core/models/OrderDirection;
123
-
public static final field DESCENDING Lio/github/androidpoet/supabase/core/models/OrderDirection;
69
+
public final class io/github/androidpoet/supabase/core/models/Order : java/lang/Enum {
70
+
public static final field ASC Lio/github/androidpoet/supabase/core/models/Order;
71
+
public static final field DESC Lio/github/androidpoet/supabase/core/models/Order;
124
72
public static fun getEntries ()Lkotlin/enums/EnumEntries;
125
-
public static fun valueOf (Ljava/lang/String;)Lio/github/androidpoet/supabase/core/models/OrderDirection;
126
-
public static fun values ()[Lio/github/androidpoet/supabase/core/models/OrderDirection;
73
+
public static fun valueOf (Ljava/lang/String;)Lio/github/androidpoet/supabase/core/models/Order;
74
+
public static fun values ()[Lio/github/androidpoet/supabase/core/models/Order;
127
75
}
128
76
129
77
public final class io/github/androidpoet/supabase/core/models/PostgrestResponse {
@@ -156,6 +104,19 @@ public final class io/github/androidpoet/supabase/core/models/PostgrestResponse$
156
104
public final fun serializer (Lkotlinx/serialization/KSerializer;)Lkotlinx/serialization/KSerializer;
157
105
}
158
106
107
+
public final class io/github/androidpoet/supabase/core/models/QueryBuilder {
108
+
public fun <init> ()V
109
+
public final fun limit (ILjava/lang/String;)V
110
+
public static synthetic fun limit$default (Lio/github/androidpoet/supabase/core/models/QueryBuilder;ILjava/lang/String;ILjava/lang/Object;)V
111
+
public final fun offset (ILjava/lang/String;)V
112
+
public static synthetic fun offset$default (Lio/github/androidpoet/supabase/core/models/QueryBuilder;ILjava/lang/String;ILjava/lang/Object;)V
113
+
public final fun orderBy-7Jr2Q9A (Ljava/lang/String;Lio/github/androidpoet/supabase/core/models/Order;Lio/github/androidpoet/supabase/core/models/Nulls;Ljava/lang/String;)V
114
+
public static synthetic fun orderBy-7Jr2Q9A$default (Lio/github/androidpoet/supabase/core/models/QueryBuilder;Ljava/lang/String;Lio/github/androidpoet/supabase/core/models/Order;Lio/github/androidpoet/supabase/core/models/Nulls;Ljava/lang/String;ILjava/lang/Object;)V
115
+
public final fun range (IILjava/lang/String;)V
116
+
public static synthetic fun range$default (Lio/github/androidpoet/supabase/core/models/QueryBuilder;IILjava/lang/String;ILjava/lang/Object;)V
117
+
public final fun where (Lkotlin/jvm/functions/Function1;)V
118
+
}
119
+
159
120
public final class io/github/androidpoet/supabase/core/models/TextSearchType : java/lang/Enum {
160
121
public static final field Phrase Lio/github/androidpoet/supabase/core/models/TextSearchType;
161
122
public static final field Plain Lio/github/androidpoet/supabase/core/models/TextSearchType;
@@ -166,6 +127,39 @@ public final class io/github/androidpoet/supabase/core/models/TextSearchType : j
166
127
public static fun values ()[Lio/github/androidpoet/supabase/core/models/TextSearchType;
167
128
}
168
129
130
+
public final class io/github/androidpoet/supabase/core/models/WhereBuilder {
131
+
public fun <init> ()V
132
+
public final fun and (Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
133
+
public static synthetic fun and$default (Lio/github/androidpoet/supabase/core/models/WhereBuilder;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
134
+
public final fun containedBy--PLe0oE (Ljava/lang/String;Ljava/util/List;)V
135
+
public final fun contains--PLe0oE (Ljava/lang/String;Ljava/util/List;)V
136
+
public final fun eq--PLe0oE (Ljava/lang/String;Ljava/lang/Object;)V
137
+
public final fun greater--PLe0oE (Ljava/lang/String;Ljava/lang/Comparable;)V
138
+
public final fun greaterEq--PLe0oE (Ljava/lang/String;Ljava/lang/Comparable;)V
139
+
public final fun ilike--PLe0oE (Ljava/lang/String;Ljava/lang/String;)V
140
+
public final fun imatches--PLe0oE (Ljava/lang/String;Ljava/lang/String;)V
141
+
public final fun inList--PLe0oE (Ljava/lang/String;Ljava/util/List;)V
142
+
public final fun isDistinctFrom--PLe0oE (Ljava/lang/String;Ljava/lang/Object;)V
143
+
public final fun isExactly--PLe0oE (Ljava/lang/String;Z)V
144
+
public final fun isNotNull-kHnLTmE (Ljava/lang/String;)V
145
+
public final fun isNull-kHnLTmE (Ljava/lang/String;)V
146
+
public final fun less--PLe0oE (Ljava/lang/String;Ljava/lang/Comparable;)V
147
+
public final fun lessEq--PLe0oE (Ljava/lang/String;Ljava/lang/Comparable;)V
148
+
public final fun like--PLe0oE (Ljava/lang/String;Ljava/lang/String;)V
149
+
public final fun likeAllOf--PLe0oE (Ljava/lang/String;Ljava/util/List;)V
150
+
public final fun likeAnyOf--PLe0oE (Ljava/lang/String;Ljava/util/List;)V
151
+
public final fun matches--PLe0oE (Ljava/lang/String;Ljava/lang/String;)V
152
+
public final fun neq--PLe0oE (Ljava/lang/String;Ljava/lang/Object;)V
153
+
public final fun not (Lkotlin/jvm/functions/Function1;)V
154
+
public final fun or (Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V
155
+
public static synthetic fun or$default (Lio/github/androidpoet/supabase/core/models/WhereBuilder;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)V
156
+
public final fun overlaps--PLe0oE (Ljava/lang/String;Ljava/util/List;)V
157
+
public final fun raw-elUkyCk (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
158
+
public final fun textSearch-7Jr2Q9A (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/github/androidpoet/supabase/core/models/TextSearchType;)V
159
+
public static synthetic fun textSearch-7Jr2Q9A$default (Lio/github/androidpoet/supabase/core/models/WhereBuilder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/github/androidpoet/supabase/core/models/TextSearchType;ILjava/lang/Object;)V
160
+
public final fun within--PLe0oE (Ljava/lang/String;Lkotlin/ranges/ClosedRange;)V
161
+
}
162
+
169
163
public final class io/github/androidpoet/supabase/core/paging/Paginator {
170
164
public fun <init> (ILkotlin/jvm/functions/Function3;)V
171
165
public synthetic fun <init> (ILkotlin/jvm/functions/Function3;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
0 commit comments