Skip to content

Commit cd57f15

Browse files
committed
Refined CLI, changed version number.
1 parent f3f9a56 commit cd57f15

File tree

6 files changed

+138
-89
lines changed

6 files changed

+138
-89
lines changed

README.md

Lines changed: 77 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
1-
SmallSQL Database
2-
Version 0.21
1+
# SmallSQL Database
32

4-
Copyright 2004-2011, by Volker Berlin
5-
Support: http://www.smallsql.de/support.html
3+
SmallSQL Database is a free DBMS library for the Java(tm) platform.
64

7-
Introduction
8-
=============
9-
SmallSQL Database is a free DBMS library for the Java(tm) platform. It runs
10-
on the Java 2 Platform (JDK 1.4 or later) and implements the JDBC 3.0 API.
5+
## Original author info
6+
7+
It runs on the Java 2 Platform (JDK 1.4 or later) and implements the JDBC 3.0 API.
118

129
SmallSQL Database is licensed under the terms of the GNU Lesser General
1310
Public License (LGPL). A copy of the license is included in the
@@ -17,39 +14,71 @@ Please note that SmallSQL Database is distributed WITHOUT ANY WARRANTY;
1714
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
1815
PARTICULAR PURPOSE. Please refer to the license for details.
1916

17+
Copyright 2004-2011, by Volker Berlin
18+
Support: http://www.smallsql.de/support.html
19+
20+
## SPECIAL NOTE
21+
22+
It's a project for educational purpose, DO NOT USE IN PRODUCTION!
23+
24+
## Build
25+
26+
Current build dependencies are:
27+
28+
- OpenJDK Runtime Environment 18.9 (build 11+28)
29+
- Maven 3.5.4
30+
- JUnit 5
31+
32+
This project uses **Java 11**, so make sure you have that installed on your computer, and have its binaries added to `PATH`.
33+
34+
In order to build, just type the following command in console, and it should build without running test cases, packed JAR file in the `target` folder.
35+
36+
```batch
37+
./mvnw clean package -DskipTests
38+
```
39+
40+
## Installation
41+
42+
See online at <http://www.smallsql.de/doc/install.htm> or in documentation download at doc\install.htm
43+
44+
For SQL syntax used in this project, see <http://smallsql.de/doc/sqlsyntax.html>
2045

21-
Installation
22-
=============
23-
See online at http://www.smallsql.de/doc/install.htm
24-
or in documentation download at doc\install.htm
46+
To run SmallSQL in CLI mode, type this:
2547

48+
```bash
49+
java -jar target/SmallSQL.jar
50+
```
2651

27-
Changes in Version 0.21 (2011-06-22)
28-
====================================
52+
Have fun with this **toy** project.
53+
54+
## Changelist
55+
56+
### Changes in Version 0.22 (2018-10-05)
57+
58+
- Adapted to modern world (After 7 years of sleeping?)
59+
60+
### Changes in Version 0.21 (2011-06-22)
2961
- ResultSet.getBinaryStream() implemented.
3062
- Added function year().
3163
- Fix conversion of binary data to String (bug 3001088).
3264
- Add JDBC URL property readonly. With readonly it is possible to share
3365
one database between multiple Java processes.
34-
- Fix a thread problem with RandomAccessFile.
66+
- Fix a thread problem with RandomAccessFile.
3567

3668

69+
### Changes in Version 0.20 (2008-12-14)
3770

38-
Changes in Version 0.20 (2008-12-14)
39-
====================================
4071
- Add AUTO_INCREMENT as alias for IDENTITY.
4172
- Add the keyword LIMIT as alias for the TOP syntax of a SELECT
4273
- Improve the handling from IDENTITY values (bug 1954682).
4374
- Fix a bug with different writing of the same database.
4475
- Fix a thread bug with concurrent reading of the same table.
4576
- Fix an ArrayIndexOutOfBoundsException with large values >32K (bug 2264600).
46-
- CREATE TABLE and CREATE VIEW are now in a transaction.
47-
This make a rollback possible. (bug 2256579).
77+
- CREATE TABLE and CREATE VIEW are now in a transaction. This make a rollback possible. (bug 2256579).
4878

4979

80+
### Changes in Version 0.19 (2007-07-31)
5081

51-
Changes in Version 0.19 (2007-07-31)
52-
====================================
5382
- Add support for multi language error messages. Support for English,
5483
Italian and German was added.
5584
- Improve the performance of a simple JOIN.
@@ -67,8 +96,8 @@ Changes in Version 0.19 (2007-07-31)
6796

6897

6998

70-
Changes in Version 0.18 (2007-06-10)
71-
====================================
99+
### Changes in Version 0.18 (2007-06-10)
100+
72101
- Fix bugs with the methods isBeforeFirst(), isFirst(), isLast() and isAfterLast().
73102
The problems occur mostly with empty ResultSets and together with ORDER BY or GROUP BY.
74103
- Fix the scrolling of scrollable, updatable ResultSets with inserted rows.
@@ -79,11 +108,10 @@ Changes in Version 0.18 (2007-06-10)
79108
with CREATE TABLE and ALTER TABLE to create doubled columns (bug 1731088).
80109
- Unicode characters are possible in JDBC URL parameters now (bug 1732416).
81110
- The method getPropertyInfo is implemented now.
82-
83111

84112

85-
Changes in Version 0.17 (2007-02-15)
86-
====================================
113+
### Changes in Version 0.17 (2007-02-15)
114+
87115
- STUFF as alias for the INSERT SQL function added.
88116
- ALTER TABLE was added.
89117
- A reading bug of DateTime values with daylight saving was fixed.
@@ -96,17 +124,16 @@ Changes in Version 0.17 (2007-02-15)
96124
- The driver ignores now right blanks if a CHAR value is compared with a VARCHAR value (bug 1654121).
97125

98126

127+
### Changes in Version 0.16 (2006-10-21)
99128

100-
Changes in Version 0.16 (2006-10-21)
101-
====================================
102129
- A ConcurrentModificationException was fixed on Connection.close().
103130
- Command line tool was added.
104131
- A call of getMoreResults() has not change the results from getUpdateCount() and getResultSet().
105132

106133

107134

108-
Changes in Version 0.15 (2006-06-28)
109-
====================================
135+
### Changes in Version 0.15 (2006-06-28)
136+
110137
- The HAVING clause has not work.
111138
- A bug with date time functions in GROUP BY clause was fixed.
112139
- Wrong ResultSetMetaData with GROUP BY was fixed.
@@ -127,8 +154,8 @@ Changes in Version 0.15 (2006-06-28)
127154
There is now a block code coverage of 80% with the EMMA tool.
128155

129156

130-
Changes in Version 0.14 (2006-05-20)
131-
====================================
157+
### Changes in Version 0.14 (2006-05-20)
158+
132159
- Some bugs for multiple execution of a PreparedStatment was fixed.
133160
- The method getGeneratedKeys() and related method was implemented.
134161
- The batch processing to the Statement class was implemented.
@@ -141,8 +168,8 @@ Changes in Version 0.14 (2006-05-20)
141168
- There is now a block code coverage of 75% with the EMMA tool.
142169

143170

144-
Changes in Version 0.13 (2006-04-09)
145-
====================================
171+
### Changes in Version 0.13 (2006-04-09)
172+
146173
- The precision for varchar and varbinary was saved wrong with 38 before.
147174
- Negativ numeric and decimal values was rounded wrong with the getInt() method.
148175
- The prefix "file:" on the database name will be ignored now. This is valid
@@ -151,8 +178,8 @@ Changes in Version 0.13 (2006-04-09)
151178
- The URL property "dbpath" and "create" was added.
152179

153180

154-
Changes in Version 0.12 (2006-03-05)
155-
=====================================
181+
### Changes in Version 0.12 (2006-03-05)
182+
156183
- Fix for CONVERT function with timestamp values.
157184
- Fix for Date values toString() with values before 1970.
158185
- Follow SQL function was added:
@@ -170,17 +197,17 @@ Changes in Version 0.12 (2006-03-05)
170197
- Now delete also the lob data file if the table is drop.
171198

172199

173-
Changes in Version 0.11 (2006-02-11)
174-
=====================================
200+
### Changes in Version 0.11 (2006-02-11)
201+
175202
- Fix for NPE with DatabaseMetaData.getTables() in not connect mode for JDBC Navigator.
176203
- Free the cached resources of a database if all connection to this database are closed.
177204
- A more helpful exception if a connection is closed instead of a NPE.
178205
- Fix for the error "Invalide column size:-1" for the data types
179206
LONGVARCHAR, LONGVARBINARY, VARCHAR larger 127 characters and VARBINARY larger 127 bytes.
180207

181208

182-
Chnages in Version 0.10 (2006-02-05)
183-
=====================================
209+
### Changes in Version 0.10 (2006-02-05)
210+
184211
- Driver classname was changed vom smallsql.server.SSDriver to smallsql.database.SSDriver
185212
- Fileformat was changed.
186213
- Follow SQL functions was added:
@@ -208,14 +235,19 @@ Chnages in Version 0.10 (2006-02-05)
208235
* TAN
209236
* TRUNCATE
210237

238+
### Changes in Version 0.02 (2005-05-22)
211239

212-
Changes in Version 0.02 (2005-05-22)
213-
=====================================
214240
- The most DatabaseMetaData are implement now.
215241
- Bug fixes for the JDBC Navigator (http://home.planet.nl/~demun000/thomas_projects/jdbcnav).
216242
- Bug fixes for the DbVisualizer 4.2.
217243

218244

219-
Changes in Version 0.01 (2005-04-16)
220-
=====================================
221-
- First public version
245+
### Changes in Version 0.01 (2005-04-16)
246+
247+
- First public version
248+
249+
## Other excellent Java based DBMS
250+
251+
- Mckoi SQL Database: <https://github.com/Mckoi/origsqldb>
252+
- Mckoi Distributed Database: <https://github.com/Mckoi/mckoiddb>
253+
- HyperSQL: <http://hsqldb.org/>

pom.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>de.smallsql</groupId>
88
<artifactId>SmallSQL</artifactId>
9-
<version>0.21</version>
9+
<version>0.22</version>
1010
<packaging>jar</packaging>
1111
<name>SmallSQL DBMS</name>
1212

@@ -73,10 +73,12 @@
7373
<artifactId>maven-jar-plugin</artifactId>
7474
<version>3.1.0</version>
7575
<configuration>
76+
<finalName>SmallSQL</finalName>
7677
<archive>
7778
<manifest>
7879
<addClasspath>true</addClasspath>
7980
<mainClass>smallsql.tools.CommandLine</mainClass>
81+
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
8082
</manifest>
8183
</archive>
8284
</configuration>

src/main/java/smallsql/database/SSDatabaseMetaData.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ public boolean allTablesAreSelectable() {
6464
public String getURL() throws SQLException {
6565
Database database = con.getDatabase(true);
6666
if (database == null)
67-
return SSDriver.URL_PREFIX;
68-
return SSDriver.URL_PREFIX + ':' + database.getName();
67+
return smallsql.tools.config.URL_PREFIX;
68+
return smallsql.tools.config.URL_PREFIX + ':' + database.getName();
6969
}
7070

7171

src/main/java/smallsql/database/SSDriver.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
package smallsql.database;
3434

3535
import smallsql.database.language.Language;
36+
import smallsql.tools.config;
3637
import smallsql.tools.util;
3738

3839
import java.sql.*;
@@ -42,8 +43,6 @@
4243

4344
public class SSDriver implements Driver {
4445

45-
static final String URL_PREFIX = "jdbc:smallsql";
46-
4746
static SSDriver drv;
4847

4948
static {
@@ -106,7 +105,7 @@ private Properties parse(String url, Properties info) throws SQLException {
106105

107106

108107
public boolean acceptsURL(String url) {
109-
return url.startsWith(URL_PREFIX);
108+
return url.startsWith(config.URL_PREFIX);
110109
}
111110

112111

@@ -120,12 +119,12 @@ public DriverPropertyInfo[] getPropertyInfo(String url, Properties info)
120119

121120

122121
public int getMajorVersion() {
123-
return 0;
122+
return config.VERSION_NUMBER_MAJOR;
124123
}
125124

126125

127126
public int getMinorVersion() {
128-
return 21;
127+
return config.VERSION_NUMBER_MINOR;
129128
}
130129

131130

0 commit comments

Comments
 (0)