Zaid Abdulla
b0d50b07e7
Fix synthesized expressions being non-minimal
...
Let's try this again. The implementation of canRaise callback was
overly complicated and was causing the minimizer to ocassionally
get stuck in a local optima.
2022-06-14 11:23:33 -07:00
Divya Jagadish
dabf1b2f43
Improve sorting behavior by adding delay
2022-04-08 13:08:41 -07:00
Zaid Abdulla
f24111ea9f
Support modulo operator in expressions
2021-10-25 16:51:46 -07:00
Zaid Abdulla
8f662fb152
Fix expr parser treating - and / as commutative
2021-10-25 13:40:48 -07:00
Zaid Abdulla
f63e357b29
Fix synthesized expressions being non-minimal
2021-09-20 12:41:09 -07:00
Zaid Abdulla
9706026ea5
Update Prettier
2021-09-16 13:27:37 -07:00
Zaid Abdulla
bc2d258f9c
Refactor bool exp synthesizer
...
It's now more intelligent about generating IS NULL clauses. For example,
instead of 'LOWER(param) IS NULL' it now generates 'param IS NULL'.
2021-09-16 13:27:37 -07:00
Zaid Abdulla
7ae3bcdc0f
Fix escape char not interpreted in expressions
2021-09-16 00:17:21 -07:00
Zaid Abdulla
0861b2db40
Update TypeScript
2021-09-16 00:17:21 -07:00
Zaid Abdulla
08cfe4171c
Make parsing param paths strict
2021-07-16 13:20:07 -07:00
Zaid Abdulla
2ca0caa258
Reimplement foldString without regex
...
Lookbehind in regex is not supported in Safari browsers. This implementation
should be more efficient so why not.
2021-02-26 13:22:58 -08:00
Zaid Abdulla
e9a4676f5c
New function ROUND() in expressions
2021-02-07 11:29:44 -08:00
Zaid Abdulla
51e160560c
Fix handling of 'undefined' in YAML
2021-02-02 16:50:13 -08:00
Zaid Abdulla
e3acaf925d
Remove JSBI
...
No longer needed as most browsers have BigInt support now.
2021-01-25 14:44:58 -08:00
Zaid Abdulla
7594883404
Cache files to improve genieacs-fs performance
...
This also fixes a memory leak issue when the client disconnects before
completing the download. I suspect the leak had something to do with
using pipe() but I'm not sure if it's a bug in MongoDB driver or that
we were lacking proper error handling. Anyway, the pipe is no longer
leaking :)
2021-01-22 16:20:09 -08:00
Zaid Abdulla
cc89fd92d7
New simple implementation for YAML serialization
...
Tiny in size so we don't need to fetch the 80KB yaml package for simple
YAML serializaiton needs in various pages. It's also 8x faster than
yaml package so that's a big plus for debug logging.
2021-01-21 13:03:52 -08:00
Zaid Abdulla
bd55d6f512
Better support for LIKE op in query minimization
2020-11-16 15:23:38 -08:00
Zaid Abdulla
44a2fe11ee
Fix invalid expression after minimization
...
In rare edge cases where IS NULL is used the minimization process can
generate an expression that's not equivilant to the original one.
2020-10-16 17:33:29 -07:00
Zaid Abdulla
5bb6f60c4d
Update dependencies and fix new lint errors
2020-10-02 23:21:07 -07:00
Zaid Abdulla
a6f9e3d0de
Renaming yebool to espresso-iisojs
2020-09-08 20:11:00 -07:00
Zaid Abdulla
1760207217
Update Parsimmon
2020-09-01 02:30:23 -07:00
Zaid Abdulla
19c5bb03ea
Fix exception when passing null as PARAM arg
2020-08-19 20:04:36 -07:00
Zaid Abdulla
ec44ccfc07
Fix bug in authorizer
2020-08-18 12:39:46 -07:00
Zaid Abdulla
6385f54888
Allow expressions in provision arguments
2020-08-17 16:51:10 -07:00
Zaid Abdulla
fef4ddfbba
Fix canRaise bug wrecking expression synthesis
2020-08-17 16:34:57 -07:00
Zaid Abdulla
2a85d768a5
Implement COALESCE function
2020-08-17 10:01:45 -07:00
Zaid Abdulla
6cbd59c6ec
Implement CASE operator
...
This also modifies the behavior of AND/OR operators to strictly return
true/false/null whereas previously they could return the value of the
first truthy/false operand. The purpose of this change is to maintain
expression equivalency before and after minimization.
2020-08-15 14:07:45 -07:00
Zaid Abdulla
00ccf99be6
Minimize store queries
2020-07-29 02:31:31 -07:00
Zaid Abdulla
ac980116bd
Update ESLint and Prettier
2020-07-27 20:30:13 -07:00
Zaid Abdulla
e516d5338c
Reject param paths containing empty segments
2020-03-13 18:30:53 -07:00
Zaid Abdulla
8533ee7f2e
UI authentication improvements
2019-10-24 17:43:24 -07:00
Zaid Abdulla
306015f022
Fix permission filter not being applied
2019-10-11 12:41:35 -07:00
Zaid Abdulla
9d95e57d89
Update copyright notice headers
2019-06-05 00:17:36 -07:00
Zaid Abdulla
f5ccc2f707
Update TypeScript
2019-06-05 00:17:36 -07:00
Zaid Abdulla
63876025d2
Maintain types for memoized functions
2019-06-05 00:17:36 -07:00
Zaid Abdulla
4b1d2daafb
Optimize Path and PathSet
2019-06-05 00:17:36 -07:00
Shweelan Samson
b85ab60a6c
Fix a bug in LIKE filters
2019-06-05 00:17:36 -07:00
Zaid Abdulla
7e78336141
Implement evaluateAsync for expressions
2019-06-05 00:17:36 -07:00
Shweelan Samson
fdda68434b
Use expressions as validators
2019-06-05 00:17:36 -07:00
Shweelan Samson
08e3933c4a
Support function context in expression's evaluate
2019-06-05 00:17:36 -07:00
Shweelan Samson
3b3369a236
Add Permissions and Users pages
2019-03-04 16:12:29 -08:00
Zaid Abdulla
f878d828eb
Refactor code to use Path class
2019-02-26 01:38:23 -08:00
Zaid Abdulla
006f83a478
Path class
2019-02-24 12:48:27 -08:00
Zaid Abdulla
5d3c81cb23
TypeScript!
2019-02-20 03:36:52 -08:00
Zaid Abdulla
1e41c72d60
Convert backend code to ES modules
...
Bundling code now with Rollup for its flat bundling and tree shaking
support. Front end code still goes through Webpack for browser support.
2019-02-04 23:47:54 -08:00
Zaid Abdulla
192ed6b034
Fix subtract and divide in expression.evaluate
2019-01-16 03:11:45 -08:00
Zaid Abdulla
4530967b6b
Merge remote-tracking branch 'ui/master'
2018-12-27 22:22:44 -08:00