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

Allow users to configure DatabaseProductName if needed #1478

Conversation

metron2
Copy link
Contributor

@metron2 metron2 commented Jul 10, 2023

Related to #1477

This PR allows users to set a DatabaseProductName in their configuration if they wish. This should be useful to people who have trouble with the jdbc call connection.getMetaData().getDatabaseProductName().

… product name manually if they have trouble with jdbc product detection
@lukas-krecan
Copy link
Owner

Hi, thanks. On one hand, this is something people will shoot themselves to the foot with. On the other, there is apparently no other way, if you are right and the driver does not return anything useful.

Can you please report it to Oracle, so they fix it?

Can you please change the type from string to an enum, so the API is more obvious.

Thanks again

…be specified in the config and cleans up SqlStatementsSource a bit.
@lukas-krecan
Copy link
Owner

Hi, thanks a lot, I am currently traveling, I will merge it at the end of the next week

@metron2
Copy link
Contributor Author

metron2 commented Jul 13, 2023

Thank you! We really like Shedlock.

I will try with Oracle but typically they don't fix bugs.

DB2(s -> s.startsWith("DB2")),
Unknown(s -> false);

private final Predicate<String> productMatcher;
Copy link

Choose a reason for hiding this comment

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

21% of developers fix this issue

ImmutableEnumChecker: enums should be immutable: 'DatabaseProduct' has field 'productMatcher' of type 'java.util.function.Predicate<java.lang.String>', the declaration of type 'java.util.function.Predicate<java.lang.String>' is not annotated with @com.google.errorprone.annotations.Immutable


ℹ️ Expand to see all @sonatype-lift commands

You can reply with the following commands. For example, reply with @sonatype-lift ignoreall to leave out all findings.

Command Usage
@sonatype-lift ignore Leave out the above finding from this PR
@sonatype-lift ignoreall Leave out all the existing findings from this PR
@sonatype-lift exclude <file|issue|path|tool> Exclude specified file|issue|path|tool from Lift findings by updating your config.toml file

Note: When talking to LiftBot, you need to refresh the page to see its response.
Click here to add LiftBot to another repo.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm not sure why sonatype doesn't recognize the final keyword here and the google library it likes isn't in the project already, so I will just ignore this finding.

@sonatype-lift
Copy link

sonatype-lift bot commented Jul 13, 2023

🛠 Lift Auto-fix

Some of the Lift findings in this PR can be automatically fixed. You can download and apply these changes in your local project directory of your branch to review the suggestions before committing.1

# Download the patch
curl https://lift.sonatype.com/api/patch/github.com/lukas-krecan/ShedLock/1478.diff -o lift-autofixes.diff

# Apply the patch with git
git apply lift-autofixes.diff

# Review the changes
git diff

Want it all in a single command? Open a terminal in your project's directory and copy and paste the following command:

curl https://lift.sonatype.com/api/patch/github.com/lukas-krecan/ShedLock/1478.diff | git apply

Once you're satisfied, commit and push your changes in your project.

Footnotes

  1. You can preview the patch by opening the patch URL in the browser.

@lukas-krecan lukas-krecan merged commit 936bb0a into lukas-krecan:master Jul 20, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants