Commit Graph

886 Commits

Author SHA1 Message Date
Radosław Waśko
2843dcbf4a
When connecting to a Postgres database through a datalink stored on Enso Cloud, its asset ID is included in the audit logs (#11291)
- Closes #9869
2024-10-10 15:18:47 +00:00
Radosław Waśko
3458fe4fe1
Accessing and modifying description and labels of Enso Cloud assets (#11255)
- Closes #11227
- Additionally, it should fix #11278 by ensuring that every scheduled message goes to the desired endpoint, by splitting each batch by endpoint.
2024-10-10 12:11:10 +00:00
Hubert Plociniczak
468b643aad
Add retries to Data.read (#11269)
* Add retries to HTTP Get requests

A quick solution to random network failures for GET HTTP requests.
Should reduce the number of IOExceptions that users see while fetching
data.

* Use homemade retry logic for http requests

* Add retries to whole Data.read

Previously, we added retries only to fetch HTTP_Request. That was
insufficient as intermittent errors might happen while reading body's
stream.

Enhanced our simple server's crash endpoint to allow for different kind
of failures as well as simulate random failures.

* Remove retries from Java

Increased the scope of retries in the previous commit.

* nit

* Address PR comments

* PR comments

* Remove builtin
2024-10-10 10:25:16 +02:00
James Dunkerley
9d9c03eeaa
Some Additional Error checks for Enso_File (#11275)
- Check the validity of `Enso_Path` when making an `Enso_File`.
- Check that not an error when fetching asset reference.
- Added display text for `Enso_User`.

![image](https://github.com/user-attachments/assets/77e4bfe8-d4f4-4de5-9ccc-a7c6519d4759)

Check for `to_text` use within Enso_Cloud.
2024-10-09 11:12:25 +00:00
AdRiley
26c711ab14
Enable SQLServer select columns (#11270)
* Enable SQLServer select columns

* Code review feedback

* Code Review feedback
2024-10-08 22:57:36 +03:00
marthasharkey
1ae646419f
add method for xml doc drilldown (#11258) 2024-10-08 15:23:41 +00:00
Gregory Michael Travis
47bf591b5a
Add format parameter to Float.parse (#11229) 2024-10-07 15:43:57 +00:00
Gregory Michael Travis
cce50fab3a
Extend the range of int/float arguments to outside the range of Java long, in ceil, floor, and truncate (#11135) 2024-10-07 11:36:17 -04:00
AdRiley
d0f0770ef4
Add DB_Table feature flags (#11163)
* Refactor

* Fix

* More fixes

* Fixes

* Fix

* Fix imports

* Fix

* Fix

* Fix Test

* Fix

* Fix

* is_feature_supported API

* Add SQLServer Tests

* SQLServer Select_columns functional

* SQLServer Filter functional

* Aggregate

* order feature

* Remove old order flag

* Join

* Union

* Distinct

* Text_cleanse

* Remove Nothing tests

* add_row_number and integration

* Make_table_from

* Feature flag failing tests

* Column_operations

* Set

* date_time off

* Conversion

* More flags

* Merge

* Expressions

* TakeDrop

* Missing

* Cross_join

* More flags

* Temporaily disable

* Fix merge issue

* Update other dbs

* Code review changes

* Code review changes

* Code revoew changes

* Fix

* Fix

* Fix

* Fix

* Fix

* Code review fix

* Typo

* Code review changes

* Casing

* Add comments

* Add comments

* Update

* Fix

* Fix imports
2024-10-07 16:05:09 +01:00
AdRiley
a4f800dbf0
Add Coalesce tests and fix In-Memory version (#11242)
Add tests for coalesce and fix the In-memory version

# Important Notes
The distribution/lib/Standard/Database/0.0.0-dev/src/Internal/IR/From_Spec.enso change isn't actually needed for this MR as I switched away from using literal tables for these tests as trying to mix 2 literal tables doesn't look to be supported. The change I added will let any future developers know that.
2024-10-07 09:02:11 +00:00
Radosław Waśko
f1c2015970
Log failure to refresh the Cloud tokens (#11261)
- Trying to debug #11145, I'm adding logging of when token is refreshed and when that fails, with possibly some details that are included in the response.
- Also, the expired case is now narrowed down from 400-499 to just 401 as that's what [OAuth spec](https://www.rfc-editor.org/rfc/rfc6750.html#section-3.1) says is the correct status code for expired token. Other errors are reported as unexpected error, with more details.
2024-10-07 08:30:41 +00:00
James Dunkerley
fd72ab7052
Remove some catch alls (#11254)
- Allow Interrupted Exceptions to float out of the web requests.
- Use `Type_Error` rather than Any when catching auto scoping resolving.
- Rename `Java_Exception` to `JException`
2024-10-04 21:32:56 +00:00
James Dunkerley
a2c853c6e3
Small Fixes (#11236)
- Left over from the last PR.
- Widget for `headers` in `URL.fetch` extension.
- Fix `Left` and Right` to allow columns or expressions in it.
2024-10-02 18:57:02 +00:00
Radosław Waśko
0399a4570d
Resolving ~ in Enso asset paths to user home (#11235)
- Closes #11226
2024-10-02 18:49:43 +00:00
Radosław Waśko
0302670092
Reporting Enso test failures as annotations on the PR (#10821) 2024-10-02 16:01:28 +00:00
Gregory Michael Travis
3a22147eaf
Add format parameter to Decimal.parse (#11205) 2024-10-01 18:55:40 +00:00
James Dunkerley
6ea716f1b3
Widget for Database.connect (#11216)
- Use auto-scoping for Redshift, SQLServer and Snowflake.
![image](https://github.com/user-attachments/assets/2f5ff24a-44f4-4e87-909a-e064b8653511)
- Fix for widgets on Header functions.
![image](https://github.com/user-attachments/assets/4384efcf-a4da-48b1-b571-1167ca8d0134)
- Move `Snowflake_Details` to `Standard.Snowflake.Connection` namespace to make widgets work.
- Add widgets to `Snowflake_Details`.
![image](https://github.com/user-attachments/assets/b51d0126-a768-4f4a-9d87-c42c8e91e26b)
- Typo fix for SQLServer SPI.
- Change SQLServer port to be an Integer and added default.
- Reordered parameters on SQLServer **(potentially breaking change)**.
- Added widgets to SQLServer.
![image](https://github.com/user-attachments/assets/1c744da4-7913-4a87-9e64-fc10442a06eb)
- Added widget for JDBC options (as well as conversion from Vector to options).
![image](https://github.com/user-attachments/assets/4958b1e4-4cbc-43e3-8381-64e5ce7ea8ff)
- Added header alias to `use_first_row_as_names`.
- Added various aliases to `read` and `write`.
2024-10-01 08:43:03 +00:00
James Dunkerley
28bbc34257
Widget support for Data.fetch and Data.post. (#11199)
- Add `pretty` for `Date` and `Time`.
- Add constructors for `JS_Object` and `Dictionary` to the component browser.
- Add widgets to `Dictionary` methods.
![image](https://github.com/user-attachments/assets/4f6c58d5-9eb5-40e5-96c1-2e06e23051d0)
- Add conversion from Vector to Dictionary.
- Add `pair` method shorthand for `Pair.Value`.
- Created widget for `Header`.
- Added widgets for `Data.fetch` and `Data.post`.
- Added widgets for `Request_Body` constructors.
- Update the Forbidden Operation message to be friendlier.
![image](https://github.com/user-attachments/assets/eaac5def-a91f-450f-b814-d776311962e3)

Video before fixing Forbidden Message:

https://github.com/user-attachments/assets/f9c4bde4-3f0a-49f1-a3ca-a0aaa3219286
2024-09-27 18:08:12 +00:00
Gregory Michael Travis
ecfe959c29
Add Table and Warnings to standard exports of Visualization/Main.enso (#11190) 2024-09-27 18:07:52 +00:00
AdRiley
0f4fa42eea
Refactor unsupported db error messages (#11156)
* Refactor

* Fix

* More fixes

* Fixes

* Fix

* Fix imports

* Fix

* Fix

* Fix Test

* Fix

* Fix
2024-09-27 11:05:14 +03:00
Gregory Michael Travis
a0c3b901ac
Do not default the primary key in select_into_database_table (#11120) 2024-09-25 14:34:36 -04:00
marthasharkey
a04ae1c9ad
scatterplot- on point click (#11142) 2024-09-24 09:14:39 +00:00
Jaroslav Tulach
c3456ad2df
Eliminate Blanks inside of Type.Ascription (#11155) 2024-09-24 08:57:27 +02:00
marthasharkey
b53d7b0521
scatterplot- time series support (#11085) 2024-09-20 15:48:28 +00:00
Gregory Michael Travis
859b572242
Better error message for NULLs in primary key columns (#11055) 2024-09-18 11:56:21 -04:00
James Dunkerley
b2545b8b96
Small tweaks from using Process.run (#11110)
* Once more unto the lint dear friends.

* Default the arguments for process run.
Allow delimiter to be used to convert Text to Table.
2024-09-17 14:27:25 +01:00
James Dunkerley
0e9821519d
Widget work for AWS (#11095)
- Added `to_display_text` for `S3_File` and `Enso_File`.
- Improved widget for `AWS_Credential` allowing use of Enso secrets.
- Adjust `S3.list_objects` to return `S3_File` objects, allowing easier drill down.
- Fix for merging inherited config with direct config in widgets.
- Add missing constant types to Date.Diff widget.

![image](https://github.com/user-attachments/assets/ea125a09-5067-4dee-bef2-3d7c8d551260)
2024-09-16 18:56:14 +00:00
AdRiley
b8516f7b4a
Make all Common_Spec tests pass for SQLSerever (#10810)
* More SQL tests

* Remove duplicate

* Fix another test

* Temp fix

* More temporay fixes

* More green

* Another green

* Another one

* Fix counts

* Temporary change

* Fix tests

* Auto-commit work in progress before clean build on 2024-09-06 10:53:46

* Another fix

* Green

* Specialise ensure_query_has_no_holes

* cleanup

* Cleanup

* Cleanup

* Clean

* Code review changes
2024-09-12 10:08:55 +01:00
AdRiley
a666585afe
Add update mode to Running (#11045) 2024-09-11 17:41:33 +03:00
GregoryTravis
97a1628017
Add a banker's rounding primitive for Snowflake (#11037)
* log table_builder create

* fix log, 38,12

* fix scale in rounding tests

* shorten some decimals

* fix test

* dialect flags

* revert native bankers

* missing import

* sf builtin

* runs

* works on +/-2/4.5

* remove extreme precision limit tests

* remove another extreme precision test, and restore batching for bankers rounding tests

* cleanup

* cleanup

* cleanup, comment
2024-09-11 10:29:41 -04:00
James Dunkerley
7b4b635fa8
Add Row Number starts at 0 and other tweaks. (#11017)
- Change default to be from 0.
- Alter widgets so always shown.
- Tweaks to the Welcome screen following review with Product Team.
- Use 0 for default seed option in `Index_Sub_Range.Sample`.
- Add ALIASES for aggregate and running.
- Add more imports for `Widgets.enso` to fix extension methods not working.
2024-09-09 20:26:59 +00:00
GregoryTravis
2adb8bb86d
Use NUMBER(38, 12) as default range for Snowflake DECIMALs (#10971) 2024-09-09 18:31:09 +00:00
GregoryTravis
6f97e8041b
Upgrade SQLite to 3.46 (#10911)
Before 3.46, the SQLite parser had a limited stack, which could overflow for certain complex queries.

CTE optimizations make some of our queries much smaller, but also a little bit more deeply nested, causing the parser stack to overflow. 3.46 removes this stack limitation.

Closes #10910.
2024-09-07 17:58:59 +00:00
AdRiley
e10a1fcc03
Update welcome.csv (#10997)
Need to quote row 6 as it contains a comma
2024-09-06 09:14:20 +00:00
marthasharkey
836953289e
Wip/mk/scatter plot visual improvements (#10959)
* add mutliseries support to d3

* fix types

* fix scales when multiseries

* fix tests

* fix all tests

* basic hardcoded legend working, on only one plot at a time

* basic legend

* legend populating correctly with wrong label names

* legend with tooltip for full length names

* remove unused variale

* key on all nodes

* tooltips on points and labels

* turn on/off d3 'brush' so tool tip is availible to the user

* use colourScale

* fix type problems

* use default colour

* rename variables and remove unneeded code

* fix label

* sort labels in legend

* is multiseries show legend and dont show y label

* address comments

* fix type problem

* Update distribution/lib/Standard/Visualization/0.0.0-dev/src/Scatter_Plot.enso

Co-authored-by: James Dunkerley <jdunkerley@users.noreply.github.com>

---------

Co-authored-by: James Dunkerley <jdunkerley@users.noreply.github.com>
2024-09-06 10:12:55 +01:00
James Dunkerley
e6ea3b2607
Default Project, Templates and Docs (#10980)
- Linting updates.
- Add an `Examples.welcome` and adjust the start up project to use it.
- Merge all of Cass's work into the source code.
- Make example render in mono space font.
2024-09-05 14:36:08 +00:00
James Dunkerley
ce4c741af1
Add today, now and time to expressions (#10944)
* Add today, now and time to Expression.

* Move running and compute into Column as that allows them to be used in expressions.

* Fix bug.

* Fix exports.

* Java fmt.
2024-09-02 11:13:51 +01:00
James Dunkerley
91226be378
Small tweaks from QA (#10941) 2024-08-31 09:04:52 +02:00
Radosław Waśko
50325b6a1d
Pending Audit Logs are sent in batches (#10918) 2024-08-30 15:10:54 +02:00
GregoryTravis
5fba57206a
Add Text.to_decimal (#10874)
Add `Text.to_decimal`.
Also makes renames `Decimal.with_scale` to `set_scale` and makes it public.
2024-08-28 19:33:20 +00:00
GregoryTravis
1804f317b2
Implement .floor, .ceil, .trunc for the in-memory Decimal column (#10887)
* wip

* wip

* test

* round pending

* changelog

* fix test

* fully enable tests

* fix test
2024-08-28 14:27:26 -04:00
GregoryTravis
8260a9587f
Column-level lexically-scoped CTE expressions (#10826)
This implements `DB_Column.with`, which uses `WITH ... AS` SQL clauses to remove duplicates in the generated SQL.

After a discussion with @radeusgd, we concluded that we will probably want a more complete CTE implementation, so this one is useful for now to deal with big queries (like `round`).

# Important Notes
Still to do in this PR:

- [x] Rename `with` to `let` (or something similar)
- [x] tests
- [x] documentation
- [x] remove `State` hack by moving query generation into a class and using a `Ref` field for scoping

Results on `round_float`:

| --- | SQL length in characters (unprettified) | SQL length in lines (prettified) |
| --- | --- | --- |
| Without CTEs | 13193 | 851 |
| With CTEs | 3644 | 187 |

Compare the SQL:

[without-ctes.sql.txt](https://github.com/user-attachments/files/16629356/without-ctes.sql.txt)
[with-ctes.sql.txt](https://github.com/user-attachments/files/16629357/with-ctes.sql.txt)

Update, with name shortening:

| --- | SQL length in characters (unprettified) | SQL length in lines (prettified) |
| --- | --- | --- |
| Without CTEs | 13193 | 853 |
| With CTEs | 2427 | 176 |

[without-cte.txt](https://github.com/user-attachments/files/16694328/without-cte.txt)
[with-cte.txt](https://github.com/user-attachments/files/16694327/with-cte.txt)
2024-08-28 18:23:51 +00:00
marthasharkey
069cf61b95
Initial enso changes to ScatterPlot (#10871) 2024-08-28 13:39:55 +00:00
Radosław Waśko
80922dcd01
First/Last support in Snowflake, and partially in SQLite (#10841)
- Closes #10411
- Also a similar technique allowed to add partial support for SQLite as well.
- Only `include_nothing=True` case is still not supported as the technique used for Snowflake did not port well to SQLite and I did not find yet a satisfactory workaround (it is doable, but too ugly to justify it for now IMHO).
2024-08-28 10:00:07 +00:00
Radosław Waśko
2e5f011f3a
Move Connection classes out of Internal (#10886)
- Closes #10848
2024-08-28 08:15:07 +00:00
Jaroslav Tulach
b6f0675563
IO.print without new line (#10858) 2024-08-24 07:00:16 +02:00
Radosław Waśko
835aebdcde
Updating Cloud integration to new directory structure (#10762)
- Closes #10749
2024-08-21 18:11:27 +00:00
marthasharkey
b2237f77c7
Add drilldown to XML (#10824)
This adds the drilldown behaviour to XML_Elements.

![10557-xml-drilldown](https://github.com/user-attachments/assets/062d7de9-c157-4ea2-8a9b-a39f91c26581)
2024-08-19 10:12:42 +00:00
James Dunkerley
2dbdcb29a1
Tuning S3_File doc comments. (#10832)
- Review and update the doc comments of public functions in the AWS library.
- Reorder the functions to make the order in component browser (and online docs better).
- Align some error handling.
- Fix bug with `list` on root S3.
- Hide `S3.get_object` as it's single read makes it bad for GUI use.
2024-08-16 17:38:43 +00:00
Radosław Waśko
09137f7088
Fix Count_Distinct in Snowflake (#10818)
- Closes #10611
2024-08-16 12:43:19 +00:00