-
Notifications
You must be signed in to change notification settings - Fork 24
Updated PHPUnit to version 7 + gh-24 + gh-42 + gh-85 + gh-83 + gh-71 #134
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from 2 commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
108b658
Update PHPUnit to version 7 (old version 4.9 wasnt supported by PHP 7…
bigbes e93c8ed
Replace linear space scan with hash for update fields
bigbes e50e288
Selecting by space_no/index_name shouldn't throw error now
bigbes 35daa0a
Implement UNIX socket support
bigbes bf6ef57
README.md update re UNIX socket support
bigbes 13d2653
Do not reload schema on failed authentication
bigbes 4567e20
No more assertion on 0 retries options
bigbes 6453c4b
Use packpack instead of obsolete tarantool/build in .travis.yml
bigbes dd8b8fe
First bunch of review fixes
bigbes 5546eae
Update travis.yml
bigbes File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,6 +21,7 @@ Makefile.in | |
/config.nice | ||
/config.status | ||
/config.sub | ||
/configure.ac | ||
/configure.in | ||
/libtool | ||
/ltmain.sh | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,27 +14,41 @@ | |
#define MUR_SEED 13 | ||
#include "third_party/msgpuck.h" | ||
|
||
int mh_indexcmp_eq( | ||
const struct schema_index_value **lval, | ||
const struct schema_index_value **rval, | ||
void *arg | ||
) { | ||
(void )arg; | ||
if ((*lval)->key.id_len != (*rval)->key.id_len) | ||
return 0; | ||
return !memcmp((*lval)->key.id, (*rval)->key.id, (*rval)->key.id_len); | ||
} | ||
#define MH_DEFINE_CMPFUNC(NAME, TYPE) \ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I trying to retain myself from formatting nitpicking, but here the entire block formatted with exceeding 80 symbols limit. |
||
int mh_##NAME##cmp_eq(const TYPE **lval, const TYPE **rval, void *arg) { \ | ||
(void *) arg; \ | ||
if ((*lval)->key.id_len != (*rval)->key.id_len) \ | ||
return 0; \ | ||
return !memcmp((*lval)->key.id, (*rval)->key.id, (*rval)->key.id_len); \ | ||
} \ | ||
\ | ||
int mh_##NAME##cmp_key_eq(const struct schema_key *key, const TYPE **val, void *arg) { \ | ||
(void *) arg; \ | ||
if (key->id_len != (*val)->key.id_len) \ | ||
return 0; \ | ||
return !memcmp(key->id, (*val)->key.id, key->id_len); \ | ||
} | ||
MH_DEFINE_CMPFUNC(field, struct schema_field_value); | ||
MH_DEFINE_CMPFUNC(index, struct schema_index_value); | ||
MH_DEFINE_CMPFUNC(space, struct schema_space_value); | ||
#undef MH_DEFINE_CMPFUNC | ||
|
||
int mh_indexcmp_key_eq( | ||
const struct schema_key *key, | ||
const struct schema_index_value **val, | ||
void *arg | ||
) { | ||
(void )arg; | ||
if (key->id_len != (*val)->key.id_len) | ||
return 0; | ||
return !memcmp(key->id, (*val)->key.id, key->id_len); | ||
} | ||
#define mh_arg_t void * | ||
|
||
#define mh_eq(a, b, arg) mh_fieldcmp_eq(a, b, arg) | ||
#define mh_eq_key(a, b, arg) mh_fieldcmp_key_eq(a, b, arg) | ||
#define mh_hash(x, arg) PMurHash32(MUR_SEED, (*x)->key.id, (*x)->key.id_len) | ||
#define mh_hash_key(x, arg) PMurHash32(MUR_SEED, (x)->id, (x)->id_len); | ||
|
||
#define mh_node_t struct schema_field_value * | ||
#define mh_key_t struct schema_key * | ||
|
||
#define MH_CALLOC(x, y) pecalloc((x), (y), 1) | ||
#define MH_FREE(x) pefree((x), 1) | ||
|
||
#define mh_name _schema_field | ||
#define MH_SOURCE 1 | ||
#include "third_party/mhash.h" | ||
|
||
#define mh_arg_t void * | ||
|
||
|
@@ -79,7 +93,7 @@ schema_index_free(struct mh_schema_index_t *schema) { | |
do { | ||
struct schema_key key_number = { | ||
(void *)&(ivalue->index_number), | ||
sizeof(uint32_t), 0 | ||
sizeof(ivalue->index_number), 0 | ||
}; | ||
index_slot = mh_schema_index_find(schema, &key_number, | ||
NULL); | ||
|
@@ -106,28 +120,6 @@ schema_index_free(struct mh_schema_index_t *schema) { | |
} | ||
} | ||
|
||
int | ||
mh_spacecmp_eq( | ||
const struct schema_space_value **lval, | ||
const struct schema_space_value **rval, | ||
void *arg) { | ||
(void )arg; | ||
if ((*lval)->key.id_len != (*rval)->key.id_len) | ||
return 0; | ||
return !memcmp((*lval)->key.id, (*rval)->key.id, (*rval)->key.id_len); | ||
} | ||
|
||
int | ||
mh_spacecmp_key_eq( | ||
const struct schema_key *key, | ||
const struct schema_space_value **val, | ||
void *arg) { | ||
(void )arg; | ||
if (key->id_len != (*val)->key.id_len) | ||
return 0; | ||
return !memcmp(key->id, (*val)->key.id, key->id_len); | ||
} | ||
|
||
#define mh_arg_t void * | ||
|
||
#define mh_eq(a, b, arg) mh_spacecmp_eq(a, b, arg) | ||
|
@@ -158,6 +150,9 @@ schema_space_value_free(const struct schema_space_value *val) { | |
schema_index_free(val->index_hash); | ||
mh_schema_index_delete(val->index_hash); | ||
} | ||
if (val->schema_hash) { | ||
mh_schema_field_delete(val->schema_hash); | ||
} | ||
} | ||
} | ||
|
||
|
@@ -263,6 +258,11 @@ parse_schema_space_value(struct schema_space_value *space_string, | |
goto error; | ||
} | ||
val->field_number = i; | ||
val->key.id = val->field_name; | ||
val->key.id_len = val->field_name_len; | ||
mh_schema_field_put(space_string->schema_hash, | ||
(const struct schema_field_value **)&val, | ||
NULL, NULL); | ||
} | ||
return 0; | ||
error: | ||
|
@@ -367,6 +367,7 @@ schema_add_space( | |
* } | ||
*/ | ||
case 6: | ||
space_string->schema_hash = mh_schema_field_new(); | ||
if (parse_schema_space_value(space_string, &tuple) < 0) | ||
goto error; | ||
break; | ||
|
@@ -590,23 +591,21 @@ tarantool_schema_get_fid_by_string( | |
struct tarantool_schema *schema_obj, uint32_t sid, | ||
const char *field_name, uint32_t field_name_len | ||
) { | ||
struct mh_schema_space_t *schema = schema_obj->space_hash; | ||
struct schema_key space_key = { | ||
(void *)&sid, | ||
sizeof(uint32_t), 0 | ||
}; | ||
mh_int_t space_slot = mh_schema_space_find(schema, &space_key, NULL); | ||
if (space_slot == mh_end(schema)) | ||
struct mh_schema_space_t *sschema = schema_obj->space_hash; | ||
struct schema_key space_key = { (void *)&sid, sizeof(uint32_t), 0 }; | ||
mh_int_t space_slot = mh_schema_space_find(sschema, &space_key, NULL); | ||
if (space_slot == mh_end(sschema)) | ||
return -1; | ||
const struct schema_space_value *space = *mh_schema_space_node(schema, | ||
const struct schema_space_value *space = *mh_schema_space_node(sschema, | ||
space_slot); | ||
int i = 0; | ||
for (i = 0; i < space->schema_list_len; ++i) { | ||
struct schema_field_value *val = &space->schema_list[i]; | ||
if (strncmp(val->field_name, field_name, field_name_len) == 0) | ||
return val->field_number; | ||
} | ||
return -1; | ||
struct schema_key field_key = { field_name, field_name_len, 0 }; | ||
struct mh_schema_field_t *fschema = space->schema_hash; | ||
mh_int_t field_slot = mh_schema_field_find(fschema, &field_key, NULL); | ||
if (field_slot == mh_end(fschema)) | ||
return -1; | ||
const struct schema_field_value *field = *mh_schema_field_node(fschema, | ||
field_slot); | ||
return field->field_number; | ||
} | ||
|
||
struct tarantool_schema *tarantool_schema_new(int is_persistent) { | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is better to use
0o777
, should work with python2 and python3 both.