Skip to content

Commit 99c396c

Browse files
authored
Merge pull request #43 from ZorTik/development
Development
2 parents 82e495e + 0434e9a commit 99c396c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+720
-145
lines changed

asql-api/src/main/java/me/zort/sqllib/internal/annotation/LinkedOne.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package me.zort.sqllib.internal.annotation;
22

3+
import org.jetbrains.annotations.ApiStatus;
4+
35
import java.lang.annotation.ElementType;
46
import java.lang.annotation.Retention;
57
import java.lang.annotation.RetentionPolicy;
@@ -25,6 +27,7 @@
2527
*
2628
* @author ZorTik
2729
*/
30+
@ApiStatus.Experimental
2831
@Retention(RetentionPolicy.RUNTIME)
2932
@Target(ElementType.FIELD)
3033
public @interface LinkedOne {

asql-core/src/main/java/me/zort/sqllib/SQLConnectionRegistry.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ public static void debug(Connection connection, String message) {
5050
private static class RegistryCodeHandler implements SQLDatabaseConnection.CodeObserver {
5151
private final SQLDatabaseConnection connection;
5252

53+
// This will ensure that only connected instances are present in the registry
5354
@Override
5455
public void onNotified(int code) {
5556
if (code == SQLDatabaseConnection.Code.CONNECTED) {

asql-core/src/main/java/me/zort/sqllib/SQLDatabaseConnectionImpl.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131
import me.zort.sqllib.mapping.DefaultStatementMappingFactory;
3232
import me.zort.sqllib.mapping.MappingRegistryImpl;
3333
import me.zort.sqllib.mapping.ProxyInstanceImpl;
34-
import me.zort.sqllib.model.schema.DatabaseSchemaBuilder;
35-
import me.zort.sqllib.model.schema.EntitySchemaBuilder;
36-
import me.zort.sqllib.model.schema.SQLSchemaSynchronizer;
34+
import me.zort.sqllib.model.builder.DatabaseSchemaBuilder;
35+
import me.zort.sqllib.model.builder.EntitySchemaBuilder;
36+
import me.zort.sqllib.model.SQLSchemaSynchronizer;
3737
import me.zort.sqllib.pool.PooledSQLDatabaseConnection;
3838
import me.zort.sqllib.transaction.Transaction;
3939
import me.zort.sqllib.util.Validator;

asql-core/src/main/java/me/zort/sqllib/SQLDatabaseOptions.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import me.zort.sqllib.api.ISQLDatabaseOptions;
88
import me.zort.sqllib.api.options.NamingStrategy;
99
import me.zort.sqllib.internal.Defaults;
10-
import me.zort.sqllib.naming.SymbolSeparatedNamingStrategy;
1110
import org.jetbrains.annotations.NotNull;
1211

1312
@AllArgsConstructor

asql-core/src/main/java/me/zort/sqllib/SQLiteDatabaseConnection.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
import me.zort.sqllib.internal.factory.SQLConnectionFactory;
99
import me.zort.sqllib.internal.query.*;
1010
import me.zort.sqllib.internal.query.part.SetStatement;
11-
import me.zort.sqllib.model.column.SQLiteColumnQueryBuilder;
12-
import me.zort.sqllib.model.column.SQLiteColumnTypeAdjuster;
13-
import me.zort.sqllib.model.schema.SQLSchemaSynchronizer;
11+
import me.zort.sqllib.model.builder.SQLiteColumnQueryBuilder;
12+
import me.zort.sqllib.model.adjuster.SQLiteColumnTypeAdjuster;
13+
import me.zort.sqllib.model.SQLSchemaSynchronizer;
1414
import me.zort.sqllib.util.PrimaryKey;
1515
import org.jetbrains.annotations.NotNull;
1616
import org.jetbrains.annotations.Nullable;

asql-core/src/main/java/me/zort/sqllib/internal/Defaults.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
import com.google.gson.Gson;
44
import com.google.gson.GsonBuilder;
55
import me.zort.sqllib.api.options.NamingStrategy;
6-
import me.zort.sqllib.naming.SymbolSeparatedNamingStrategy;
6+
import me.zort.sqllib.naming.SnakeCaseNamingStrategy;
77

88
public final class Defaults {
99

1010
public static final String DEFAULT_DRIVER = "com.mysql.jdbc.Driver";
1111
public static final boolean DEFAULT_AUTO_RECONNECT = true;
1212
public static final boolean DEFAULT_DEBUG = false;
1313
public static final boolean DEFAULT_LOG_SQL_ERRORS = true;
14-
public static final NamingStrategy DEFAULT_NAMING_STRATEGY = new SymbolSeparatedNamingStrategy('_');
14+
public static final NamingStrategy DEFAULT_NAMING_STRATEGY = new SnakeCaseNamingStrategy('_');
1515

1616
public static final Gson DEFAULT_GSON = new GsonBuilder()
1717
.enableComplexMapKeySerialization()

asql-core/src/main/java/me/zort/sqllib/internal/fieldResolver/ConstructorParameterResolver.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@ public Object obtainValue(
2424
String convertedName,
2525
Type type
2626
) {
27-
if (!(element instanceof Parameter) || !(((Parameter) element).getDeclaringExecutable() instanceof Constructor))
27+
if (!(element instanceof Parameter) || !(((Parameter) element).getDeclaringExecutable() instanceof Constructor)) {
2828
return null;
29+
}
2930

3031
Parameter p = (Parameter) element;
3132
Matcher matcher = argumentPattern.matcher(p.getName());
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package me.zort.sqllib.internal.query;
2+
3+
import java.util.ArrayList;
4+
import java.util.List;
5+
6+
/**
7+
* Top-level query node that is used to build a query.
8+
*
9+
* @author ZorTik
10+
*/
11+
public abstract class AncestorQueryNode extends QueryNode<QueryNode<?>> {
12+
public AncestorQueryNode() {
13+
this(new ArrayList<>());
14+
}
15+
public AncestorQueryNode(List<QueryNode<?>> initial) {
16+
super(null, initial, QueryPriority.GENERAL);
17+
}
18+
}

asql-core/src/main/java/me/zort/sqllib/internal/query/DeleteQuery.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@
44
import me.zort.sqllib.api.Executive;
55
import me.zort.sqllib.SQLDatabaseConnection;
66
import me.zort.sqllib.internal.query.part.LimitStatement;
7+
import me.zort.sqllib.internal.query.part.OffsetStatement;
78
import org.jetbrains.annotations.Nullable;
89

910
import java.util.ArrayList;
1011
import java.util.Objects;
1112

12-
public class DeleteQuery extends QueryNode<QueryNode<?>> implements Executive, Conditional<DeleteQuery>, Limitable<DeleteQuery> {
13+
public class DeleteQuery extends AncestorQueryNode implements Executive, Conditional<DeleteQuery>, Limitable<DeleteQuery> {
1314

1415
private String table;
1516

@@ -25,7 +26,7 @@ public DeleteQuery(@Nullable SQLDatabaseConnection connection) {
2526
}
2627

2728
public DeleteQuery(@Nullable SQLDatabaseConnection connection, @Nullable String table) {
28-
super(null, new ArrayList<>(), QueryPriority.GENERAL);
29+
super(new ArrayList<>());
2930
this.table = table;
3031
this.connection = connection;
3132
}
@@ -35,6 +36,12 @@ public DeleteQuery from(String table) {
3536
return this;
3637
}
3738

39+
@Override
40+
public DeleteQuery offset(int offset) {
41+
then(new OffsetStatement<>(this, new ArrayList<>(), offset));
42+
return this;
43+
}
44+
3845
public DeleteQuery limit(int limit) {
3946
then(new LimitStatement<>(this, new ArrayList<>(), limit));
4047
return this;

asql-core/src/main/java/me/zort/sqllib/internal/query/InsertQuery.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import java.util.ArrayList;
1212
import java.util.Objects;
1313

14-
public class InsertQuery extends QueryNode<QueryNode<?>> implements Executive, Conditional<InsertQuery> {
14+
public class InsertQuery extends AncestorQueryNode implements Executive, Conditional<InsertQuery> {
1515

1616
@Getter
1717
private String table;
@@ -31,7 +31,7 @@ public InsertQuery(@Nullable SQLDatabaseConnection connection) {
3131
}
3232

3333
public InsertQuery(@Nullable SQLDatabaseConnection connection, @Nullable String table) {
34-
super(null, new ArrayList<>(), QueryPriority.GENERAL);
34+
super(new ArrayList<>());
3535
this.table = table;
3636
this.connection = connection;
3737
this.defs = new String[0];

0 commit comments

Comments
 (0)