-
Notifications
You must be signed in to change notification settings - Fork 11
Comparing changes
Open a pull request
base repository: limpyd/redis-limpyd
base: v0.2.3
head repository: limpyd/redis-limpyd
compare: master
Commits on Dec 16, 2015
-
Configuration menu - View commit details
-
Copy full SHA for dfd271c - Browse repository at this point
Copy the full SHA dfd271cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 520ee8e - Browse repository at this point
Copy the full SHA 520ee8eView commit details -
Merge pull request #93 from twidi/feature/locking-bug-with-redis-py-2.10
Resolve a redis-py bug with decode_responses=True
Configuration menu - View commit details
-
Copy full SHA for fddad21 - Browse repository at this point
Copy the full SHA fddad21View commit details
Commits on Feb 15, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 67c78c3 - Browse repository at this point
Copy the full SHA 67c78c3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 476b6f2 - Browse repository at this point
Copy the full SHA 476b6f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for f837b02 - Browse repository at this point
Copy the full SHA f837b02View commit details -
Configuration menu - View commit details
-
Copy full SHA for f5052f7 - Browse repository at this point
Copy the full SHA f5052f7View commit details -
Configuration menu - View commit details
-
Copy full SHA for a45ea21 - Browse repository at this point
Copy the full SHA a45ea21View commit details -
Configuration menu - View commit details
-
Copy full SHA for af64a9b - Browse repository at this point
Copy the full SHA af64a9bView commit details -
Configuration menu - View commit details
-
Copy full SHA for dcf34f3 - Browse repository at this point
Copy the full SHA dcf34f3View commit details
Commits on Jan 26, 2018
-
Configuration menu - View commit details
-
Copy full SHA for cb2ac53 - Browse repository at this point
Copy the full SHA cb2ac53View commit details -
Allow usage of debugger in collection
This is done by restoring "state" (_slice and _len_mode) when quitting a function. When debugging, the debugger my call __len__ to display the actual variables and then change one of these values, so the state of the current debbuging is broken. Note that it's still not thread-safe but still better than before.
Configuration menu - View commit details
-
Copy full SHA for ecccf56 - Browse repository at this point
Copy the full SHA ecccf56View commit details -
Configuration menu - View commit details
-
Copy full SHA for f1f71ac - Browse repository at this point
Copy the full SHA f1f71acView commit details -
Configuration menu - View commit details
-
Copy full SHA for c06a2ba - Browse repository at this point
Copy the full SHA c06a2baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9b059b4 - Browse repository at this point
Copy the full SHA 9b059b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2187f84 - Browse repository at this point
Copy the full SHA 2187f84View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7a4312e - Browse repository at this point
Copy the full SHA 7a4312eView commit details -
ExtendedCollection.intersect can accept list and zset keys
Before, only sets were allowed (without check, btw)
1Configuration menu - View commit details
-
Copy full SHA for da4f2d0 - Browse repository at this point
Copy the full SHA da4f2d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3f8561f - Browse repository at this point
Copy the full SHA 3f8561fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a9e0eb6 - Browse repository at this point
Copy the full SHA a9e0eb6View commit details -
Extract all index related stuff into a standalone class
This class, `EqualIndex` is used by default when the field is indexable. It is based on `BaseIndex` that will be the base for other indexes to come. Each index handle the indexing, deindexing, and the filtereing (by returning a redis key that will then be used by the collection) The new indexes handle a filter "suffix", for example, for the EqualIndex: "None" (no suffix) or "__eq". When such a suffix is encountered in a filter, the first index saying it can handle it will do. It's the same for uniqueness, each index says if it can or not handle uniqueness, and then the first one capable of will check for uniqueness (to avoid doing too much work if many indexes say thay can handle it: we trust the first one) For now, and maybe for later, the primary keys are still not indexable (they are managed in a special way), but we added the ability to use the prefix "__eq" for them too. For the basic collection, we changed the moment of the index is called to get the key: instead of the moment the filter is added, it's now when the collection is called. It doesn't change a lot of things for EqualIndex, but it may for more complex indexes that may have to do some computation, locally or at the redis level. Note that this commit does not change any existing test: it is 100% compatible with existing usage of limpyd
1Configuration menu - View commit details
-
Copy full SHA for 2808b20 - Browse repository at this point
Copy the full SHA 2808b20View commit details -
Extract code to check redis version
Also rename 'has_scripting' into 'support_scripting'
Configuration menu - View commit details
-
Copy full SHA for bd405af - Browse repository at this point
Copy the full SHA bd405afView commit details -
It allows usage of these filter suffixes: - None - eq - lt - lte - gt - gte - startwith It uses the zrangebylex command from redis so it will raise if not supported by the current redis version (>=2.8.9)
Configuration menu - View commit details
-
Copy full SHA for d62bb2e - Browse repository at this point
Copy the full SHA d62bb2eView commit details -
Create indexes instances only when needed
For this we use a @cached_property decorator from django
Configuration menu - View commit details
-
Copy full SHA for f5809cf - Browse repository at this point
Copy the full SHA f5809cfView commit details -
Use lua in redis for range filtering
Previously, we fetched the result from the edis zrangebylex call, extracted the primary keys, then sent them back to redis in a set or sorted set. The problems are: - it could be a lot of data to transfer - so a big cost in memory for the caller - and it could also be a long time blocking redis to return the data Now with the script, we simple tell redis to do this in lua: no data is transfered to the caller. And in the script, the fetch of data via zrangebylex is done by blocks, so it won't take a lot of memory
Configuration menu - View commit details
-
Copy full SHA for 92c641e - Browse repository at this point
Copy the full SHA 92c641eView commit details -
Configuration menu - View commit details
-
Copy full SHA for f88074c - Browse repository at this point
Copy the full SHA f88074cView commit details -
Extract maximum stuff from TextRangeIndex to BaseRangeIndex
This `BaseRangeIndex` will then be used for `NumberRangeIndex`
Configuration menu - View commit details
-
Copy full SHA for 5941127 - Browse repository at this point
Copy the full SHA 5941127View commit details -
It allows usage of these filter suffixes: - None - eq - lt - lte - gt - gte It uses the zrangebyscore command from redis, using the value (numbers) as score.
Configuration menu - View commit details
-
Copy full SHA for 08712f9 - Browse repository at this point
Copy the full SHA 08712f9View commit details -
Configuration menu - View commit details
-
Copy full SHA for f78da10 - Browse repository at this point
Copy the full SHA f78da10View commit details -
Configuration menu - View commit details
-
Copy full SHA for 08dade3 - Browse repository at this point
Copy the full SHA 08dade3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 693b0ad - Browse repository at this point
Copy the full SHA 693b0adView commit details -
Adds ability to override behavior without subclassing
Simple with a class method named `override` that can accept a prefix or transform. The prefix will allow to differentiate two same indexes, at the storage level and the query level ("myfield__prefix=...") The transform is a function that will transform the value to be stored. For example to store only the year of a date.
Configuration menu - View commit details
-
Copy full SHA for ddcd7fe - Browse repository at this point
Copy the full SHA ddcd7feView commit details -
Add "multi-indexes" feature in contrib
This allow to easily compose complexe indexes based on many ones, for example a DateTime index allowing filtering on date, time, year, month...
Configuration menu - View commit details
-
Copy full SHA for 7b314cc - Browse repository at this point
Copy the full SHA 7b314ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for e1f4cde - Browse repository at this point
Copy the full SHA e1f4cdeView commit details -
Add doc about contrib multi-indexes
This explains the concept with the example of `DateTimeIndex` using the real code used to create this index.
Configuration menu - View commit details
-
Copy full SHA for 55c2a2e - Browse repository at this point
Copy the full SHA 55c2a2eView commit details
Commits on Jan 28, 2018
-
Configuration menu - View commit details
-
Copy full SHA for f70fd28 - Browse repository at this point
Copy the full SHA f70fd28View commit details
Commits on Jan 29, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 6fb81bd - Browse repository at this point
Copy the full SHA 6fb81bdView commit details -
Make sort(by='pk') actually work...
pks are not stored as real fields so using `sort(by='pk')` couldn't work as expected. Now, calling `sort(by='pk')` (or the real name of the pk field is managed manually) is the same as doing `sort()`. Of course, `alpha=True` also works as expected
Configuration menu - View commit details
-
Copy full SHA for 0d69492 - Browse repository at this point
Copy the full SHA 0d69492View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d33460 - Browse repository at this point
Copy the full SHA 9d33460View commit details -
Configuration menu - View commit details
-
Copy full SHA for baa6024 - Browse repository at this point
Copy the full SHA baa6024View commit details -
Configuration menu - View commit details
-
Copy full SHA for ff306a9 - Browse repository at this point
Copy the full SHA ff306a9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c0482c - Browse repository at this point
Copy the full SHA 1c0482cView commit details -
Correct and enhance collection slicing
Some slicing were not managed at all, retrieving the wrong number of data. It is now corrected, with also more cases where we try to limit the data returned by redis To be sure that the data is always correctly returned, in the tests we compare the result of slicing a collection to the same slicing of a normal python list. Same for indexing (both in `__getitem__`)
Configuration menu - View commit details
-
Copy full SHA for 0debbfc - Browse repository at this point
Copy the full SHA 0debbfcView commit details -
Not supported in python 2.6 but now we support only python >=2.7
Configuration menu - View commit details
-
Copy full SHA for 33f1593 - Browse repository at this point
Copy the full SHA 33f1593View commit details -
Configuration menu - View commit details
-
Copy full SHA for e21a27d - Browse repository at this point
Copy the full SHA e21a27dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 64d478f - Browse repository at this point
Copy the full SHA 64d478fView commit details -
Configuration menu - View commit details
-
Copy full SHA for f890354 - Browse repository at this point
Copy the full SHA f890354View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2473c65 - Browse repository at this point
Copy the full SHA 2473c65View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0c28d9f - Browse repository at this point
Copy the full SHA 0c28d9fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 87556c5 - Browse repository at this point
Copy the full SHA 87556c5View commit details
There are no files selected for viewing
This file was deleted.