diff options
author | Eike Stepper | 2007-10-20 15:15:21 +0000 |
---|---|---|
committer | Eike Stepper | 2007-10-20 15:15:21 +0000 |
commit | e6076dcae41b4a23318f73dc37fce44ebfc3f596 (patch) | |
tree | 75aeff43e67dfde5c5f522f86e512a17c9411a9f /plugins/org.eclipse.net4j.db.mysql | |
parent | b4be229539f34f66bf12edb23dab8e6cf68e3222 (diff) | |
download | cdo-e6076dcae41b4a23318f73dc37fce44ebfc3f596.tar.gz cdo-e6076dcae41b4a23318f73dc37fce44ebfc3f596.tar.xz cdo-e6076dcae41b4a23318f73dc37fce44ebfc3f596.zip |
[206980] Add Mysql adapter
https://bugs.eclipse.org/bugs/show_bug.cgi?id=206980
Diffstat (limited to 'plugins/org.eclipse.net4j.db.mysql')
-rw-r--r-- | plugins/org.eclipse.net4j.db.mysql/META-INF/MANIFEST.MF | 14 | ||||
-rw-r--r-- | plugins/org.eclipse.net4j.db.mysql/src/org/eclipse/net4j/db/internal/mysql/MYSQLAdapter.java | 36 |
2 files changed, 45 insertions, 5 deletions
diff --git a/plugins/org.eclipse.net4j.db.mysql/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.db.mysql/META-INF/MANIFEST.MF index 366f46e019..7596d7983b 100644 --- a/plugins/org.eclipse.net4j.db.mysql/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.net4j.db.mysql/META-INF/MANIFEST.MF @@ -9,5 +9,15 @@ Bundle-ClassPath: ., lib/mysql-connector-java-5.1.5-bin.jar Fragment-Host: org.eclipse.net4j.db;bundle-version="[0.8.0,0.9.0)" Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)" -Export-Package: org.eclipse.net4j.db.internal.mysql;version="0.8.0", - org.gjt.mm.mysql;x-friends:="org.eclipse.emf.cdo.tests,org.eclipse.net4j.jms.tests,org.eclipse.net4j.tests" +Export-Package: com.mysql.jdbc, + com.mysql.jdbc.exceptions, + com.mysql.jdbc.exceptions.jdbc4, + com.mysql.jdbc.integration.c3p0, + com.mysql.jdbc.integration.jboss, + com.mysql.jdbc.interceptors, + com.mysql.jdbc.jdbc2.optional, + com.mysql.jdbc.log, + com.mysql.jdbc.profiler, + com.mysql.jdbc.util, + org.eclipse.net4j.db.internal.mysql;version="0.8.0", + org.gjt.mm.mysql diff --git a/plugins/org.eclipse.net4j.db.mysql/src/org/eclipse/net4j/db/internal/mysql/MYSQLAdapter.java b/plugins/org.eclipse.net4j.db.mysql/src/org/eclipse/net4j/db/internal/mysql/MYSQLAdapter.java index de47175fec..8038655650 100644 --- a/plugins/org.eclipse.net4j.db.mysql/src/org/eclipse/net4j/db/internal/mysql/MYSQLAdapter.java +++ b/plugins/org.eclipse.net4j.db.mysql/src/org/eclipse/net4j/db/internal/mysql/MYSQLAdapter.java @@ -11,13 +11,13 @@ package org.eclipse.net4j.db.internal.mysql; import org.eclipse.net4j.db.DBException; -import org.eclipse.net4j.db.DBType; -import org.eclipse.net4j.db.IDBField; import org.eclipse.net4j.internal.db.DBAdapter; -import org.eclipse.net4j.internal.db.DBField; import org.gjt.mm.mysql.Driver; +import java.io.BufferedReader; +import java.io.FileInputStream; +import java.io.InputStreamReader; import java.sql.SQLException; import java.util.Arrays; @@ -26,6 +26,30 @@ import java.util.Arrays; */ public class MYSQLAdapter extends DBAdapter { + private static final String[] RESERVED_WORDS = { "ACTION", "ADD", "ALL", "ALTER", "ANALYZE", "AND", "AS", "ASC", + "ASENSITIVE", "BEFORE", "BETWEEN", "BIGINT", "BINARY", "BIT", "BLOB", "BOTH", "BY", "CALL", "CASCADE", "CASE", + "CHANGE", "CHAR", "CHARACTER", "CHECK", "COLLATE", "COLUMN", "CONDITION", "CONSTRAINT", "CONTINUE", "CONVERT", + "CREATE", "CROSS", "CURRENT_DATE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "DATABASE", + "DATABASES", "DATE", "DAY_HOUR", "DAY_MICROSECOND", "DAY_MINUTE", "DAY_SECOND", "DEC", "DECIMAL", "DECLARE", + "DEFAULT", "DELAYED", "DELETE", "DESC", "DESCRIBE", "DETERMINISTIC", "DISTINCT", "DISTINCTROW", "DIV", "DOUBLE", + "DROP", "DUAL", "EACH", "ELSE", "ELSEIF", "ENCLOSED", "ENUM", "ESCAPED", "EXISTS", "EXIT", "EXPLAIN", "FALSE", + "FETCH", "FLOAT", "FLOAT4", "FLOAT8", "FOR", "FORCE", "FOREIGN", "FROM", "FULLTEXT", "GRANT", "GROUP", "HAVING", + "HIGH_PRIORITY", "HOUR_MICROSECOND", "HOUR_MINUTE", "HOUR_SECOND", "IF", "IGNORE", "IN", "INDEX", "INFILE", + "INNER", "INOUT", "INSENSITIVE", "INSERT", "INT", "INT1", "INT2", "INT3", "INT4", "INT8", "INTEGER", "INTERVAL", + "INTO", "IS", "ITERATE", "JOIN", "KEY", "KEYS", "KILL", "LEADING", "LEAVE", "LEFT", "LIKE", "LIMIT", "LINES", + "LOAD", "LOCALTIME", "LOCALTIMESTAMP", "LOCK", "LONG", "LONGBLOB", "LONGTEXT", "LOOP", "LOW_PRIORITY", "MATCH", + "MEDIUMBLOB", "MEDIUMINT", "MEDIUMTEXT", "MIDDLEINT", "MINUTE_MICROSECOND", "MINUTE_SECOND", "MOD", "MODIFIES", + "NATURAL", "NO", "NOT", "NO_WRITE_TO_BINLOG", "NULL", "NUMERIC", "ON", "OPTIMIZE", "OPTION", "OPTIONALLY", "OR", + "ORDER", "OUT", "OUTER", "OUTFILE", "PRECISION", "PRIMARY", "PROCEDURE", "PURGE", "RAID0", "READ", "READS", + "REAL", "REFERENCES", "REGEXP", "RELEASE", "RENAME", "REPEAT", "REPLACE", "REQUIRE", "RESTRICT", "RETURN", + "REVOKE", "RIGHT", "RLIKE", "SCHEMA", "SCHEMAS", "SECOND_MICROSECOND", "SELECT", "SENSITIVE", "SEPARATOR", "SET", + "SHOW", "SMALLINT", "SONAME", "SPATIAL", "SPECIFIC", "SQL", "SQLEXCEPTION", "SQLSTATE", "SQLWARNING", + "SQL_BIG_RESULT", "SQL_CALC_FOUND_ROWS", "SQL_SMALL_RESULT", "SSL", "STARTING", "STRAIGHT_JOIN", "TABLE", + "TERMINATED", "TEXT", "THEN", "TIME", "TIMESTAMP", "TINYBLOB", "TINYINT", "TINYTEXT", "TO", "TRAILING", + "TRIGGER", "TRUE", "UNDO", "UNION", "UNIQUE", "UNLOCK", "UNSIGNED", "UPDATE", "USAGE", "USE", "USING", + "UTC_DATE", "UTC_TIME", "UTC_TIMESTAMP", "VALUES", "VARBINARY", "VARCHAR", "VARCHARACTER", "VARYING", "WHEN", + "WHERE", "WHILE", "WITH", "WRITE", "X509", "XOR", "YEAR_MONTH", "ZEROFILL" }; + public MYSQLAdapter() { super("mysql", "5.1.5"); @@ -42,4 +66,10 @@ public class MYSQLAdapter extends DBAdapter throw new DBException(ex); } } + + @Override + protected boolean isReservedWord(String word) + { + return Arrays.binarySearch(RESERVED_WORDS, word.toUpperCase()) >= 0; + } } |