Skip to content

Commit f361fbd

Browse files
committed
Update API for libcouchbase alpha
Change-Id: Icef16a79b21ab4aa6546762ca2e479156bd86762 Reviewed-on: http://review.couchbase.org/109177 Reviewed-by: Sergey Avseyev <[email protected]> Tested-by: Sergey Avseyev <[email protected]>
1 parent 189f9d8 commit f361fbd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+6660
-6566
lines changed

config.m4

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ PHP_ARG_WITH(system-fastlz, wheter to use system FastLZ library,
55
[ --with-system-fastlz Use system FastLZ library], no, no)
66

77
if test "$PHP_COUCHBASE" != "no"; then
8+
AC_MSG_CHECKING(for libcouchbase in default path and $PHP_COUCHBASE)
89
if test -r $PHP_COUCHBASE/include/libcouchbase/couchbase.h; then
910
LIBCOUCHBASE_DIR=$PHP_COUCHBASE
11+
AC_MSG_RESULT(found in $PHP_COUCHBASE)
1012
else
11-
AC_MSG_CHECKING(for libcouchbase in default path)
1213
for i in /usr/local /usr; do
1314
if test -r $i/include/libcouchbase/couchbase.h; then
1415
LIBCOUCHBASE_DIR=$i
@@ -52,21 +53,16 @@ COUCHBASE_FILES=" \
5253
exception.c \
5354
log.c \
5455
opcookie.c \
55-
paramparser.c \
5656
src/couchbase/analytics_query.c \
5757
src/couchbase/authenticator.c \
58-
src/couchbase/crypto.c \
59-
src/couchbase/cert_authenticator.c \
60-
src/couchbase/classic_authenticator.c \
61-
src/couchbase/password_authenticator.c \
6258
src/couchbase/base36.c \
63-
src/couchbase/pool.c \
64-
src/couchbase/log_formatter.c \
6559
src/couchbase/bucket.c \
60+
src/couchbase/bucket/cbas.c \
6661
src/couchbase/bucket/cbft.c \
6762
src/couchbase/bucket/counter.c \
68-
src/couchbase/bucket/durability.c \
63+
src/couchbase/bucket/exists.c \
6964
src/couchbase/bucket/get.c \
65+
src/couchbase/bucket/get_replica.c \
7066
src/couchbase/bucket/health.c \
7167
src/couchbase/bucket/http.c \
7268
src/couchbase/bucket/n1ql.c \
@@ -80,53 +76,55 @@ COUCHBASE_FILES=" \
8076
src/couchbase/bucket_manager/n1ix_create.c \
8177
src/couchbase/bucket_manager/n1ix_drop.c \
8278
src/couchbase/bucket_manager/n1ix_list.c \
79+
src/couchbase/cert_authenticator.c \
80+
src/couchbase/classic_authenticator.c \
8381
src/couchbase/cluster.c \
8482
src/couchbase/cluster_manager.c \
8583
src/couchbase/cluster_manager/user_settings.c \
86-
src/couchbase/document.c \
87-
src/couchbase/document_fragment.c \
88-
src/couchbase/lookup_in_builder.c \
89-
src/couchbase/mutate_in_builder.c \
84+
src/couchbase/collection.c \
85+
src/couchbase/log_formatter.c \
86+
src/couchbase/lookup_spec.c \
87+
src/couchbase/mutate_spec.c \
9088
src/couchbase/mutation_state.c \
9189
src/couchbase/mutation_token.c \
9290
src/couchbase/n1ql_index.c \
9391
src/couchbase/n1ql_query.c \
94-
src/couchbase/search_query.c \
95-
src/couchbase/search/query_part.c \
96-
src/couchbase/search/sort.c \
97-
src/couchbase/search/sort_field.c \
98-
src/couchbase/search/sort_geo.c \
99-
src/couchbase/search/sort_id.c \
100-
src/couchbase/search/sort_score.c \
92+
src/couchbase/password_authenticator.c \
93+
src/couchbase/pool.c \
94+
src/couchbase/result.c \
10195
src/couchbase/search/boolean_field_query.c \
10296
src/couchbase/search/boolean_query.c \
10397
src/couchbase/search/conjunction_query.c \
98+
src/couchbase/search/date_range_facet.c \
10499
src/couchbase/search/date_range_query.c \
105100
src/couchbase/search/disjunction_query.c \
106101
src/couchbase/search/doc_id_query.c \
102+
src/couchbase/search/facet.c \
107103
src/couchbase/search/geo_bounding_box_query.c \
108104
src/couchbase/search/geo_distance_query.c \
109105
src/couchbase/search/match_all_query.c \
110106
src/couchbase/search/match_none_query.c \
111107
src/couchbase/search/match_phrase_query.c \
112108
src/couchbase/search/match_query.c \
109+
src/couchbase/search/numeric_range_facet.c \
113110
src/couchbase/search/numeric_range_query.c \
114111
src/couchbase/search/phrase_query.c \
115112
src/couchbase/search/prefix_query.c \
113+
src/couchbase/search/query_part.c \
116114
src/couchbase/search/query_string_query.c \
117115
src/couchbase/search/regexp_query.c \
116+
src/couchbase/search/sort.c \
117+
src/couchbase/search/sort_field.c \
118+
src/couchbase/search/sort_geo.c \
119+
src/couchbase/search/sort_id.c \
120+
src/couchbase/search/sort_score.c \
121+
src/couchbase/search/term_facet.c \
118122
src/couchbase/search/term_query.c \
119123
src/couchbase/search/term_range_query.c \
120124
src/couchbase/search/wildcard_query.c \
121-
src/couchbase/search/facet.c \
122-
src/couchbase/search/term_facet.c \
123-
src/couchbase/search/date_range_facet.c \
124-
src/couchbase/search/numeric_range_facet.c \
125-
src/couchbase/view_query.c \
126-
src/couchbase/view_query_encodable.c \
127-
src/couchbase/spatial_view_query.c \
128-
transcoding.c \
129125
src/couchbase/search_index_manager.c \
126+
src/couchbase/search_query.c \
127+
transcoding.c \
130128
"
131129

132130
AC_CHECK_HEADERS([zlib.h])

config.w32

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,12 @@ if (PHP_COUCHBASE != "no") {
1919
"exception.c " +
2020
"log.c " +
2121
"opcookie.c " +
22-
"paramparser.c " +
2322
"transcoding.c ";
2423
fastlz_sources =
2524
"fastlz.c";
2625
src_couchbase_sources =
2726
"analytics_query.c " +
2827
"authenticator.c " +
29-
"crypto.c " +
3028
"cert_authenticator.c " +
3129
"classic_authenticator.c " +
3230
"password_authenticator.c " +
@@ -35,26 +33,25 @@ if (PHP_COUCHBASE != "no") {
3533
"bucket_manager.c " +
3634
"cluster.c " +
3735
"cluster_manager.c " +
38-
"document.c " +
39-
"document_fragment.c " +
36+
"collection.c " +
37+
"result.c " +
4038
"log_formatter.c " +
41-
"lookup_in_builder.c " +
42-
"mutate_in_builder.c " +
39+
"lookup_spec.c " +
40+
"mutate_spec.c " +
4341
"mutation_state.c " +
4442
"mutation_token.c " +
4543
"n1ql_index.c " +
4644
"n1ql_query.c " +
4745
"pool.c " +
4846
"search_index_manager.c " +
49-
"search_query.c " +
50-
"spatial_view_query.c " +
51-
"view_query.c " +
52-
"view_query_encodable.c ";
47+
"search_query.c ";
5348
src_couchbase_bucket_sources =
49+
"cbas.c " +
5450
"cbft.c " +
5551
"counter.c " +
56-
"durability.c " +
52+
"exists.c " +
5753
"get.c " +
54+
"get_replica.c " +
5855
"health.c " +
5956
"http.c " +
6057
"n1ql.c " +

couchbase.c

Lines changed: 85 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,70 @@ static void php_extname_init_globals(zend_couchbase_globals *couchbase_globals)
189189
couchbase_globals->pool_max_idle_time = 60;
190190
}
191191

192+
PHP_MINIT_FUNCTION(Result);
193+
PHP_MINIT_FUNCTION(CouchbasePool);
194+
PHP_MINIT_FUNCTION(CouchbaseException);
195+
PHP_MINIT_FUNCTION(Collection);
196+
PHP_MINIT_FUNCTION(Cluster);
197+
PHP_MINIT_FUNCTION(ClusterManager);
198+
PHP_MINIT_FUNCTION(UserSettings);
199+
PHP_MINIT_FUNCTION(Bucket);
200+
PHP_MINIT_FUNCTION(BucketManager);
201+
PHP_MINIT_FUNCTION(Authenticator);
202+
PHP_MINIT_FUNCTION(CertAuthenticator);
203+
PHP_MINIT_FUNCTION(ClassicAuthenticator);
204+
PHP_MINIT_FUNCTION(PasswordAuthenticator);
205+
PHP_MINIT_FUNCTION(MutationToken);
206+
PHP_MINIT_FUNCTION(MutationState);
207+
PHP_MINIT_FUNCTION(AnalyticsQuery);
208+
PHP_MINIT_FUNCTION(N1qlQuery);
209+
PHP_MINIT_FUNCTION(N1qlIndex);
210+
PHP_MINIT_FUNCTION(LookupInSpec);
211+
PHP_MINIT_FUNCTION(MutateInSpec);
212+
PHP_MINIT_FUNCTION(SearchQuery);
213+
PHP_MINIT_FUNCTION(SearchQueryPart);
214+
PHP_MINIT_FUNCTION(BooleanFieldSearchQuery);
215+
PHP_MINIT_FUNCTION(BooleanSearchQuery);
216+
PHP_MINIT_FUNCTION(ConjunctionSearchQuery);
217+
PHP_MINIT_FUNCTION(DateRangeSearchQuery);
218+
PHP_MINIT_FUNCTION(DisjunctionSearchQuery);
219+
PHP_MINIT_FUNCTION(DocIdSearchQuery);
220+
PHP_MINIT_FUNCTION(GeoBoundingBoxSearchQuery);
221+
PHP_MINIT_FUNCTION(GeoDistanceSearchQuery);
222+
PHP_MINIT_FUNCTION(MatchAllSearchQuery);
223+
PHP_MINIT_FUNCTION(MatchNoneSearchQuery);
224+
PHP_MINIT_FUNCTION(MatchPhraseSearchQuery);
225+
PHP_MINIT_FUNCTION(MatchSearchQuery);
226+
PHP_MINIT_FUNCTION(NumericRangeSearchQuery);
227+
PHP_MINIT_FUNCTION(PhraseSearchQuery);
228+
PHP_MINIT_FUNCTION(PrefixSearchQuery);
229+
PHP_MINIT_FUNCTION(QueryStringSearchQuery);
230+
PHP_MINIT_FUNCTION(RegexpSearchQuery);
231+
PHP_MINIT_FUNCTION(TermSearchQuery);
232+
PHP_MINIT_FUNCTION(TermRangeSearchQuery);
233+
PHP_MINIT_FUNCTION(WildcardSearchQuery);
234+
PHP_MINIT_FUNCTION(SearchFacet);
235+
PHP_MINIT_FUNCTION(TermSearchFacet);
236+
PHP_MINIT_FUNCTION(DateRangeSearchFacet);
237+
PHP_MINIT_FUNCTION(NumericRangeSearchFacet);
238+
PHP_MINIT_FUNCTION(SearchSort);
239+
PHP_MINIT_FUNCTION(SearchSortField);
240+
PHP_MINIT_FUNCTION(SearchSortGeoDistance);
241+
PHP_MINIT_FUNCTION(SearchSortId);
242+
PHP_MINIT_FUNCTION(SearchSortScore);
243+
PHP_MINIT_FUNCTION(CryptoProvider);
244+
PHP_MINIT_FUNCTION(SearchIndexManager);
245+
PHP_MINIT_FUNCTION(CollectionGet);
246+
PHP_MINIT_FUNCTION(CollectionGetReplica);
247+
PHP_MINIT_FUNCTION(CollectionExists);
248+
PHP_MINIT_FUNCTION(CollectionUnlock);
249+
PHP_MINIT_FUNCTION(CollectionStore);
250+
PHP_MINIT_FUNCTION(CollectionTouch);
251+
PHP_MINIT_FUNCTION(CollectionCounter);
252+
PHP_MINIT_FUNCTION(CollectionRemove);
253+
PHP_MINIT_FUNCTION(CollectionSubdoc);
254+
255+
192256
PHP_MINIT_FUNCTION(couchbase)
193257
{
194258
ZEND_INIT_MODULE_GLOBALS(couchbase, php_extname_init_globals, NULL);
@@ -203,12 +267,12 @@ PHP_MINIT_FUNCTION(couchbase)
203267
return FAILURE;
204268
}
205269
}
270+
PHP_MINIT(Result)(INIT_FUNC_ARGS_PASSTHRU);
206271

207272
PHP_MINIT(CouchbasePool)(INIT_FUNC_ARGS_PASSTHRU);
208273
PHP_MINIT(CouchbaseException)(INIT_FUNC_ARGS_PASSTHRU);
209-
PHP_MINIT(Document)(INIT_FUNC_ARGS_PASSTHRU);
210-
PHP_MINIT(DocumentFragment)(INIT_FUNC_ARGS_PASSTHRU);
211274
PHP_MINIT(Cluster)(INIT_FUNC_ARGS_PASSTHRU);
275+
PHP_MINIT(Collection)(INIT_FUNC_ARGS_PASSTHRU);
212276
PHP_MINIT(ClusterManager)(INIT_FUNC_ARGS_PASSTHRU);
213277
PHP_MINIT(UserSettings)(INIT_FUNC_ARGS_PASSTHRU);
214278
PHP_MINIT(Bucket)(INIT_FUNC_ARGS_PASSTHRU);
@@ -219,14 +283,11 @@ PHP_MINIT_FUNCTION(couchbase)
219283
PHP_MINIT(PasswordAuthenticator)(INIT_FUNC_ARGS_PASSTHRU);
220284
PHP_MINIT(MutationToken)(INIT_FUNC_ARGS_PASSTHRU);
221285
PHP_MINIT(MutationState)(INIT_FUNC_ARGS_PASSTHRU);
222-
PHP_MINIT(ViewQueryEncodable)(INIT_FUNC_ARGS_PASSTHRU);
223-
PHP_MINIT(ViewQuery)(INIT_FUNC_ARGS_PASSTHRU);
224-
PHP_MINIT(SpatialViewQuery)(INIT_FUNC_ARGS_PASSTHRU);
225286
PHP_MINIT(AnalyticsQuery)(INIT_FUNC_ARGS_PASSTHRU);
226287
PHP_MINIT(N1qlQuery)(INIT_FUNC_ARGS_PASSTHRU);
227288
PHP_MINIT(N1qlIndex)(INIT_FUNC_ARGS_PASSTHRU);
228-
PHP_MINIT(LookupInBuilder)(INIT_FUNC_ARGS_PASSTHRU);
229-
PHP_MINIT(MutateInBuilder)(INIT_FUNC_ARGS_PASSTHRU);
289+
PHP_MINIT(LookupInSpec)(INIT_FUNC_ARGS_PASSTHRU);
290+
PHP_MINIT(MutateInSpec)(INIT_FUNC_ARGS_PASSTHRU);
230291
PHP_MINIT(SearchQuery)(INIT_FUNC_ARGS_PASSTHRU);
231292
PHP_MINIT(SearchQueryPart)(INIT_FUNC_ARGS_PASSTHRU);
232293
PHP_MINIT(BooleanFieldSearchQuery)(INIT_FUNC_ARGS_PASSTHRU);
@@ -258,8 +319,17 @@ PHP_MINIT_FUNCTION(couchbase)
258319
PHP_MINIT(SearchSortGeoDistance)(INIT_FUNC_ARGS_PASSTHRU);
259320
PHP_MINIT(SearchSortId)(INIT_FUNC_ARGS_PASSTHRU);
260321
PHP_MINIT(SearchSortScore)(INIT_FUNC_ARGS_PASSTHRU);
261-
PHP_MINIT(CryptoProvider)(INIT_FUNC_ARGS_PASSTHRU);
322+
// PHP_MINIT(CryptoProvider)(INIT_FUNC_ARGS_PASSTHRU);
262323
PHP_MINIT(SearchIndexManager)(INIT_FUNC_ARGS_PASSTHRU);
324+
PHP_MINIT(CollectionGet)(INIT_FUNC_ARGS_PASSTHRU);
325+
PHP_MINIT(CollectionGetReplica)(INIT_FUNC_ARGS_PASSTHRU);
326+
PHP_MINIT(CollectionExists)(INIT_FUNC_ARGS_PASSTHRU);
327+
PHP_MINIT(CollectionUnlock)(INIT_FUNC_ARGS_PASSTHRU);
328+
PHP_MINIT(CollectionStore)(INIT_FUNC_ARGS_PASSTHRU);
329+
PHP_MINIT(CollectionTouch)(INIT_FUNC_ARGS_PASSTHRU);
330+
PHP_MINIT(CollectionCounter)(INIT_FUNC_ARGS_PASSTHRU);
331+
PHP_MINIT(CollectionRemove)(INIT_FUNC_ARGS_PASSTHRU);
332+
PHP_MINIT(CollectionSubdoc)(INIT_FUNC_ARGS_PASSTHRU);
263333

264334
PCBC_REGISTER_CONST(PERSISTTO_MASTER);
265335
PCBC_REGISTER_CONST(PERSISTTO_ONE);
@@ -269,18 +339,6 @@ PHP_MINIT_FUNCTION(couchbase)
269339
PCBC_REGISTER_CONST(REPLICATETO_TWO);
270340
PCBC_REGISTER_CONST(REPLICATETO_THREE);
271341

272-
PCBC_REGISTER_LCBCONST(SDCMD_GET);
273-
PCBC_REGISTER_LCBCONST(SDCMD_REPLACE);
274-
PCBC_REGISTER_LCBCONST(SDCMD_EXISTS);
275-
PCBC_REGISTER_LCBCONST(SDCMD_DICT_ADD);
276-
PCBC_REGISTER_LCBCONST(SDCMD_DICT_UPSERT);
277-
PCBC_REGISTER_LCBCONST(SDCMD_ARRAY_ADD_FIRST);
278-
PCBC_REGISTER_LCBCONST(SDCMD_ARRAY_ADD_LAST);
279-
PCBC_REGISTER_LCBCONST(SDCMD_ARRAY_INSERT);
280-
PCBC_REGISTER_LCBCONST(SDCMD_ARRAY_ADD_UNIQUE);
281-
PCBC_REGISTER_LCBCONST(SDCMD_COUNTER);
282-
PCBC_REGISTER_LCBCONST(SDCMD_REMOVE);
283-
284342
PCBC_REGISTER_LCBCONST(CNTL_OP_TIMEOUT);
285343
PCBC_REGISTER_LCBCONST(CNTL_VIEW_TIMEOUT);
286344
PCBC_REGISTER_LCBCONST(CNTL_DURABILITY_INTERVAL);
@@ -598,7 +656,7 @@ static void basic_encoder_v1(zval *value, int sertype, int cmprtype, long cmprth
598656
add_index_zval(return_value, 2, &dtype);
599657
}
600658

601-
static void basic_decoder_v1(char *bytes, int bytes_len, unsigned long flags, unsigned long datatype,
659+
static void basic_decoder_v1(char *bytes, size_t bytes_len, unsigned long flags, unsigned long datatype,
602660
zend_bool jsonassoc, zval *return_value TSRMLS_DC)
603661
{
604662
zval res;
@@ -654,7 +712,7 @@ static void basic_decoder_v1(char *bytes, int bytes_len, unsigned long flags, un
654712
} else if (cmprtype == COUCHBASE_COMPRESSION_FASTLZ) {
655713
unsigned long output_size = *(uint32_t *)bytes;
656714
char *output = emalloc(output_size);
657-
output_size = fastlz_decompress((uint8_t *)bytes + 4, bytes_len - 4, output, output_size);
715+
output_size = fastlz_decompress((uint8_t *)bytes + 4, (int)bytes_len - 4, output, (int)output_size);
658716
if (output_size == 0) {
659717
efree(output);
660718
pcbc_log(LOGARGS(WARN), "Failed to uncompress data with fastlz");
@@ -822,7 +880,7 @@ PHP_FUNCTION(basicDecoderV1)
822880
json_array = php_array_fetchc_bool(options, "jsonassoc");
823881
}
824882

825-
basic_decoder_v1(bytes, bytes_len, flags, datatype, json_array, return_value TSRMLS_CC);
883+
basic_decoder_v1(bytes, (int)bytes_len, flags, datatype, json_array, return_value TSRMLS_CC);
826884
}
827885

828886
/* {{{ proto \Couchbase\couchbase_passthru_encoder(string $value)
@@ -893,7 +951,7 @@ PHP_FUNCTION(defaultDecoder)
893951
RETURN_NULL();
894952
}
895953

896-
basic_decoder_v1(bytes, bytes_len, flags, datatype, PCBCG(dec_json_array), return_value TSRMLS_CC);
954+
basic_decoder_v1(bytes, (int)bytes_len, flags, datatype, PCBCG(dec_json_array), return_value TSRMLS_CC);
897955
}
898956

899957
PHP_FUNCTION(zlibCompress)
@@ -958,7 +1016,7 @@ PHP_FUNCTION(fastlzCompress)
9581016
}
9591017

9601018
dataIn = PCBC_STRVAL_ZP(zdata);
961-
dataSize = PCBC_STRLEN_ZP(zdata);
1019+
dataSize = (unsigned long)PCBC_STRLEN_ZP(zdata);
9621020
dataOutSize = 4 + (dataSize + dataSize / 20);
9631021
dataOut = emalloc(dataOutSize);
9641022
dataOutSize = fastlz_compress(dataIn, dataSize, (uint8_t *)dataOut + 4);
@@ -980,7 +1038,7 @@ PHP_FUNCTION(fastlzDecompress)
9801038
}
9811039

9821040
dataIn = PCBC_STRVAL_ZP(zdata);
983-
dataSize = PCBC_STRLEN_ZP(zdata);
1041+
dataSize = (unsigned long)PCBC_STRLEN_ZP(zdata);
9841042
dataOutSize = *(uint32_t *)dataIn;
9851043
dataOut = emalloc(dataOutSize);
9861044
dataOutSize = fastlz_decompress((uint8_t *)dataIn + 4, dataSize - 4, dataOut, dataOutSize);
@@ -994,7 +1052,7 @@ static PHP_MINFO_FUNCTION(couchbase)
9941052
{
9951053
char buf[128];
9961054
const char *changeset;
997-
lcb_error_t err;
1055+
lcb_STATUS err;
9981056

9991057
err = lcb_cntl(NULL, LCB_CNTL_GET, LCB_CNTL_CHANGESET, (void *)&changeset);
10001058
if (err != LCB_SUCCESS) {

0 commit comments

Comments
 (0)