@@ -65,100 +65,116 @@ func Benchmark_Indexes(b *testing.B) {
6565 Query query.Query [* User ]
6666 }{
6767 {
68- Name : "id = 500" ,
69- Query : query.NewBuilder [* User ](query .Where (userID , where .EQ , 500 )).Query (),
68+ Name : "id = 500" ,
69+ Query : query .NewChainBuilder (query .NewBuilder [* User ]()).
70+ AddWhere (query .Where (userID , where .EQ , 500 )).
71+ Query (),
7072 },
7173 {
72- Name : "id IN (500, 1000, 1500)" ,
73- Query : query.NewBuilder [* User ](query .Where (userID , where .InArray , 500 , 1000 , 1500 )).Query (),
74+ Name : "id IN (500, 1000, 1500)" ,
75+ Query : query .NewChainBuilder (query .NewBuilder [* User ]()).
76+ AddWhere (query .Where (userID , where .InArray , 500 , 1000 , 1500 )).
77+ Query (),
7478 },
7579 {
76- Name : "id <= 1000" ,
77- Query : query.NewBuilder [* User ](query .Where (userID , where .LE , 1000 )).Query (),
80+ Name : "id <= 1000" ,
81+ Query : query .NewChainBuilder (query .NewBuilder [* User ]()).
82+ AddWhere (query .Where (userID , where .LE , 1000 )).
83+ Query (),
7884 },
7985 {
80- Name : "id > 1000" ,
81- Query : query.NewBuilder [* User ](query .Where (userID , where .GT , 1000 )).Query (),
86+ Name : "id > 1000" ,
87+ Query : query .NewChainBuilder (query .NewBuilder [* User ]()).
88+ AddWhere (query .Where (userID , where .GT , 1000 )).
89+ Query (),
8290 },
8391 {
84- Name : "id <= 5000" ,
85- Query : query.NewBuilder [* User ](query .Where (userID , where .LE , 5000 )).Query (),
92+ Name : "id <= 5000" ,
93+ Query : query .NewChainBuilder (query .NewBuilder [* User ]()).
94+ AddWhere (query .Where (userID , where .LE , 5000 )).
95+ Query (),
8696 },
8797 {
88- Name : "id > 5000" ,
89- Query : query.NewBuilder [* User ](query .Where (userID , where .GT , 5000 )).Query (),
98+ Name : "id > 5000" ,
99+ Query : query .NewChainBuilder (query .NewBuilder [* User ]()).
100+ AddWhere (query .Where (userID , where .GT , 5000 )).
101+ Query (),
90102 },
91103 {
92104 Name : "id > 2000 and id < 3000" ,
93- Query : query .NewBuilder [* User ](
94- query .Where (userID , where .GT , 2000 ),
95- query .Where (userID , where .LT , 3000 ),
96- ). Query (),
105+ Query : query .NewChainBuilder ( query . NewBuilder [* User ]()).
106+ AddWhere ( query .Where (userID , where .GT , 2000 )).
107+ AddWhere ( query .Where (userID , where .LT , 3000 )).
108+ Query (),
97109 },
98110 {
99111 Name : "id < 2000 or id > 8000" ,
100- Query : query .NewBuilder [* User ](
101- query .Where (userID , where .LT , 2000 ),
102- query . Or (),
103- query .Where (userID , where .GT , 8000 ),
104- ). Query (),
112+ Query : query .NewChainBuilder ( query . NewBuilder [* User ]()).
113+ AddWhere ( query .Where (userID , where .LT , 2000 )).
114+ Or ().
115+ AddWhere ( query .Where (userID , where .GT , 8000 )).
116+ Query (),
105117 },
106118 {
107119 Name : "id < 1000 limit 100 asc" ,
108- Query : query .NewBuilder [* User ](
109- query .Where (userID , where .LT , 1000 ),
110- query . Limit (100 ),
111- query . Sort (sort.Asc [* User ](userID )),
112- ). Query (),
120+ Query : query .NewChainBuilder ( query . NewBuilder [* User ]()).
121+ AddWhere ( query .Where (userID , where .LT , 1000 )).
122+ Limit (100 ).
123+ Sort (sort.Asc [* User ](userID )).
124+ Query (),
113125 },
114126 {
115127 Name : "id < 1000 limit 100 desc" ,
116- Query : query .NewBuilder [* User ](
117- query .Where (userID , where .LT , 1000 ),
118- query . Limit (100 ),
119- query . Sort (sort.Desc [* User ](userID )),
120- ). Query (),
128+ Query : query .NewChainBuilder ( query . NewBuilder [* User ]()).
129+ AddWhere ( query .Where (userID , where .LT , 1000 )).
130+ Limit (100 ).
131+ Sort (sort.Desc [* User ](userID )).
132+ Query (),
121133 },
122134 {
123135 Name : "id < 1000 limit 100 offset 50 asc" ,
124- Query : query .NewBuilder [* User ](
125- query .Where (userID , where .LT , 1000 ),
126- query . Limit (100 ),
127- query . Offset (50 ),
128- query . Sort (sort.Asc [* User ](userID )),
129- ). Query (),
136+ Query : query .NewChainBuilder ( query . NewBuilder [* User ]()).
137+ AddWhere ( query .Where (userID , where .LT , 1000 )).
138+ Limit (100 ).
139+ Offset (50 ).
140+ Sort (sort.Asc [* User ](userID )).
141+ Query (),
130142 },
131143 {
132144 Name : "id < 1000 limit 100 offset 50 desc" ,
133- Query : query .NewBuilder [* User ](
134- query .Where (userID , where .LT , 1000 ),
135- query . Limit (100 ),
136- query . Offset (50 ),
137- query . Sort (sort.Desc [* User ](userID )),
138- ). Query (),
145+ Query : query .NewChainBuilder ( query . NewBuilder [* User ]()).
146+ AddWhere ( query .Where (userID , where .LT , 1000 )).
147+ Limit (100 ).
148+ Offset (50 ).
149+ Sort (sort.Desc [* User ](userID )).
150+ Query (),
139151 },
140152 {
141- Name : "age < 18" ,
142- Query : query.NewBuilder [* User ](query .Where (userAge , where .LT , 18 )).Query (),
153+ Name : "age < 18" ,
154+ Query : query .NewChainBuilder (query .NewBuilder [* User ]()).
155+ AddWhere (query .Where (userAge , where .LT , 18 )).
156+ Query (),
143157 },
144158 {
145- Name : "age <= 17" ,
146- Query : query.NewBuilder [* User ](query .Where (userAge , where .LE , 17 )).Query (),
159+ Name : "age <= 17" ,
160+ Query : query .NewChainBuilder (query .NewBuilder [* User ]()).
161+ AddWhere (query .Where (userAge , where .LE , 17 )).
162+ Query (),
147163 },
148164 {
149165 Name : "age > 18 and age < 45" ,
150- Query : query .NewBuilder [* User ](
151- query .Where (userAge , where .GT , 18 ),
152- query .Where (userAge , where .LT , 45 ),
153- ). Query (),
166+ Query : query .NewChainBuilder ( query . NewBuilder [* User ]()).
167+ AddWhere ( query .Where (userAge , where .GT , 18 )).
168+ AddWhere ( query .Where (userAge , where .LT , 45 )).
169+ Query (),
154170 },
155171 {
156172 Name : "age > 18 and age < 45 and id > 2000" ,
157- Query : query .NewBuilder [* User ](
158- query .Where (userAge , where .GT , 18 ),
159- query .Where (userAge , where .LT , 45 ),
160- query .Where (userID , where .GT , 2000 ),
161- ). Query (),
173+ Query : query .NewChainBuilder ( query . NewBuilder [* User ]()).
174+ AddWhere ( query .Where (userAge , where .GT , 18 )).
175+ AddWhere ( query .Where (userAge , where .LT , 45 )).
176+ AddWhere ( query .Where (userID , where .GT , 2000 )).
177+ Query (),
162178 },
163179 }
164180
@@ -230,7 +246,9 @@ func Benchmark_BTreeIndexesMaxChildren(b *testing.B) {
230246 }
231247 }
232248
233- q := query.NewBuilder [* User ](query .Where (userAge , where .LT , 5 )).Query ()
249+ q := query .NewChainBuilder (query .NewBuilder [* User ]()).
250+ AddWhere (query .Where (userAge , where .LT , 5 )).
251+ Query ()
234252
235253 for i , store := range stores {
236254 exec := executor.CreateQueryExecutor [* User ](store )
0 commit comments