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

Support schema mapping when entity type is different from table type #1296

Open
naleeha opened this issue Apr 17, 2024 · 0 comments
Open

Support schema mapping when entity type is different from table type #1296

naleeha opened this issue Apr 17, 2024 · 0 comments
Assignees
Labels
server UI user Interface

Comments

@naleeha
Copy link
Contributor

naleeha commented Apr 17, 2024

Feature Request

Description of Problem:

Example when we need this

  • Big decimal, until it is supported Support BigDecimal #1295
  • Table Key expects to be String but entity in data source key are not always string

Considerations

  • Use cases in Java

Potential Solutions:

@naleeha naleeha added UI user Interface server labels Apr 17, 2024
@junaidzm13 junaidzm13 self-assigned this Apr 22, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 22, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 22, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 23, 2024
Also some improvements and refactoring on previous changes
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 24, 2024
…verterContainer enhancements / TypeUtils introduced
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 24, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 24, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 24, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 24, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 25, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 25, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 25, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 25, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 25, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 25, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 25, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 26, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 26, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 26, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 26, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 26, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 26, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 26, 2024
- with this change we've also started using built-in `toString`
  methods to convert external values to strings for SQL filter
  queries. If required can always allow users to opt-out of this by
  providing `SomeType->String` type converters and passing that
  to `SqlFilterColumnValueParser`.
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 26, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 26, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 29, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 29, 2024
…ConverterContainer so users can specify custom external-value -> sql-string conversions
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 29, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 29, 2024
- it is now just a utility to convert column value (String) from ANTLR
  to external value (original external date type) that will then be used
  with external data source for filtering.
- In the process makes it responsible only for one thing i.e. parse column
  value (String) to external value's data type. Should not care about how
  we convert the resulting external value to a String understood by SQL.
  That logic's been moved back to IgniteSqlFilterClause.
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 29, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 30, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 30, 2024
- this commit also adds more DefaultTypeConverters and some missing tests
  for DataType.parseToDataType.
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 30, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 30, 2024
- also removes `convertExternalValueToString` from `SchemaMapper`
  and moves it to Filtering use-case as it has nothing to do with
  schema mapping logic.
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 30, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 30, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 30, 2024
…ConverterContainer

- this allows users to specify custom external-value -> sql-string converters.
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 30, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 30, 2024
- it is now just a utility to convert column value (String) from ANTLR
  to external value (original external date type) that will then be used
  with external data source for filtering.
- In the process makes it responsible only for one thing i.e. parse column
  value (String) to external value's data type. Should not care about how
  we convert the resulting external value to a String understood by SQL.
  That logic's been moved back to IgniteSqlFilterClause.
- also renames SqlStringConverterContainer to less verbose ToSqlStringContainer.
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 30, 2024
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue Apr 30, 2024
heswell pushed a commit that referenced this issue Apr 30, 2024
* #1296 add TypeConverter class with simple tests and some default converters

#1296 support for conversion from primitive to wrapper types for consistency

#1296 add TypeConverterContainer and related tests

Also some improvements and refactoring on previous changes

#1296 improvements and refactoring on previous changes / TypeConverterContainer enhancements / TypeUtils introduced

#1296 add 3 more default type converters + tests for DefaultTypeConverters

* #1296 add type conversions capability to SchemaMapper

* #1296 introduce SchemaMapperBuilder for easier instantiation

- this commit also adds more DefaultTypeConverters and some missing tests
  for DataType.parseToDataType.

* #1296 add todos, stuff that needs to be changed before final PR

* #1296 add type conversion related SQL filter tests

* #1296 add small improvements to TypeConverterContainer class

* #1296 complete IgniteSqlFilterClause changes and add tests

- also removes `convertExternalValueToString` from `SchemaMapper`
  and moves it to Filtering use-case as it has nothing to do with
  schema mapping logic.

* #1296 move util.schema.typeConversion folder to util.types

* #1296 improve and add pending cleanups to ExternalEntitySchema

* #1296 fix failing tests in IgniteSqlFilteringTest

* #1296 improve SqlFilterColumnValueParser to use opt-in SqlStringConverterContainer

- this allows users to specify custom external-value -> sql-string converters.

* #1296 add tests in IgniteSqlFilteringTest for missing Boolean data type

* #1296 make FilterColumnValueParser independent of SQL use-case

- it is now just a utility to convert column value (String) from ANTLR
  to external value (original external date type) that will then be used
  with external data source for filtering.
- In the process makes it responsible only for one thing i.e. parse column
  value (String) to external value's data type. Should not care about how
  we convert the resulting external value to a String understood by SQL.
  That logic's been moved back to IgniteSqlFilterClause.
- also renames SqlStringConverterContainer to less verbose ToSqlStringContainer.

* #1296 make `parseToDataType` to return Option for easier usage with java

* #1296 remove ToSqlStringContainer.scala
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue May 1, 2024
- this would prevent SQL injection while adding better support
  for different types i.e. for instance before we had to manually
  convert values to strings (with or without quotes depending on
  the type) before using those in SQL query. Now, ignite ignite
  would do that for us out of the box.
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue May 1, 2024
- this would prevent SQL injection while adding better support
  for different types i.e. for instance before we had to manually
  convert values to strings (with or without quotes depending on
  the type) before using them in SQL query. Now, ignite would do
  that for us.
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue May 1, 2024
- remove java tests suite that was added only to gauge Java
  friendliness of the API.
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue May 1, 2024
- also removes java test suite that was added only to gauge Java
  friendliness of the API.
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue May 1, 2024
- this would prevent SQL injection while adding better support
  for different types i.e. for instance before we had to manually
  convert values to strings (with or without quotes depending on
  the type) before using them in SQL query. Now, ignite would do
  that for us.
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue May 1, 2024
- this would prevent SQL injection while adding better support
  for different types i.e. for instance before we had to manually
  convert values to strings (with or without quotes depending on
  the type) before using them in SQL query. Now, ignite would do
  that for us.
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue May 1, 2024
- also removes java test suite that was added only to gauge Java
  friendliness of the API.
junaidzm13 added a commit to junaidzm13/vuu that referenced this issue May 1, 2024
- also removes java test suite that was added only to gauge Java
  friendliness of the API.
heswell pushed a commit that referenced this issue May 1, 2024
- this would prevent SQL injection while adding better support
  for different types i.e. for instance before we had to manually
  convert values to strings (with or without quotes depending on
  the type) before using them in SQL query. Now, ignite would do
  that for us.
heswell pushed a commit that referenced this issue May 1, 2024
- also removes java test suite that was added only to gauge Java
  friendliness of the API.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
server UI user Interface
Projects
Status: 👀 To be tested in QA
Development

No branches or pull requests

2 participants