Skip to content

Conversation

@erezrokah
Copy link
Member

@erezrokah erezrokah commented Jun 5, 2023

Closes #10757

BEGIN_COMMIT_OVERRIDE
feat: Update to use Apache Arrow type system (#11214)

BREAKING-CHANGE: This release introduces an internal change to our type system to use Apache Arrow. This should not have any visible breaking changes, however due to the size of the change we are introducing it under a major version bump to communicate that it might have some bugs that we weren't able to catch during our internal tests. If you encounter an issue during the upgrade, please submit a bug report. You will also need to update destinations depending on which one you use:

  • Azure Blob Storage >= v3.2.0
  • BigQuery >= v3.0.0
  • ClickHouse >= v3.1.1
  • DuckDB >= v1.1.6
  • Elasticsearch >= v2.0.0
  • File >= v3.2.0
  • Firehose >= v2.0.2
  • GCS >= v3.2.0
  • Gremlin >= v2.1.10
  • Kafka >= v3.0.1
  • Meilisearch >= v2.0.1
  • Microsoft SQL Server >= v4.2.0
  • MongoDB >= v2.0.1
  • MySQL >= v2.0.2
  • Neo4j >= v3.0.0
  • PostgreSQL >= v4.2.0
  • S3 >= v4.4.0
  • Snowflake >= v2.1.1
  • SQLite >= v2.2.0

END_COMMIT_OVERRIDE

@erezrokah erezrokah requested review from a team and candiduslynx and removed request for a team June 5, 2023 10:56
resource := schema.NewResourceData(table, nil, values)
for i, col := range table.Columns {
// If the value points to an empty byte array array we set it to nil
if v, ok := values[i].(**[]byte); ok && *v == nil {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was a workaround and no longer needed since the scalar UUID supports **[]byte due to cloudquery/plugin-sdk#922

switch v := t.(type) {
case *arrow.BooleanType:
return "bool"
case schema.TypeInt:
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To avoid losing data for unsigned bigint I added support to all various int types + unsigned ones.
This is a breaking change

Copy link
Contributor

@candiduslynx candiduslynx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some comments & nits

@erezrokah
Copy link
Member Author

This is on hold until for the same reason as #11212 (an issue with CQ internal columns in SDK v3)

@erezrokah erezrokah force-pushed the fix/update_mysql_source_sdk_v3 branch from 23caf6b to 90d69fe Compare June 21, 2023 12:23
@erezrokah
Copy link
Member Author

Going to merge this (but not release the MySQL source) so I can use this as a baseline for the v4 upgrade

@erezrokah erezrokah added automerge Automatically merge once required checks pass and removed no automerge labels Jun 21, 2023
kodiakhq bot pushed a commit that referenced this pull request Jul 17, 2023
🤖 I have created a release *beep* *boop*
---


## [2.0.0](plugins-source-mysql-v1.2.2...plugins-source-mysql-v2.0.0) (2023-07-17)


### ⚠ BREAKING CHANGES

* Upgrades the mysql source plugin to use plugin-sdk v4. This version does not contain any user-facing breaking changes, but because it is now using CloudQuery gRPC protocol v3, it does require use of a destination plugin that also supports protocol v3. All recent destination plugin versions support this.
* This release introduces an internal change to our type system to use [Apache Arrow](https://arrow.apache.org/). This should not have any visible breaking changes, however due to the size of the change we are introducing it under a major version bump to communicate that it might have some bugs that we weren't able to catch during our internal tests. If you encounter an issue during the upgrade, please submit a [bug report](https://github.com/cloudquery/cloudquery/issues/new/choose). You will also need to update destinations depending on which one you use:
    - Azure Blob Storage >= v3.2.0
    - BigQuery >= v3.0.0
    - ClickHouse >= v3.1.1
    - DuckDB >= v1.1.6
    - Elasticsearch >= v2.0.0
    - File >= v3.2.0
    - Firehose >= v2.0.2
    - GCS >= v3.2.0
    - Gremlin >= v2.1.10
    - Kafka >= v3.0.1
    - Meilisearch >= v2.0.1
    - Microsoft SQL Server >= v4.2.0
    - MongoDB >= v2.0.1
    - MySQL >= v2.0.2
    - Neo4j >= v3.0.0
    - PostgreSQL >= v4.2.0
    - S3 >= v4.4.0
    - Snowflake >= v2.1.1
    - SQLite >= v2.2.0

### Features

* Update to use [Apache Arrow](https://arrow.apache.org/) type system ([#11214](#11214)) ([de2ae04](de2ae04))
* Upgrades the mysql source plugin to use plugin-sdk v4. This version does not contain any user-facing breaking changes, but because it is now using CloudQuery gRPC protocol v3, it does require use of a destination plugin that also supports protocol v3. All recent destination plugin versions support this. ([1e8d0f8](1e8d0f8))


### Bug Fixes

* **deps:** Update github.com/apache/arrow/go/v13 digest to 5a06b2e ([#11857](#11857)) ([43c2f5f](43c2f5f))
* **deps:** Update github.com/cloudquery/arrow/go/v13 digest to 0656028 ([#11739](#11739)) ([7a6ad49](7a6ad49))
* **deps:** Update github.com/cloudquery/arrow/go/v13 digest to 0a52533 ([#12091](#12091)) ([927cefa](927cefa))
* **deps:** Update github.com/cloudquery/arrow/go/v13 digest to 1e68c51 ([#11637](#11637)) ([46043bc](46043bc))
* **deps:** Update github.com/cloudquery/arrow/go/v13 digest to 43638cb ([#11672](#11672)) ([3c60bbb](3c60bbb))
* **deps:** Update github.com/cloudquery/arrow/go/v13 digest to 8366a22 ([#11717](#11717)) ([8eeff5b](8eeff5b))
* **deps:** Update github.com/cloudquery/arrow/go/v13 digest to 8e2219b ([#12220](#12220)) ([24e8fb5](24e8fb5))
* **deps:** Update github.com/cloudquery/arrow/go/v13 digest to 95d3199 ([#11708](#11708)) ([03f214f](03f214f))
* **deps:** Update github.com/cloudquery/arrow/go/v13 digest to a2a76eb ([#12104](#12104)) ([311f474](311f474))
* **deps:** Update github.com/cloudquery/arrow/go/v13 digest to b0832be ([#11651](#11651)) ([71e8c29](71e8c29))
* **deps:** Update github.com/cloudquery/arrow/go/v13 digest to df3b664 ([#11882](#11882)) ([9635b22](9635b22))
* **deps:** Update github.com/cloudquery/arrow/go/v13 digest to f060192 ([#11730](#11730)) ([c7019c2](c7019c2))
* **deps:** Update github.com/cloudquery/arrow/go/v13 digest to f0dffc6 ([#11689](#11689)) ([18ac0e9](18ac0e9))
* **deps:** Update module github.com/cloudquery/plugin-pb-go to v1.1.0 ([#11665](#11665)) ([d8947c9](d8947c9))
* **deps:** Update module github.com/cloudquery/plugin-pb-go to v1.2.0 ([#11720](#11720)) ([7ef521d](7ef521d))
* **deps:** Update module github.com/cloudquery/plugin-pb-go to v1.2.1 ([#11722](#11722)) ([309be72](309be72))
* **deps:** Update module github.com/cloudquery/plugin-pb-go to v1.3.3 ([#11726](#11726)) ([f0ca611](f0ca611))
* **deps:** Update module github.com/cloudquery/plugin-pb-go to v1.3.4 ([#11753](#11753)) ([cd4fe1c](cd4fe1c))
* **deps:** Update module github.com/cloudquery/plugin-pb-go to v1.5.0 ([#11850](#11850)) ([3255857](3255857))
* **deps:** Update module github.com/cloudquery/plugin-pb-go to v1.6.0 ([#11916](#11916)) ([421e752](421e752))
* **deps:** Update module github.com/cloudquery/plugin-pb-go to v1.7.0 ([#12166](#12166)) ([94390dd](94390dd))

---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automerge Automatically merge once required checks pass

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Migrate plugin/source/mysql to github.com/cloudquery/plugin-sdk/v3

3 participants