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

Refactor init schema logic into builder #3186

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

alishakawaguchi
Copy link
Contributor

@alishakawaguchi alishakawaguchi commented Jan 23, 2025

No new logic. Needed to refactor init schema logic so that I can use it in the CLI sync

@alishakawaguchi alishakawaguchi added the Devex Created by Linear-GitHub Sync label Jan 23, 2025
@alishakawaguchi alishakawaguchi self-assigned this Jan 23, 2025
Copy link

vercel bot commented Jan 23, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

1 Skipped Deployment
Name Status Preview Comments Updated (UTC)
neosync-docs ⬜️ Ignored (Inspect) Visit Preview Jan 31, 2025 4:28am

@alishakawaguchi alishakawaguchi marked this pull request as draft January 23, 2025 23:10
Copy link

github-actions bot commented Jan 23, 2025

Benchstat Geomean Results

0.14% sec/op, -0.05% B/op, 0.00% allocs/op

Benchstat results
                                   │ main-benchmark.txt │        branch-benchmark.txt         │
                                   │       sec/op       │   sec/op     vs base                │
CleanPostgresType-4                        41.12n ± ∞ ¹   42.70n ± 1%       ~ (p=0.286 n=1+6)
Runner_Single-4                            7.942µ ± ∞ ¹   7.791µ ± 3%       ~ (p=0.571 n=1+6)
GenerateBool-4                             11.76n ± ∞ ¹   11.35n ± 3%  -3.53% (n=1+6)
GenerateBusinessName-4                     334.8n ± ∞ ¹   328.4n ± 3%       ~ (p=0.571 n=1+6)
GenerateCardNumber-4                       28.64n ± ∞ ¹   28.61n ± 1%       ~ (p=0.857 n=1+6)
GenerateCategorical-4                      102.3n ± ∞ ¹   102.8n ± 1%       ~ (p=0.286 n=1+6)
GenerateCity-4                             173.1n ± ∞ ¹   179.5n ± 1%       ~ (p=0.286 n=1+6)
GenerateCountry-4                          105.2n ± ∞ ¹   106.4n ± 1%       ~ (p=0.286 n=1+6)
GenerateEmail-4                            1.383µ ± ∞ ¹   1.360µ ± 1%       ~ (p=0.286 n=1+6)
GenerateFirstName-4                        236.7n ± ∞ ¹   208.2n ± 3%       ~ (p=0.286 n=1+6)
GenerateFloat64-4                          28.72n ± ∞ ¹   29.07n ± 1%       ~ (p=0.286 n=1+6)
GenerateFullAddress-4                      1.430µ ± ∞ ¹   1.450µ ± 1%       ~ (p=0.286 n=1+6)
GenerateFullName-4                         1.299µ ± ∞ ¹   1.382µ ± 1%       ~ (p=0.286 n=1+6)
GenerateGender-4                           41.98n ± ∞ ¹   41.92n ± 0%       ~ (p=0.571 n=1+6)
GenerateInt64-4                            28.00n ± ∞ ¹   28.44n ± 1%       ~ (p=0.286 n=1+6)
GenerateInt64PhoneNumber-4                 51.76n ± ∞ ¹   51.52n ± 0%       ~ (p=0.286 n=1+6)
GenerateInternationalPhoneNumber-4         176.1n ± ∞ ¹   176.0n ± 0%       ~ (p=0.857 n=1+6)
GenerateIpAddress-4                        568.1n ± ∞ ¹   538.1n ± 1%       ~ (p=0.286 n=1+6)
GenerateLastName-4                         196.7n ± ∞ ¹   192.0n ± 2%       ~ (p=0.286 n=1+6)
GenerateRandomString-4                    1007.0n ± ∞ ¹   990.4n ± 2%       ~ (p=0.286 n=1+6)
GenerateSHA256Hash-4                       1.007µ ± ∞ ¹   1.032µ ± 1%       ~ (p=0.286 n=1+6)
GenerateSSN-4                              301.8n ± ∞ ¹   301.8n ± 1%       ~ (p=0.857 n=1+6)
GenerateState-4                            104.9n ± ∞ ¹   105.3n ± 0%       ~ (p=0.571 n=1+6)
GenerateStreetAddress-4                    205.3n ± ∞ ¹   213.9n ± 2%       ~ (p=0.286 n=1+6)
GenerateStringPhoneNumber-4                173.9n ± ∞ ¹   178.6n ± 0%       ~ (p=0.286 n=1+6)
GenerateUnixTimestamp-4                    81.14n ± ∞ ¹   77.23n ± 0%       ~ (p=0.286 n=1+6)
GenerateUsername-4                         354.3n ± ∞ ¹   362.8n ± 1%       ~ (p=0.286 n=1+6)
GenerateUTCTimestamp-4                     107.1n ± ∞ ¹   104.2n ± 1%       ~ (p=0.286 n=1+6)
GenerateUUID-4                             738.8n ± ∞ ¹   738.2n ± 0%       ~ (p=0.571 n=1+6)
GenerateZipcode-4                          105.5n ± ∞ ¹   106.2n ± 0%       ~ (p=0.286 n=1+6)
TransformCharacterScramble-4               173.7n ± ∞ ¹   172.6n ± 0%       ~ (p=0.286 n=1+6)
TransformE164PhoneNumber-4                 180.9n ± ∞ ¹   181.5n ± 0%       ~ (p=0.286 n=1+6)
TransformEmail-4                           1.791µ ± ∞ ¹   1.800µ ± 3%       ~ (p=1.143 n=1+6)
TransformFirstName-4                       239.7n ± ∞ ¹   238.1n ± 1%       ~ (p=0.286 n=1+6)
TransformFloat64-4                         111.5n ± ∞ ¹   116.8n ± 0%       ~ (p=0.286 n=1+6)
TransformFullName-4                        1.304µ ± ∞ ¹   1.368µ ± 5%       ~ (p=0.571 n=1+6)
TransformInt64-4                           33.45n ± ∞ ¹   33.70n ± 0%       ~ (p=0.286 n=1+6)
TransformInt64PhoneNumber-4                58.74n ± ∞ ¹   58.06n ± 1%       ~ (p=0.286 n=1+6)
TransformLastName-4                        197.3n ± ∞ ¹   201.2n ± 3%       ~ (p=0.286 n=1+6)
TransformString-4                          1.026µ ± ∞ ¹   1.027µ ± 2%       ~ (p=1.143 n=1+6)
TransformStringPhoneNumber-4               205.1n ± ∞ ¹   210.8n ± 1%       ~ (p=0.286 n=1+6)
TransformUuid-4                            36.66n ± ∞ ¹   36.83n ± 0%       ~ (p=0.286 n=1+6)
geomean                                    197.0n         197.2n       +0.14%
¹ need >= 6 samples for confidence interval at level 0.95

                                   │ main-benchmark.txt │          branch-benchmark.txt          │
                                   │        B/op        │     B/op      vs base                  │
CleanPostgresType-4                         0.000 ± ∞ ¹     0.000 ± 0%       ~ (p=1.000 n=1+6) ²
Runner_Single-4                           2.318Ki ± ∞ ¹   2.294Ki ± 4%       ~ (p=0.286 n=1+6)
GenerateBool-4                              0.000 ± ∞ ¹     0.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateBusinessName-4                      304.0 ± ∞ ¹     304.0 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateCardNumber-4                        8.000 ± ∞ ¹     8.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateCategorical-4                       64.00 ± ∞ ¹     64.00 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateCity-4                              160.0 ± ∞ ¹     160.0 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateCountry-4                           24.00 ± ∞ ¹     24.00 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateEmail-4                             385.0 ± ∞ ¹     385.0 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateFirstName-4                         208.0 ± ∞ ¹     208.0 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateFloat64-4                           8.000 ± ∞ ¹     8.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateFullAddress-4                       512.0 ± ∞ ¹     512.0 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateFullName-4                          418.0 ± ∞ ¹     418.0 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateGender-4                            16.00 ± ∞ ¹     16.00 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateInt64-4                             7.000 ± ∞ ¹     7.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateInt64PhoneNumber-4                  8.000 ± ∞ ¹     8.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateInternationalPhoneNumber-4          40.00 ± ∞ ¹     40.00 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateIpAddress-4                         31.00 ± ∞ ¹     31.00 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateLastName-4                          176.0 ± ∞ ¹     176.0 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateRandomString-4                      186.0 ± ∞ ¹     186.0 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateSHA256Hash-4                        288.0 ± ∞ ¹     288.0 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateSSN-4                               46.00 ± ∞ ¹     46.00 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateState-4                             24.00 ± ∞ ¹     24.00 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateStreetAddress-4                     240.0 ± ∞ ¹     240.0 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateStringPhoneNumber-4                 40.00 ± ∞ ¹     40.00 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateUnixTimestamp-4                     8.000 ± ∞ ¹     8.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateUsername-4                          205.0 ± ∞ ¹     205.0 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateUTCTimestamp-4                      24.00 ± ∞ ¹     24.00 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateUUID-4                              80.00 ± ∞ ¹     80.00 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateZipcode-4                           24.00 ± ∞ ¹     24.00 ± 0%       ~ (p=1.000 n=1+6) ²
TransformCharacterScramble-4                40.00 ± ∞ ¹     39.50 ± 1%       ~ (p=0.857 n=1+6)
TransformE164PhoneNumber-4                  40.00 ± ∞ ¹     40.00 ± 0%       ~ (p=1.000 n=1+6) ²
TransformEmail-4                            489.0 ± ∞ ¹     489.0 ± 0%       ~ (p=1.000 n=1+6) ²
TransformFirstName-4                        224.0 ± ∞ ¹     224.0 ± 0%       ~ (p=1.000 n=1+6) ²
TransformFloat64-4                          88.00 ± ∞ ¹     88.00 ± 0%       ~ (p=1.000 n=1+6) ²
TransformFullName-4                         418.0 ± ∞ ¹     418.0 ± 0%       ~ (p=1.000 n=1+6) ²
TransformInt64-4                            8.000 ± ∞ ¹     8.000 ± 0%       ~ (p=1.000 n=1+6) ²
TransformInt64PhoneNumber-4                 8.000 ± ∞ ¹     8.000 ± 0%       ~ (p=1.000 n=1+6) ²
TransformLastName-4                         176.0 ± ∞ ¹     176.0 ± 0%       ~ (p=1.000 n=1+6) ²
TransformString-4                           202.0 ± ∞ ¹     202.0 ± 0%       ~ (p=1.000 n=1+6) ²
TransformStringPhoneNumber-4                56.00 ± ∞ ¹     56.00 ± 0%       ~ (p=1.000 n=1+6) ²
TransformUuid-4                             16.00 ± ∞ ¹     16.00 ± 0%       ~ (p=1.000 n=1+6) ²
geomean                                               ³                 -0.05%                 ³
¹ need >= 6 samples for confidence interval at level 0.95
² all samples are equal
³ summaries must be >0 to compute geomean

                                   │ main-benchmark.txt │         branch-benchmark.txt         │
                                   │     allocs/op      │ allocs/op   vs base                  │
CleanPostgresType-4                         0.000 ± ∞ ¹   0.000 ± 0%       ~ (p=1.000 n=1+6) ²
Runner_Single-4                             24.00 ± ∞ ¹   24.00 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateBool-4                              0.000 ± ∞ ¹   0.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateBusinessName-4                      2.000 ± ∞ ¹   2.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateCardNumber-4                        1.000 ± ∞ ¹   1.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateCategorical-4                       2.000 ± ∞ ¹   2.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateCity-4                              2.000 ± ∞ ¹   2.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateCountry-4                           2.000 ± ∞ ¹   2.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateEmail-4                             8.000 ± ∞ ¹   8.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateFirstName-4                         2.000 ± ∞ ¹   2.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateFloat64-4                           1.000 ± ∞ ¹   1.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateFullAddress-4                       10.00 ± ∞ ¹   10.00 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateFullName-4                          6.000 ± ∞ ¹   6.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateGender-4                            1.000 ± ∞ ¹   1.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateInt64-4                             0.000 ± ∞ ¹   0.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateInt64PhoneNumber-4                  1.000 ± ∞ ¹   1.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateInternationalPhoneNumber-4          3.000 ± ∞ ¹   3.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateIpAddress-4                         2.000 ± ∞ ¹   2.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateLastName-4                          2.000 ± ∞ ¹   2.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateRandomString-4                      3.000 ± ∞ ¹   3.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateSHA256Hash-4                        7.000 ± ∞ ¹   7.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateSSN-4                               3.000 ± ∞ ¹   3.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateState-4                             2.000 ± ∞ ¹   2.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateStreetAddress-4                     2.000 ± ∞ ¹   2.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateStringPhoneNumber-4                 3.000 ± ∞ ¹   3.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateUnixTimestamp-4                     1.000 ± ∞ ¹   1.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateUsername-4                          6.000 ± ∞ ¹   6.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateUTCTimestamp-4                      1.000 ± ∞ ¹   1.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateUUID-4                              3.000 ± ∞ ¹   3.000 ± 0%       ~ (p=1.000 n=1+6) ²
GenerateZipcode-4                           2.000 ± ∞ ¹   2.000 ± 0%       ~ (p=1.000 n=1+6) ²
TransformCharacterScramble-4                2.000 ± ∞ ¹   2.000 ± 0%       ~ (p=1.000 n=1+6) ²
TransformE164PhoneNumber-4                  3.000 ± ∞ ¹   3.000 ± 0%       ~ (p=1.000 n=1+6) ²
TransformEmail-4                            14.00 ± ∞ ¹   14.00 ± 0%       ~ (p=1.000 n=1+6) ²
TransformFirstName-4                        3.000 ± ∞ ¹   3.000 ± 0%       ~ (p=1.000 n=1+6) ²
TransformFloat64-4                          3.000 ± ∞ ¹   3.000 ± 0%       ~ (p=1.000 n=1+6) ²
TransformFullName-4                         6.000 ± ∞ ¹   6.000 ± 0%       ~ (p=1.000 n=1+6) ²
TransformInt64-4                            1.000 ± ∞ ¹   1.000 ± 0%       ~ (p=1.000 n=1+6) ²
TransformInt64PhoneNumber-4                 1.000 ± ∞ ¹   1.000 ± 0%       ~ (p=1.000 n=1+6) ²
TransformLastName-4                         2.000 ± ∞ ¹   2.000 ± 0%       ~ (p=1.000 n=1+6) ²
TransformString-4                           4.000 ± ∞ ¹   4.000 ± 0%       ~ (p=1.000 n=1+6) ²
TransformStringPhoneNumber-4                4.000 ± ∞ ¹   4.000 ± 0%       ~ (p=1.000 n=1+6) ²
TransformUuid-4                             1.000 ± ∞ ¹   1.000 ± 0%       ~ (p=1.000 n=1+6) ²
geomean                                               ³               +0.00%                 ³
¹ need >= 6 samples for confidence interval at level 0.95
² all samples are equal
³ summaries must be >0 to compute geomean

Copy link

codecov bot commented Jan 31, 2025

Codecov Report

Attention: Patch coverage is 35.05747% with 226 lines in your changes missing coverage. Please review.

Project coverage is 21.54%. Comparing base (9641ab5) to head (bbe810e).
Report is 9 commits behind head on main.

Files with missing lines Patch % Lines
...ternal/destination-database-builder/mssql/mssql.go 0.00% 99 Missing ⚠️
...ternal/destination-database-builder/mysql/mysql.go 25.71% 51 Missing and 1 partial ⚠️
.../destination-database-builder/postgres/postgres.go 56.14% 38 Missing and 12 partials ⚠️
...run-sql-init-table-stmts/init-statement-builder.go 56.52% 7 Missing and 3 partials ⚠️
...n-database-builder/destination-database-builder.go 52.63% 9 Missing ⚠️
...on-database-builder/not-supported/not-supported.go 0.00% 6 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (9641ab5) and HEAD (bbe810e). Click for more details.

HEAD has 1 upload less than BASE
Flag BASE (9641ab5) HEAD (bbe810e)
2 1
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3186      +/-   ##
==========================================
- Coverage   27.87%   21.54%   -6.34%     
==========================================
  Files         378      384       +6     
  Lines       43318    43468     +150     
==========================================
- Hits        12077     9365    -2712     
- Misses      29796    33151    +3355     
+ Partials     1445      952     -493     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Devex Created by Linear-GitHub Sync
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant