Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Snowpark backend #1133

Merged
merged 48 commits into from
Jan 23, 2024
Merged

Snowpark backend #1133

merged 48 commits into from
Jan 23, 2024

Commits on Jan 8, 2024

  1. Generate a new backend for Snowpark (finos#33)

    Generate empty files for ELM modules in the IR
    sfc-gh-aramirezfuentes authored and sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    f886f15 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5b2d4fe View commit details
    Browse the repository at this point in the history
  3. Add initial implementation of a 'mapping' context (finos#38)

    * Add initial implementation of a 'mapping' context
    
    This context element has information about type definitions.
    
    * Code review suggestions
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    6a7243b View commit details
    Browse the repository at this point in the history
  4. Support the literals into Snowpark (finos#39)

    Add support to the literals using the snowpark function lit for boolean, string, char, float and Int.
    Add test for lit literals.
    sfc-gh-aramirezfuentes authored and sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    55598ea View commit details
    Browse the repository at this point in the history
  5. Adds basic generation of record wrappers (finos#40)

    * Adds basic generation of record wrappers
    
    * Fix missing `extends` generation
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    58ec90e View commit details
    Browse the repository at this point in the history
  6. Add conversion for identifier expressions (finos#41)

    Considers expressions like:
    
    a.b
    a
    AConstructor
    Close finos#23 and close finos#24
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    7881a59 View commit details
    Browse the repository at this point in the history
  7. Add conversion for function parameters and return type (finos#42)

    Also adds local variables for records representing tables.
    
    Related to finos#20
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    dda3620 View commit details
    Browse the repository at this point in the history
  8. Support member list function in Snowpark (finos#46)

    Support List.member function into Snowpark using the "in" function
    sfc-gh-aramirezfuentes authored and sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    aacb84e View commit details
    Browse the repository at this point in the history
  9. Add support for Snowpark generation of basic PatternMatch cases (fino…

    …s#48)
    
    * Add support for Snowpark generation of basic PatternMatch cases
    
    The following cases are supported:
    
    - Cases with literal values
    - Cases with constructors of union types without parameters
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    55e13e1 View commit details
    Browse the repository at this point in the history
  10. Add support for some list functions (finos#49)

    * Add support for some list functions
    
    Adds basic support for:
    - `List.map` with lambda returning record
    - `List.map` with lambda returning a single value
    - `List.filter` with lambda predicate
    - `List.sum` with `List.map` as its collection
    
    * Fixes for Code review comments
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    b8d8d5d View commit details
    Browse the repository at this point in the history
  11. Support basic arithmetic operators for Snowpark (finos#56)

    Generate a basic support for the add, subtract, multiply and divide operators in Snowpark
    sfc-gh-aramirezfuentes authored and sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    ef3d8b6 View commit details
    Browse the repository at this point in the history
  12. Support the comparison operators for Snowpark (finos#59)

    Support the comparison operators for snowpark
    ===, =!=, <, >, <=, >=
    sfc-gh-aramirezfuentes authored and sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    cbfd482 View commit details
    Browse the repository at this point in the history
  13. Add support for a couple of elements (finos#60)

    * Add support for a couple of elements
    
    - Adds basic support for case/of with Union types with params
    
    ```
      case x of
        First a b c -> a
        Second y -> y
    ```
    
    - Adds support for Maybe case/of patterns
    
    ```
      case x of
        Just w -> w
        Nothing -> 19
    ```
    
    - Adds basic support for conversion of `Maybe.Just` and `Maybe.Nothing`
    
    - Adds a new Scala literal for `null`
    
    * Code review changes
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    95e6763 View commit details
    Browse the repository at this point in the history
  14. Support basic logical operators (finos#68)

    Add support for the and (&&) or (||) and not (!) operators in snowpark.
    sfc-gh-aramirezfuentes authored and sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    77105f2 View commit details
    Browse the repository at this point in the history
  15. Add Support for floor and module functions (finos#72)

    Add support for the floor and module functions in Snowpark
    sfc-gh-aramirezfuentes authored and sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    e76bf3b View commit details
    Browse the repository at this point in the history
  16. Add support let and Maybe functions (finos#69)

    * Add support `let` and `Maybe` functions
    
    Adds support for:
    
    - Basic `let` without function definitions
    - `Maybe.map`
    - `Maybe.withDefault`
    
    * Fix Nothing comparisons
    
    Also fixes tagging of fields with aliases.
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    3206866 View commit details
    Browse the repository at this point in the history
  17. Add support to access field of a record (finos#74)

    Add support to access field of a record in the way .field
    sfc-gh-aramirezfuentes authored and sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    31140fd View commit details
    Browse the repository at this point in the history
  18. Misc fixes for compiling LCR assets reduced (finos#76)

    - Fix creation of union type instance with parameters
    - Fix generation of parameter names with Scala reserved words
    - Fix calls to use curry-like syntax in scala
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    3d62b91 View commit details
    Browse the repository at this point in the history
  19. Add generation of wrappers for keeping record references (finos#82)

    * Add generation of wrappers for keeping record references
    
    Now we don't remove parameters representing records from functions .
    This fixes problems where the a column may be lead to ambiguities.
    
    * Code review suggestions
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    010a323 View commit details
    Browse the repository at this point in the history
  20. Small changes LCR's Unsecured (finos#83)

    Changes to allow the conversion of must of the subset for Unsecured.elm.
    
    Adds basic unpacking of JSON results.
    
    Fixes finos#75
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    a2abc15 View commit details
    Browse the repository at this point in the history
  21. Add tuple creation and matching (finos#84)

    Adds support for converting tuple creation:
    
    let
       t = (1,2,3)
    And matching:
    
    case t of
       (a,b,c) -> c
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    c732ffd View commit details
    Browse the repository at this point in the history
  22. Add Support for Morphir SDK Aggregate and some arithmetic functions (f…

    …inos#88)
    
    * Add support for the groupBy and aggregate from Morphir.SDK
    
    Add support to the pattern of groupBy and Aggregate from the Moprhir.SDK in Snowpark
    
    * Support multiple variables in the lambda's call for the SDK Aggregate function
    
    Support multiple variable in the lambda's call for the SDK aggregate function
    
    * Support the alias function from the column in order to generate a custom column name
    
    * Refactoring Aggregate mapping
    
    * Fix alias generation and refactoring constants and map functions file
    sfc-gh-aramirezfuentes authored and sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    826edf1 View commit details
    Browse the repository at this point in the history
  23. Fix in the aggregate function with alias (finos#90)

    Fix alias name when is added in the aggregate function for the column
    sfc-gh-aramirezfuentes authored and sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    03efda3 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    74f5ae5 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    74c71e2 View commit details
    Browse the repository at this point in the history
  26. Fix lambda functions passed as arguments (finos#92)

    Fix passing lambda functions as arguments.
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    0d2e165 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    84c5294 View commit details
    Browse the repository at this point in the history
  28. Changes to improve compilation for Calculations.elm (finos#96)

    * Changes to improve compilation for `Calculations.elm`
    
    Adds support for:
    
    - Different set of function mappings when converting a function
      identified as Scala-only
    - Convert empty DataFrame (still pending issue with session object)
    - Adds several simple mappings for `Calculations.elm`: `List.maximum` ,
      `max`, `min`
    
    * Code review fixes and fix List.sum with null values
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    7bcce74 View commit details
    Browse the repository at this point in the history
  29. Support Aggregate function that returns a Record (finos#98)

    * Add support for the Aggregate when returns a record
    
    Support the return type as a record in the Aggregate function.
    
    * Support records and handle error asign in the record field
    sfc-gh-aramirezfuentes authored and sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    00d7444 View commit details
    Browse the repository at this point in the history
  30. Add decorations processing (finos#99)

    * First commit for decorations
    
    * Add support for `inlining`
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    25f87a3 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    8e709dd View commit details
    Browse the repository at this point in the history
  32. Basic implementation for the innerjoin function (finos#101)

    First support for the join feature in elm. Mapping the innerJoin function from Elm
    sfc-gh-aramirezfuentes authored and sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    0c74626 View commit details
    Browse the repository at this point in the history
  33. Add issue generation report (finos#102)

    * Add issue generation report
    
    - Generates `GenerationReport.elm`
    - Adds propagation of issue list
    - Changes uses of `Value` for `TypedValue`
    
    * Code review suggestions
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    0705aee View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    b7bb967 View commit details
    Browse the repository at this point in the history
  35. Sf/basicdocumentation (finos#106)

    * In-progress documentation and fixes/coverage
    
    * Add minor updates
    
    * Add missing elements
    
    * Add latest changes
    
    * Split initial documents
    
    * Code review comments
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    6db15bf View commit details
    Browse the repository at this point in the history
  36. Add unit test coverage and some bug fixes (finos#107)

    - Fixes some pattern matching scenarios
    - Adds pattern matching test
    - Adds function mapping tests
    - Adds support for some function scenarios
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    7093d1f View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    f98f826 View commit details
    Browse the repository at this point in the history
  38. Add Snowpark backend support to CLI2 (#1)

    Adds command line options for the `Snowpark` backend to the CLI2
    project.
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    4d02e60 View commit details
    Browse the repository at this point in the history
  39. - Add support to the multiple Join. (#2)

    - Add Test for the join feature.
    sfc-gh-aramirezfuentes authored and sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    40eec96 View commit details
    Browse the repository at this point in the history
  40. Sf/docreview (#3)

    * Adding and fixing documentation for Snowpark backend
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    3b02ca5 View commit details
    Browse the repository at this point in the history
  41. Fix boolean expression generation in pattern matching code

    - Remove unused code
    - Fix Boolean expression generation in pattern matching code
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    1c9f205 View commit details
    Browse the repository at this point in the history
  42. Add documentation for the join feature (#5)

    * Add documentation for the join feature
    
    * Fixing documentation
    sfc-gh-aramirezfuentes authored and sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    77afb1a View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    921b43c View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    b8a701f View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    e9bb030 View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    054fd06 View commit details
    Browse the repository at this point in the history
  47. Fix a couple of problems (#10)

    Fixes:
    
    - `List.filter` with a local function reference
    - Binary operation generated as part of a projection
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    8c61b78 View commit details
    Browse the repository at this point in the history
  48. Code review suggestion (#11)

    * Code review suggestion
    
    Changes string literal to "throwing an exception" when processing
    a not supported element.
    
    * Code review suggestion
    
    Add support for aggregate errors
    sfc-gh-lfallasavendano committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    4689058 View commit details
    Browse the repository at this point in the history