forked from Limework/skript-db
Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
bf5429634a | |||
abd2d6fe03 | |||
2cc46fdae5 | |||
4fee9f2898 | |||
bbbfb83518 | |||
f51db586ef | |||
3466a04ec8 | |||
d0191007a5 | |||
b1df041ccb | |||
b9e14652ea | |||
0098450441 | |||
9c41039217 | |||
46a72639af | |||
cbd1565896 | |||
0332ad9334 | |||
32f40af484 |
20
README.md
20
README.md
@ -5,11 +5,18 @@
|
|||||||
|
|
||||||
### Difference from original skript-db
|
### Difference from original skript-db
|
||||||
- Fixed local variables disappearance in newer Skript versions (very hacky fix, but it works, so that's good!)
|
- Fixed local variables disappearance in newer Skript versions (very hacky fix, but it works, so that's good!)
|
||||||
- Thread-pool size is now automatically increasing on demand to use of CachedThreadPool, instead of a fixed hard-coded number
|
- Thread-pool size is now automatically increasing on demand with use of CachedThreadPool, instead of a fixed hard-coded number
|
||||||
- Uses a newer version of HikariCP
|
- Uses newer versions of dependencies (Increased performance and security)
|
||||||
- Only meant to be used by newer Minecraft versions (1.8 is not supported)
|
|
||||||
- Replaced `synchronously execute` with `quickly execute`, which allows to speed up queries by 50ms with some risk
|
- Replaced `synchronously execute` with `quickly execute`, which allows to speed up queries by 50ms with some risk
|
||||||
|
- SQL Driver is configurable
|
||||||
|
- A few variable type related bugs fixed
|
||||||
|
- Uses Java 11 instead of Java 8
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
1. Use 1.8+ Minecraft server version.
|
||||||
|
2. Use Skript 2.5+ (1.8 Skript fork is needed if you're using 1.8)
|
||||||
|
3. Use Java 11+ (If you use 1.8, a spigot fork is needed to support Java 11+)
|
||||||
|
4. Put skript-db in plugins folder and restart the server
|
||||||
### Expression `Data Source` => `datasource`
|
### Expression `Data Source` => `datasource`
|
||||||
Stores the connection information for a data source. This should be saved to a variable in a
|
Stores the connection information for a data source. This should be saved to a variable in a
|
||||||
`script load` event or manually through an effect command.
|
`script load` event or manually through an effect command.
|
||||||
@ -78,3 +85,10 @@ execute unsafe {fully dynamic query} in {sql}
|
|||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
### Configuration
|
||||||
|
plugins/skript-db/config.yml
|
||||||
|
```
|
||||||
|
# Only change this if you wish to use a different driver than Java's default, like MariaDB driver.
|
||||||
|
# If you use MariaDB, its driver is shaded together with skript-db, so you can just specify: "org.mariadb.jdbc.Driver"
|
||||||
|
sql-driver-class-name: "default"
|
||||||
|
```
|
7
pom.xml
7
pom.xml
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>com.btk5h</groupId>
|
<groupId>com.btk5h</groupId>
|
||||||
<artifactId>skript-db</artifactId>
|
<artifactId>skript-db</artifactId>
|
||||||
<version>1.3.4</version>
|
<version>1.3.5</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
@ -45,8 +45,8 @@
|
|||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>3.6.1</version>
|
<version>3.6.1</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>8</source>
|
<source>11</source>
|
||||||
<target>8</target>
|
<target>11</target>
|
||||||
<encoding>UTF-8</encoding>
|
<encoding>UTF-8</encoding>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
@ -56,6 +56,7 @@
|
|||||||
<version>3.2.3</version>
|
<version>3.2.3</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<createDependencyReducedPom>false</createDependencyReducedPom>
|
<createDependencyReducedPom>false</createDependencyReducedPom>
|
||||||
|
<minimizeJar>true</minimizeJar>
|
||||||
</configuration>
|
</configuration>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
|
@ -14,6 +14,9 @@ import org.bukkit.event.Event;
|
|||||||
|
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
import javax.sql.rowset.CachedRowSet;
|
import javax.sql.rowset.CachedRowSet;
|
||||||
|
import javax.sql.rowset.serial.SerialBlob;
|
||||||
|
import javax.sql.rowset.serial.SerialException;
|
||||||
|
import java.io.IOException;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSetMetaData;
|
import java.sql.ResultSetMetaData;
|
||||||
@ -299,6 +302,21 @@ public class EffExecuteStatement extends Effect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void setVariable(Event e, String name, Object obj) {
|
private void setVariable(Event e, String name, Object obj) {
|
||||||
|
|
||||||
|
//fix mediumblob and similar column types, so they return a String correctly
|
||||||
|
if (obj != null) {
|
||||||
|
if (obj.getClass().getName().equals("[B")) {
|
||||||
|
obj = new String((byte[]) obj);
|
||||||
|
|
||||||
|
//in some servers instead of being byte array, it appears as SerialBlob (depends on mc version, 1.12.2 is bvte array, 1.16.5 SerialBlob)
|
||||||
|
} else if (obj instanceof SerialBlob) {
|
||||||
|
try {
|
||||||
|
obj = new String(((SerialBlob) obj).getBinaryStream().readAllBytes());
|
||||||
|
} catch (IOException | SerialException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Variables.setVariable(name.toLowerCase(Locale.ENGLISH), obj, e, isLocal);
|
Variables.setVariable(name.toLowerCase(Locale.ENGLISH), obj, e, isLocal);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
name: skript-db
|
name: skript-db
|
||||||
version: 1.3.4
|
version: 1.3.5
|
||||||
main: com.btk5h.skriptdb.SkriptDB
|
main: com.btk5h.skriptdb.SkriptDB
|
||||||
depend: [Skript]
|
depend: [Skript]
|
||||||
authors: [btk5h, FranKusmiruk, Govindas, TPGamesNL]
|
authors: [btk5h, FranKusmiruk, Govindas, TPGamesNL]
|
||||||
|
Loading…
Reference in New Issue
Block a user