This patch stems from working with an extremely large data set in ORACLE performing complex queries.
Instead of a boolean to determine like or equals, I'm using a string to determine the column's search operator which defaults to "like". This adds some flexibility on column filtering functionality.
So if you had a column of numbers and you wanted to filter to only numbers greater than or equal to an input you could simply do:
In most cases, storing a formatted list in memory was not desirable for large data sets. Instead, formatting the results is no longer done by default and is now broken out into its own callable function. A generator function has also been added so the results can be streamed.
In flask this would now look like:
If the ajax parameters specify a page length of -1, the plugin will now return the entire result set. This is to accommodate for the default "All" behavior in datatables
When using a complex query in sqlalchemy, a dynamic column (such as a count), will break the ability to do any filtering / sorting on that column. Added a check to see if a column name is not an attribute and if it's not, it's assumed to be a label in the query.
Coverage decreased (-17.8%) to 69.36% when pulling 4927559a9449cc867007c3e0af048c7570410e93 on brendino:master into 096ace624a3ca68f2d4aad6721547777ed38a98e on Pegase745:master.
This patch stems from working with an extremely large data set in ORACLE performing complex queries.
In flask this would now look like: