Quadcap Software

Quadcap Embeddable Database

Quadcap Software

SQL/JDBC Features Matrix

Feature QED Supports?
DDL Statements 
ALTER TABLE ADD COLUMNYes
ALTER TABLE ADD CONSTRAINTYes
ALTER TABLE DROP CONSTRAINTYes
ALTER TABLE DROP COLUMNYes (since 2.3)
ALTER TABLE ALTER COLUMNYes
CREATE ASSERTIONNo
CREATE INDEXYes
CREATE SCHEMAYes
CREATE TABLEYes
CREATE TYPENo
CREATE VIEWYes
DROP ASSERTIONNo
DROP INDEXYes
DROP SCHEMANo
DROP TABLEYes
DROP VIEWYes
GRANTNo
REVOKENo
DML Statements 
DELETEYes
INSERTYes
UPDATEYes
SELECTYes
Integrity Constraints 
NOT NULLYes
UNIQUEYes
WITH IDENTITYYes
PRIMARY KEYYes
FOREIGN KEYYes
CHECKYes
VIEW WITH CHECK OPTIONYes
DEFAULT valueYes
INITIALLY DEFERREDNo
INITIALLY IMMEDIATEYes
DEFERRABLENo
NOT DEFERRABLEYes
DROP xxx RESTRICTYes
DROP xxx CASCADEYes
MATCH FULLYes
MATCH PARTIALYes
ON UPDATENo
ON DELETENo
foreign key CASCADENo
foreign key SET NULLNo
foreign key SET DEFAULTNo
foreign key NO ACTIONYes
Transactions 
Transactions SupportedYes
COMMITYes, via JDBC
ROLLBACKYes, via JDBC
Isolation Level: READ_COMMITTEDNo
Isolation Level: READ_UNCOMMITEDNo
Isolation Level: REPEATABLE_READNo
Isolation Level: SERIALIZABLEYes
Row-level lockingNo
Automatic recoveryYes
Recovery from media failure Yes (Log must be on separate physical drive)
Table types 
base tableYes
updatable viewYes
GLOBAL TEMPORARYNo
LOCAL TEMPORARYYes
ON COMMIT DELETE ROWSNo
ON COMMIT PRESERVE ROWSNo (but this is the default action)
Data Types 
INT, INTEGERYes
TINYINTYes
SMALLINTYes
BIGINTYes
VARCHARYes
CHAR, CHARACTERYes
DEC, DECIMALYes
NUMERICYes
REALYes
DOUBLE PRECISIONYes
FLOATYes
BIT VARYING, VARBINARYYes
BIT, BINARYYes
BOOLEANYes
BLOB, BINARY LARGE OBJECTYes
CLOB, CHARACTER LARGE OBJECTYes
DATEYes
TIMEYes
TIMESTAMPYes
INTERVALYes
ARRAYNo
REFNo
LOCATORNo
Query Clauses 
WHEREYes
GROUP BYYes
HAVINGYes
ORDER BYYes
Correlated sub-queriesYes
UNIONYes
INTERSECTYes
EXCEPTYes
CORRESPONDING BYYes
TABLENo
Aggregate Functions 
AVGYes
SUMYes
COUNTYes
COUNT DISTINCTYes
MINYes
MAXYes
Join Operations 
CROSS JOINYes
INNER JOINYes
LEFT OUTER JOINYes
RIGHT OUTER JOINYes
NATURAL JOINYes
JOIN ONYes
JOIN USINGYes
UNION JOINYes
FROM table-listYes
Quantified Comparisons 
ANYYes
ALLYes
SOMEYes
EXISTSYes
Information Schema 
SYS.SYSTABLESNo, use DatabaseMetaData
SYS.SYSVIEWSNo, use DatabaseMetaData
SYS.SYSCOLUMNSNo, use DatabaseMetaData
String Operators 
||Yes
Logical Operators 
ORYes
ANDYes
NOTYes
IS (NOT) NULLYes
IS (NOT) TRUEYes
IS (NOT) FALSEYes
IS (NOT) UNKNOWNYes
Comparison Operators 
<Yes
>Yes
<=Yes
>=Yes
<>Yes
=Yes
BETWEENYes
IN (values)Yes
LIKE patternYes
Arithmetic Operators 
**Yes
+Yes
-Yes
*Yes
/Yes
unary +Yes
unary -Yes
System variables 
USERYes
CURRENT_USERYes
SESSION_USERYes
SYSTEM_USERYes
CURRENT_DATEYes
CURRENT_TIMEYes
CURRENT_TIMESTAMPYes
Open Group CLI Functions 
ABSYes
ASCIIYes
ACOSYes
ASINYes
ATANYes
ATAN2Yes
BIT_LENGTHYes
CASTYes
CEILINGYes
CHARYes
CHAR_LENGTH, CHARACTER_LENGTHYes
COSYes
COTYes
CONCATYes
CURDATEYes
CURTIMEYes
DATABASEYes
DAYNAMEYes
DAYOFMONTHYes
DAYOFWEEKYes
DAYOFYEARYes
DEGREESYes
DIFFERENCEYes
EXPYes
FLOORYes
HOURYes
IFNULLYes
INSERTYes
LEFTYes
LENGTHYes
LOCATEYes
LOGYes
LOG10Yes
LOWER, LCASEYes
LTRIMYes
MINUTEYes
MODYes
MONTHYes
MONTHNAMEYes
NOWYes
OCTET_LENGTHYes
PIYes
POWERYes
QUARTERYes
RADIANSYes
RANDYes
REPEATYes
REPLACEYes
RIGHTYes
ROUNDYes
RTRIMYes
SECONDYes
SIGNYes
SINYes
SOUNDEXYes
SPACEYes
SQRTYes
SUBSTRINGYes
TANYes
TIMESTAMPADDYes
TIMESTAMPDIFFYes
TRUNCATEYes
UPPER, UCASEYes
USERYes
WEEKYes
YEARYes
Miscellanous SQL Functions 
POSITION(string1 IN string2) No, but function LOCATE can be used instead.
SUBSTRING(string FROM pos FOR length) No, but function SUBSTRING can be used instead.
TRIM( { {LEADING|TRAILING|BOTH}? {char}? FROM}? string ) No, but functions LTRIM and RTRIM can be used instead.
CASEYes (Since 2.3)
EXTRACT datetime-field FROM expression No, but functions YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, can be used instead.
OVERLAPS (binary operator?)No.
TRANSLATE(string USING translation) No.
CONVERT(string USING conversion) No.
JDBC Escape Syntax 
{escape char}Yes
{fn function}Yes
{d date}Yes
{t time}Yes
{ts timestamp}Yes
{call procedure} No, stored procedures not supported
{oj outer-join}Yes
Yes
JDBC 1.2 
java.sql.DriverYes (com.quadcap.jdbc.JdbcDriver)
java.sql.Connection Yes (multiple connections supported)
java.sql.Statement (Multiple statements per connection supported, but not threadsafe)
java.sql.PreparedStatementYes
java.sql.CallableStatementNo
java.sql.ResultSetYes
java.sql.DatabaseMetaDataYes
java.sql.ResultSetMetaDataYes
JDBC 2.0 Core 
Scrollable result setsYes (since 3.1)
Programmatic insertYes
Programmatic updateYes
Programmatic deleteYes
Batch updatesNo
Character StreamsYes
java.sql.ArrayNo
java.sql.BatchUpdateExceptionNo
java.sql.BlobYes
java.sql.ClobYes
java.sql.RefNo
java.sql.SQLDataNo
java.sql.SQLInputNo
java.sql.SQLOutputNo
java.sql.StructNo
Connection.setTypeMapNo
JDBC 2.0 Standard Extension 
javax.sql.ConnectionEventNo
javax.sql.ConnectionEventListenerNo
javax.sql.ConnectionPoolDataSourceNo
javax.sql.DataSourceNo
javax.sql.PooledConnectionNo
javax.sql.RowSetNo
javax.sql.RowSetEventNo
javax.sql.RowSetInternalNo
javax.sql.RowSetListenerNo
javax.sql.RowSetMetaDataNo
javax.sql.RowSetReaderNo
javax.sql.RowSetWriterNo
javax.sql.XAConnectionNo
javax.sql.XADataSourceNo