* feat: Implement data type handling in MySQL (#16621)
With this implementation we can now achieve the following under prepared statement:
- Ability to distinguish between null object and "null" string
- Ability to distinguish values like {{"098765"}} and {{098765}}. The former is identified as a string and the latter is identified as an integer
* feat: Add unit test cases on data type handling in MySQL (#16621)
* chore: Move MySQL specific types to a separate class (#16621)
* chore: Remove import shortening (#16621)
* Fix testStructure test case to have loose coupling with the order of tables (#16621)
* Fix: Add missing client-side data types in params in a few test cases (#16621)
* Fix query in test case (#16621)
* Fix test cases and add small refactoring (#16621)
* Refactor assertion with a check on Optional (#16621)
* additional cypress test cases for mysql
* updated test case object
* update for failing test cases
* mysql failure point fix
* mysql false spec failure point fix
* fix flacy test cases
* flacky JSON test cases
Co-authored-by: ChandanBalajiBP <chandan@appsmith.com>
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
Also fixing the comodification array error when we are removing items from a list while iterating over it.
Fixes#17030
Co-authored-by: Aishwarya UR <aishwarya@appsmith.com>
* BugFix: Fix for mongoPlugin smart substitution of regex attributes, Fixes: https://github.com/appsmithorg/appsmith/issues/11880
Changes:
MongoPlugin.java
MongoPluginTest.java
* Added test for decimal numbers and made changes to regex
* code formatting: Formatted some test cases in MongoPluginTest.java
* fixes rght body type not selected after curlimport
* added apiContentType key in ActionConfiguration formData property
This commit fixes the bug https://github.com/appsmithorg/appsmith/issues/13978 and changes two files:
* appsmith-server/src/test/java/com/appsmith/server/services/CurlImporterServiceTest.java
* appsmith-server/src/main/java/com/appsmith/server/services/ce/CurlImporterServiceCEImpl.java
additionaly this commit fixes the Body type detection for REST APIs with GET method when imported from cURL.
* Made changes to the casing of Header key 'content-type', now it is HTTPHeader.CONTENT_TYPE standard -> 'Content-Type'. changed test cases accordingly.
* Made header-key check in assertHeader functions case insensitive in CurlImporterServiceTest.java
* removed wildcard imports and changed some comments
* changes according to PR review comments
* updated imports for APIPaneUtils
Co-authored-by: “sneha122” <“sneha@appsmith.com”>
Co-authored-by: manish kumar <manish@appsmith.com>
## Description
> The `queryAll` method of AppsmithBaseRepository does not support the mongodb limit. This PR adds the support for the same.
## How Has This Been Tested?
- locally
## Checklist:
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
Co-authored-by: Trisha Anand <trisha@appsmith.com>
* feat: Add a service layer to get AppsmithType from client-type (#16508)
This commit takes care of the following things
- It creates a service layer to get the target AppsmithType from the client-side data type and the evaluated value
- This service layer is currently not consumed by any plugins
- A full JUnit test suit for MySQL-specific types
* feat: Remove FloatType and add comments for better understanding (#16508)
* feat: Add FallbackType and covert the DataTypeService to a util class (#16508)
This commit takes care of these
- Introduce FallbackType as a separate type
- Convert the DataTypeService to a util class
- Add java doc around the methods in DataTypeService class
* feat: Rename DataTypeService to DataTypeServiceUtils (#16508)