rainbowdashlabs / sadu Goto Github PK
View Code? Open in Web Editor NEWSql and damn utilitites. The successor of the sql-util.
Home Page: https://sadu.docs.chojo.dev/
License: GNU Lesser General Public License v3.0
Sql and damn utilitites. The successor of the sql-util.
Home Page: https://sadu.docs.chojo.dev/
License: GNU Lesser General Public License v3.0
Hello,
I've been using SADU v1.4.1 for a while now and noticed that there are new updates available. However, I'm a bit confused about the changes. I appreciated the use of CompletableFutures in the previous version, but it seems that this feature has been removed in the newer versions.
Could you please clarify whether it is still beneficial to use CompletableFutures in combination with something like Query#query in the latest version? If not, what is the recommended approach for handling asynchronous operations now?
Thank you for your assistance!
If you try to execute a patch file (e.g. patch_2.sql), which contains a CREATE FUNCTION
statement, it does not work. An SQL Syntax Error is thrown.
When the statement is executed via the command line, it does work perfectly fine.
Neither when running with using other Delimiters, nor without them does work.
Here is the statement I ran into this issue with: GIST
Setup when the issue first occurred:
CREATE FUNCTIONS
with just a simple statement insideSolution I use for now:
Just remove the CREATE FUNCTION
statements from the patch file and add them manually xD
Characters like !, ?, &, = break the url and prevent the password from being resolved correctly. Confirmed with MariaDB at least.
Further investigation on other database types is required. It is suspected that everything is affected that uses the password inside the url.
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
This repository currently has no open or pending branches.
.github/workflows/javadocs.yml
actions/checkout v4
actions/setup-java v4
JamesIves/github-pages-deploy-action v4
.github/workflows/publish.yml
actions/checkout v4
actions/setup-java v4
.github/workflows/verify.yml
actions/checkout v4
actions/setup-java v4
settings.gradle.kts
org.gradle.toolchains.foojay-resolver-convention 0.8.0
com.diffplug.spotless 6.25.0
com.github.johnrengelman.shadow 8.1.1
net.kyori.indra 3.1.3
net.kyori.indra.publishing 3.1.3
net.kyori.indra.publishing.sonatype 3.1.3
org.slf4j:slf4j-api 2.0.13
org.junit.jupiter:junit-jupiter 5.10.3
org.junit.jupiter:junit-jupiter-params 5.10.3
org.testcontainers:postgresql 1.19.8
org.testcontainers:mariadb 1.19.8
org.testcontainers:mysql 1.19.8
org.testcontainers:testcontainers 1.19.8
org.testcontainers:junit-jupiter 1.19.8
org.slf4j:slf4j-nop 2.0.13
org.postgresql:postgresql 42.7.3
org.mariadb.jdbc:mariadb-java-client 3.4.0
org.xerial:sqlite-jdbc 3.46.0.0
com.mysql:mysql-connector-j 9.0.0
build.gradle.kts
de.chojo.publishdata 1.4.0
org.junit.jupiter:junit-jupiter-api 5.10.3
org.junit.jupiter:junit-jupiter-engine 5.10.3
org.mockito:mockito-core 5.+
sadu-core/build.gradle.kts
org.jetbrains:annotations 24.1.0
sadu-datasource/build.gradle.kts
com.zaxxer:HikariCP 5.1.0
sadu-examples/build.gradle.kts
org.xerial:sqlite-jdbc 3.46.0.0
org.postgresql:postgresql 42.7.3
org.mariadb.jdbc:mariadb-java-client 3.4.0
mysql:mysql-connector-java 8.0.33
sadu-mapper/build.gradle.kts
sadu-mariadb/build.gradle.kts
sadu-mysql/build.gradle.kts
sadu-postgresql/build.gradle.kts
org.postgresql:postgresql 42.7.3
sadu-queries/build.gradle.kts
org.postgresql:postgresql 42.7.3
sadu-sqlite/build.gradle.kts
sadu-testing/build.gradle.kts
org.junit:junit-bom 5.10.3
org.junit:junit-bom 5.10.3
sadu-updater/build.gradle.kts
gradle/wrapper/gradle-wrapper.properties
gradle 8.9
In order to use sadu in a wider variety of projects we should switch to GNU LGPLv3 license
SPDX: LGPL-3.0-only
Implement unit tests using embedded databases for mariadb and postgresql
https://github.com/MariaDB4j/MariaDB4j
https://github.com/zonkyio/embedded-postgres
Currently we use the same builder for updates of every database.
The builder supports setting a schema, however only one of our databases even support creating a schema.
Implement a similar approach to the JDBC builder for each database type. Implementing one base builder which just gets extended by postgres might be enough already.
Affected Modules:
Implement a simple object mapper which allows to map columns on an object based on the entered class.
Object mappers are registered at a central placed and will be picked based on the column names in the result set and the expected class.
The new method will be simply called map and will be in the result state as an alternative to readRow
Add support for the java date time api introduced in java 8 in the Row and ParamBuilder.
At least for:
Additionally add support to add a current timestamp. Can be simply a delegate to the instant call.
Affected Modules:
Queries 2 introduces modules for its own and the core modules. For consistency all modules should be declared
Also in der Doku steht NULL or UUID yk?
Aber das ist nur UUID oder Error. Bitte fixen ๐๐ผ i need that
Add the CheckReturnValue annotation to methods of the query builder to avoid incomplete query builders
Implement pre and post update hooks for the updater. Each version should be able to have an update hook. Those updates hook are performed via code.
The DataSourceCreator allows to call hikari config methods via a delegate.
However we lag a direct access to the config itself, which limits the general availability of methods without a delegate.
Add a method which allows accessing the config via a consumer.
Affected Modules:
We have two very similar classes called VersionInfo and SqlVersion. Both are used in the SqlUpdater. While SqlVersion is used in external calls by other users, the VersionInfo exists purely for internal use.
Replace usage of VersionInfo with SqlVersion and remove the class.
Affected Modules:
In DataSourceCreater#loadDriverClass we wrap a exceptions in a runtime exception. This should be replaced by an own exception since usage of the RuntimeException class is not a good practice.
Affected Modules:
Implement a custom jackson dataformat for rows.
This will allow to "simply" map a row to a jackson annotated java object.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.