From be5e00276733a29ed56f077de299b2e6a7b71f21 Mon Sep 17 00:00:00 2001 From: Stefan Winkler Date: Fri, 6 Aug 2010 17:44:13 +0000 Subject: [321108] Name starting with underscore is not handled https://bugs.eclipse.org/bugs/show_bug.cgi?id=321108 --- .../META-INF/MANIFEST.MF | 2 +- .../META-INF/MANIFEST.MF | 8 ++-- .../META-INF/MANIFEST.MF | 2 +- .../db/mapping/AbstractMappingStrategy.java | 8 ++++ .../META-INF/MANIFEST.MF | 2 +- .../META-INF/MANIFEST.MF | 10 ++--- .../eclipse/emf/cdo/tests/db/AllTestsDBDerby.java | 23 ++++++++++- .../org/eclipse/emf/cdo/tests/db/DBStoreTest.java | 45 ++++++++++++++++++++++ .../org.eclipse.emf.cdo.tests/META-INF/MANIFEST.MF | 6 +-- .../META-INF/MANIFEST.MF | 8 ++-- .../org/eclipse/net4j/db/derby/DerbyAdapter.java | 14 +++++++ .../org.eclipse.net4j.db.h2/META-INF/MANIFEST.MF | 8 ++-- .../META-INF/MANIFEST.MF | 8 ++-- .../META-INF/MANIFEST.MF | 8 ++-- .../META-INF/MANIFEST.MF | 8 ++-- .../META-INF/MANIFEST.MF | 14 +++---- plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF | 18 ++++----- .../src/org/eclipse/net4j/db/IDBAdapter.java | 8 ++++ .../src/org/eclipse/net4j/spi/db/DBAdapter.java | 8 ++++ .../META-INF/MANIFEST.MF | 10 ++--- .../META-INF/MANIFEST.MF | 2 +- plugins/org.gastro.server/META-INF/MANIFEST.MF | 2 +- 22 files changed, 163 insertions(+), 59 deletions(-) diff --git a/plugins/org.eclipse.emf.cdo.common.db/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.common.db/META-INF/MANIFEST.MF index 0d798230c2..e566d7bb7d 100644 --- a/plugins/org.eclipse.emf.cdo.common.db/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.emf.cdo.common.db/META-INF/MANIFEST.MF @@ -11,7 +11,7 @@ Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-ClassPath: . Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)";resolution:=optional, org.eclipse.emf.cdo.common;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, - org.eclipse.net4j.db;bundle-version="[3.0.0,4.0.0)" + org.eclipse.net4j.db;bundle-version="[4.0.0,5.0.0)" Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)";resolution:=optional Export-Package: org.eclipse.emf.cdo.common.db;version="3.0.100", org.eclipse.emf.cdo.common.internal.db;version="3.0.100";x-friends:="org.eclipse.emf.cdo.tests", diff --git a/plugins/org.eclipse.emf.cdo.examples.server/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.examples.server/META-INF/MANIFEST.MF index 809efa279b..a3970bf7b3 100644 --- a/plugins/org.eclipse.emf.cdo.examples.server/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.emf.cdo.examples.server/META-INF/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-SymbolicName: org.eclipse.emf.cdo.examples.server; singleton:=true -Bundle-Version: 3.0.0.qualifier +Bundle-Version: 4.0.0.qualifier Bundle-Name: %pluginName Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -10,11 +10,11 @@ Bundle-ClassPath: . Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", org.eclipse.emf.cdo.server.db;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, org.eclipse.emf.cdo.server.net4j;bundle-version="[4.0.0,5.0.0)", - org.eclipse.net4j.db.h2;bundle-version="[3.0.0,4.0.0)", + org.eclipse.net4j.db.h2;bundle-version="[4.0.0,5.0.0)", org.eclipse.net4j.jvm;bundle-version="[3.0.0,4.0.0)", org.eclipse.net4j.tcp;bundle-version="[3.0.0,4.0.0)" Import-Package: org.h2.jdbcx;version="[1.1.0,1.2.0)" -Export-Package: org.eclipse.emf.cdo.examples.internal.server;version="3.0.0";x-internal:=true, - org.eclipse.emf.cdo.examples.server;version="3.0.0" +Export-Package: org.eclipse.emf.cdo.examples.internal.server;version="4.0.0";x-internal:=true, + org.eclipse.emf.cdo.examples.server;version="4.0.0" Bundle-Activator: org.eclipse.emf.cdo.examples.internal.server.OM$Activator Bundle-ActivationPolicy: lazy diff --git a/plugins/org.eclipse.emf.cdo.server.db/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.server.db/META-INF/MANIFEST.MF index a876bc72e1..5971f56e6b 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.emf.cdo.server.db/META-INF/MANIFEST.MF @@ -10,7 +10,7 @@ Bundle-Activator: org.eclipse.emf.cdo.server.internal.db.bundle.OM$Activator Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-ClassPath: . Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", - org.eclipse.net4j.db;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, + org.eclipse.net4j.db;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, org.eclipse.emf.cdo.server;bundle-version="[4.0.0,5.0.0)";visibility:=reexport Export-Package: org.eclipse.emf.cdo.server.db;version="4.0.0", org.eclipse.emf.cdo.server.db.mapping;version="4.0.0", diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/AbstractMappingStrategy.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/AbstractMappingStrategy.java index 3b1b2b54f0..493476696a 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/AbstractMappingStrategy.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/AbstractMappingStrategy.java @@ -83,6 +83,8 @@ public abstract class AbstractMappingStrategy extends Lifecycle implements IMapp protected static final String TYPE_PREFIX_PACKAGE = "P"; //$NON-NLS-1$ + protected static final String GENERAL_PREFIX = "X"; //$NON-NLS-1$ + /** * Prefix for unsettable feature helper columns */ @@ -341,6 +343,12 @@ public abstract class AbstractMappingStrategy extends Lifecycle implements IMapp private String getName(String name, String suffix, int maxLength) { boolean forceNamesWithID = isForceNamesWithID(); + + if (!store.getDBAdapter().isValidFirstChar(name.charAt(0))) + { + name = GENERAL_PREFIX + name; + } + if (store.getDBAdapter().isReservedWord(name)) { forceNamesWithID = true; diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.server.hibernate/META-INF/MANIFEST.MF index ed2faf1d40..d6e2dd0896 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/META-INF/MANIFEST.MF @@ -12,7 +12,7 @@ Bundle-ClassPath: . Eclipse-BuddyPolicy: registered Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", org.eclipse.emf.cdo.server;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, - org.eclipse.net4j.db;bundle-version="[3.0.0,4.0.0)";visibility:=reexport + org.eclipse.net4j.db;bundle-version="[4.0.0,5.0.0)";visibility:=reexport Export-Package: org.eclipse.emf.cdo.server.hibernate;version="4.0.0", org.eclipse.emf.cdo.server.internal.hibernate;version="4.0.0";x-friends:="org.eclipse.emf.cdo.server.hibernate.teneo,org.eclipse.emf.cdo.tests.hibernate", org.eclipse.emf.cdo.server.internal.hibernate.bundle;version="4.0.0";x-internal:=true, diff --git a/plugins/org.eclipse.emf.cdo.tests.db/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.tests.db/META-INF/MANIFEST.MF index 4200cecedb..cf6a6a94e9 100644 --- a/plugins/org.eclipse.emf.cdo.tests.db/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.emf.cdo.tests.db/META-INF/MANIFEST.MF @@ -11,11 +11,11 @@ Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-ClassPath: . Require-Bundle: org.eclipse.emf.cdo.tests;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, org.eclipse.emf.cdo.server.db;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, - org.eclipse.net4j.db.hsqldb;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, - org.eclipse.net4j.db.derby;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, - org.eclipse.net4j.db.mysql;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, - org.eclipse.net4j.db.h2;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, - org.eclipse.net4j.db.postgresql;bundle-version="[3.0.0,4.0.0)" + org.eclipse.net4j.db.hsqldb;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, + org.eclipse.net4j.db.derby;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, + org.eclipse.net4j.db.mysql;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, + org.eclipse.net4j.db.h2;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, + org.eclipse.net4j.db.postgresql;bundle-version="[4.0.0,5.0.0)" Eclipse-BuddyPolicy: dependent Import-Package: com.mysql.jdbc.jdbc2.optional;version="[5.0.0,6.0.0)", org.apache.derby.jdbc;version="[10.0.0,11.0.0)", diff --git a/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/AllTestsDBDerby.java b/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/AllTestsDBDerby.java index 9051006647..0850c79e94 100644 --- a/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/AllTestsDBDerby.java +++ b/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/AllTestsDBDerby.java @@ -10,6 +10,7 @@ */ package org.eclipse.emf.cdo.tests.db; +import org.eclipse.emf.cdo.server.IRepository; import org.eclipse.emf.cdo.server.db.CDODBUtil; import org.eclipse.emf.cdo.server.db.mapping.IMappingStrategy; @@ -27,7 +28,9 @@ import javax.sql.DataSource; import java.io.File; import java.sql.Connection; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; +import java.util.Map; import junit.framework.Test; import junit.framework.TestSuite; @@ -89,6 +92,13 @@ public class AllTestsDBDerby extends DBConfigs return new EmbeddedDerbyAdapter(); } + @Override + protected void initRepositoryProperties(Map props) + { + super.initRepositoryProperties(props); + props.put(IRepository.Props.SUPPORTING_AUDITS, "true"); + } + @Override protected DataSource createDataSource(String repoName) { @@ -104,10 +114,15 @@ public class AllTestsDBDerby extends DBConfigs return dataSource; } + public Collection getDbFolders() + { + return dbFolders; + } + @Override public void tearDown() throws Exception { - for (File folder : dbFolders) + for (File folder : getDbFolders()) { tearDownClean(folder); } @@ -165,6 +180,12 @@ public class AllTestsDBDerby extends DBConfigs return dataSource; } + @Override + public Collection getDbFolders() + { + return dbFolders.values(); + } + @Override protected void tearDownClean(File folder) { diff --git a/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/DBStoreTest.java b/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/DBStoreTest.java index 0eabf5e2d7..950316c117 100644 --- a/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/DBStoreTest.java +++ b/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/DBStoreTest.java @@ -31,6 +31,7 @@ import org.eclipse.emf.ecore.EDataType; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EcoreFactory; +import org.eclipse.emf.ecore.EcorePackage; import org.eclipse.emf.ecore.util.EcoreUtil; import java.util.GregorianCalendar; @@ -278,4 +279,48 @@ public class DBStoreTest extends AbstractCDOTest e = (Company)resource.getContents().get(0); assertEquals(s, e.getName()); } + + public void testUnderscoreFeature() throws Exception + { + EPackage pkg = EMFUtil.createEPackage("underscoreTest", "uct", "http://cdo.eclipse.org/tests/underscoreTest.ecore"); + EClass cls = EMFUtil.createEClass(pkg, "foo", false, false); + EAttribute att = EMFUtil.createEAttribute(cls, "_bar", EcorePackage.eINSTANCE.getEString()); + + if (!isConfig(LEGACY)) + { + CDOUtil.prepareDynamicEPackage(pkg); + } + + CDOSession session = openSession(); + CDOTransaction transaction = session.openTransaction(); + CDOResource resource = transaction.createResource("/test"); + + EObject foo = EcoreUtil.create(cls); + foo.eSet(att, "foobar"); + resource.getContents().add(foo); + transaction.commit(); + session.close(); + } + + public void testUnderscoreClass() throws Exception + { + EPackage pkg = EMFUtil.createEPackage("underscoreTest", "uct", "http://cdo.eclipse.org/tests/underscoreTest.ecore"); + EClass cls = EMFUtil.createEClass(pkg, "foo", false, false); + EAttribute att = EMFUtil.createEAttribute(cls, "_bar", EcorePackage.eINSTANCE.getEString()); + + if (!isConfig(LEGACY)) + { + CDOUtil.prepareDynamicEPackage(pkg); + } + + CDOSession session = openSession(); + CDOTransaction transaction = session.openTransaction(); + CDOResource resource = transaction.createResource("/test"); + + EObject foo = EcoreUtil.create(cls); + foo.eSet(att, "foobar"); + resource.getContents().add(foo); + transaction.commit(); + session.close(); + } } diff --git a/plugins/org.eclipse.emf.cdo.tests/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.tests/META-INF/MANIFEST.MF index d2a01b9f13..6258ee768b 100644 --- a/plugins/org.eclipse.emf.cdo.tests/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.emf.cdo.tests/META-INF/MANIFEST.MF @@ -10,9 +10,9 @@ Bundle-Activator: org.eclipse.emf.cdo.tests.bundle.OM$Activator Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-ClassPath: . Require-Bundle: org.eclipse.net4j.tests;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, - org.eclipse.net4j.db;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, - org.eclipse.net4j.db.derby;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, - org.eclipse.net4j.db.h2;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, + org.eclipse.net4j.db;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, + org.eclipse.net4j.db.derby;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, + org.eclipse.net4j.db.h2;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, org.eclipse.emf.ecore.xmi;bundle-version="[2.4.0,3.0.0)";visibility:=reexport, org.eclipse.emf.edit;bundle-version="[2.4.0,3.0.0)", org.eclipse.emf.cdo.common;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, diff --git a/plugins/org.eclipse.net4j.db.derby/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.db.derby/META-INF/MANIFEST.MF index 708854d70e..18af5900a8 100644 --- a/plugins/org.eclipse.net4j.db.derby/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.net4j.db.derby/META-INF/MANIFEST.MF @@ -2,16 +2,16 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.net4j.db.derby;singleton:=true -Bundle-Version: 3.0.100.qualifier +Bundle-Version: 4.0.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-ClassPath: . Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", - org.eclipse.net4j.db;bundle-version="[3.0.0,4.0.0)";visibility:=reexport + org.eclipse.net4j.db;bundle-version="[4.0.0,5.0.0)";visibility:=reexport Import-Package: org.apache.derby.jdbc;version="[10.0.0,11.0.0)" -Export-Package: org.eclipse.net4j.db.derby;version="3.0.100", - org.eclipse.net4j.db.internal.derby.bundle;version="3.0.100";x-internal:=true +Export-Package: org.eclipse.net4j.db.derby;version="4.0.0", + org.eclipse.net4j.db.internal.derby.bundle;version="4.0.0";x-internal:=true Eclipse-RegisterBuddy: org.eclipse.net4j.db Bundle-ActivationPolicy: lazy Bundle-Activator: org.eclipse.net4j.db.internal.derby.bundle.OM$Activator diff --git a/plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/DerbyAdapter.java b/plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/DerbyAdapter.java index d97d0d76c1..d15e269f4d 100644 --- a/plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/DerbyAdapter.java +++ b/plugins/org.eclipse.net4j.db.derby/src/org/eclipse/net4j/db/derby/DerbyAdapter.java @@ -72,4 +72,18 @@ public abstract class DerbyAdapter extends DBAdapter { return RESERVED_WORDS; } + + @Override + public boolean isValidFirstChar(char ch) + { + switch (ch) + { + case '_': + return false; + + default: + return super.isValidFirstChar(ch); + } + } + } diff --git a/plugins/org.eclipse.net4j.db.h2/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.db.h2/META-INF/MANIFEST.MF index 95389f7738..ba4a711254 100644 --- a/plugins/org.eclipse.net4j.db.h2/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.net4j.db.h2/META-INF/MANIFEST.MF @@ -2,15 +2,15 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.net4j.db.h2;singleton:=true -Bundle-Version: 3.0.100.qualifier +Bundle-Version: 4.0.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Bundle-ClassPath: . Bundle-RequiredExecutionEnvironment: J2SE-1.5 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", - org.eclipse.net4j.db;bundle-version="[3.0.0,4.0.0)";visibility:=reexport -Export-Package: org.eclipse.net4j.db.h2;version="3.0.100", - org.eclipse.net4j.db.internal.h2.bundle;version="3.0.100";x-internal:=true + org.eclipse.net4j.db;bundle-version="[4.0.0,5.0.0)";visibility:=reexport +Export-Package: org.eclipse.net4j.db.h2;version="4.0.0", + org.eclipse.net4j.db.internal.h2.bundle;version="4.0.0";x-internal:=true Eclipse-RegisterBuddy: org.eclipse.net4j.db Bundle-ActivationPolicy: lazy Bundle-Activator: org.eclipse.net4j.db.internal.h2.bundle.OM$Activator diff --git a/plugins/org.eclipse.net4j.db.hsqldb/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.db.hsqldb/META-INF/MANIFEST.MF index 7890c88f7e..08381145d8 100644 --- a/plugins/org.eclipse.net4j.db.hsqldb/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.net4j.db.hsqldb/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.net4j.db.hsqldb;singleton:=true -Bundle-Version: 3.0.100.qualifier +Bundle-Version: 4.0.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Bundle-ActivationPolicy: lazy @@ -10,9 +10,9 @@ Bundle-Activator: org.eclipse.net4j.db.internal.hsqldb.bundle.OM$Activator Bundle-ClassPath: . Bundle-RequiredExecutionEnvironment: J2SE-1.5 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", - org.eclipse.net4j.db;bundle-version="[3.0.0,4.0.0)";visibility:=reexport -Export-Package: org.eclipse.net4j.db.hsqldb;version="3.0.100", - org.eclipse.net4j.db.internal.hsqldb.bundle;version="3.0.100";x-internal:=true + org.eclipse.net4j.db;bundle-version="[4.0.0,5.0.0)";visibility:=reexport +Export-Package: org.eclipse.net4j.db.hsqldb;version="4.0.0", + org.eclipse.net4j.db.internal.hsqldb.bundle;version="4.0.0";x-internal:=true Import-Package: org.hsqldb;version="[1.8.0,2.0.0)", org.hsqldb.jdbc;version="[1.8.0,2.0.0)" Eclipse-RegisterBuddy: org.eclipse.net4j.db 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 ffaf0494f9..54903c873a 100644 --- a/plugins/org.eclipse.net4j.db.mysql/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.net4j.db.mysql/META-INF/MANIFEST.MF @@ -2,17 +2,17 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.net4j.db.mysql;singleton:=true -Bundle-Version: 3.0.100.qualifier +Bundle-Version: 4.0.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-ClassPath: . Bundle-ActivationPolicy: lazy Bundle-Activator: org.eclipse.net4j.db.internal.mysql.bundle.OM$Activator -Require-Bundle: org.eclipse.net4j.db;bundle-version="[3.0.0,4.0.0)";visibility:=reexport +Require-Bundle: org.eclipse.net4j.db;bundle-version="[4.0.0,5.0.0)";visibility:=reexport Import-Package: com.mysql.jdbc;version="[5.0.0,6.0.0)", com.mysql.jdbc.jdbc2.optional;version="[5.0.0,6.0.0)", org.osgi.framework;version="[1.0.0,2.0.0)" -Export-Package: org.eclipse.net4j.db.internal.mysql.bundle;version="3.0.100";x-internal:=true, - org.eclipse.net4j.db.mysql;version="3.0.100" +Export-Package: org.eclipse.net4j.db.internal.mysql.bundle;version="4.0.0";x-internal:=true, + org.eclipse.net4j.db.mysql;version="4.0.0" Eclipse-RegisterBuddy: org.eclipse.net4j.db diff --git a/plugins/org.eclipse.net4j.db.postgresql/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.db.postgresql/META-INF/MANIFEST.MF index 0c87e5fe63..e1730480f2 100644 --- a/plugins/org.eclipse.net4j.db.postgresql/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.net4j.db.postgresql/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.net4j.db.postgresql;singleton:=true -Bundle-Version: 3.0.100.qualifier +Bundle-Version: 4.0.0.qualifier Bundle-Vendor: %providerName Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-ClassPath: . @@ -10,9 +10,9 @@ Bundle-Localization: plugin Bundle-ActivationPolicy: lazy Bundle-Activator: org.eclipse.net4j.db.internal.postgresql.bundle.OM$Activator Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", - org.eclipse.net4j.db;bundle-version="[3.0.0,4.0.0)";visibility:=reexport + org.eclipse.net4j.db;bundle-version="[4.0.0,5.0.0)";visibility:=reexport Import-Package: org.postgresql;version="[8.3.0,9.0.0)", org.postgresql.ds;version="[8.3.0,9.0.0)" -Export-Package: org.eclipse.net4j.db.internal.postgresql.bundle;version="3.0.100";x-internal:=true, - org.eclipse.net4j.db.postgresql;version="3.0.100" +Export-Package: org.eclipse.net4j.db.internal.postgresql.bundle;version="4.0.0";x-internal:=true, + org.eclipse.net4j.db.postgresql;version="4.0.0" Eclipse-RegisterBuddy: org.eclipse.net4j.db diff --git a/plugins/org.eclipse.net4j.db.tests/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.db.tests/META-INF/MANIFEST.MF index 8e26c52a7a..af3fe1088e 100644 --- a/plugins/org.eclipse.net4j.db.tests/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.net4j.db.tests/META-INF/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-SymbolicName: org.eclipse.net4j.db.tests -Bundle-Version: 3.0.0.qualifier +Bundle-Version: 4.0.0.qualifier Bundle-Name: %pluginName Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -11,13 +11,13 @@ Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-ClassPath: . Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", org.eclipse.net4j.tests;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, - org.eclipse.net4j.db.derby;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, - org.eclipse.net4j.db.hsqldb;bundle-version="[3.0.0,4.0.0)";resolution:=optional;visibility:=reexport, - org.eclipse.net4j.db.mysql;bundle-version="[3.0.0,4.0.0)";resolution:=optional;visibility:=reexport, - org.eclipse.net4j.db.postgresql;bundle-version="[3.0.0,4.0.0)";resolution:=optional;visibility:=reexport + org.eclipse.net4j.db.derby;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, + org.eclipse.net4j.db.hsqldb;bundle-version="[4.0.0,5.0.0)";resolution:=optional;visibility:=reexport, + org.eclipse.net4j.db.mysql;bundle-version="[4.0.0,5.0.0)";resolution:=optional;visibility:=reexport, + org.eclipse.net4j.db.postgresql;bundle-version="[4.0.0,5.0.0)";resolution:=optional;visibility:=reexport Import-Package: com.mysql.jdbc;version="[5.1.0,6.0.0)";resolution:=optional, com.mysql.jdbc.jdbc2.optional;version="[5.1.0,6.0.0)";resolution:=optional, org.apache.derby.jdbc;version="[10.0.0,11.0.0)", org.hsqldb.jdbc;version="[1.8.0,2.0.0)";resolution:=optional -Export-Package: org.eclipse.net4j.db.tests;version="3.0.0", - org.eclipse.net4j.db.tests.bundle;version="3.0.0";x-internal:=true +Export-Package: org.eclipse.net4j.db.tests;version="4.0.0", + org.eclipse.net4j.db.tests.bundle;version="4.0.0";x-internal:=true diff --git a/plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF index 4f45c3d426..f5eb8abdaa 100644 --- a/plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.net4j.db;singleton:=true -Bundle-Version: 3.0.100.qualifier +Bundle-Version: 4.0.0.qualifier Bundle-Activator: org.eclipse.net4j.internal.db.bundle.OM$Activator Bundle-Vendor: %providerName Bundle-ClassPath: . @@ -10,13 +10,13 @@ Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: J2SE-1.5 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)";visibility:=reexport -Export-Package: org.eclipse.net4j.db;version="3.0.100", - org.eclipse.net4j.db.ddl;version="3.0.100", - org.eclipse.net4j.db.dml;version="3.0.100", - org.eclipse.net4j.internal.db;version="3.0.100";x-internal:=true, - org.eclipse.net4j.internal.db.bundle;version="3.0.100";x-internal:=true, - org.eclipse.net4j.internal.db.ddl;version="3.0.100";x-internal:=true, - org.eclipse.net4j.internal.db.dml;version="3.0.100";x-internal:=true, - org.eclipse.net4j.spi.db;version="3.0.100" +Export-Package: org.eclipse.net4j.db;version="4.0.0", + org.eclipse.net4j.db.ddl;version="4.0.0", + org.eclipse.net4j.db.dml;version="4.0.0", + org.eclipse.net4j.internal.db;version="4.0.0";x-internal:=true, + org.eclipse.net4j.internal.db.bundle;version="4.0.0";x-internal:=true, + org.eclipse.net4j.internal.db.ddl;version="4.0.0";x-internal:=true, + org.eclipse.net4j.internal.db.dml;version="4.0.0";x-internal:=true, + org.eclipse.net4j.spi.db;version="4.0.0" Bundle-ActivationPolicy: lazy Eclipse-BuddyPolicy: registered diff --git a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/IDBAdapter.java b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/IDBAdapter.java index 51a092cff4..aa9113a2f8 100644 --- a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/IDBAdapter.java +++ b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/IDBAdapter.java @@ -69,4 +69,12 @@ public interface IDBAdapter * @since 3.0 */ public DBType adaptType(DBType type); + + /** + * Check if a character is valid as first character. (e.g., underscores are forbidden as first character in Derby + * elements. + * + * @since 4.0 + */ + public boolean isValidFirstChar(char ch); } diff --git a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java index 4d4564c784..d8e1a47536 100644 --- a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java +++ b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBAdapter.java @@ -493,4 +493,12 @@ public abstract class DBAdapter implements IDBAdapter { return type; } + + /** + * @since 4.0 + */ + public boolean isValidFirstChar(char ch) + { + return true; + } } diff --git a/plugins/org.eclipse.net4j.jms.server.jdbc/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.jms.server.jdbc/META-INF/MANIFEST.MF index 39643b2f26..9e05648c4b 100644 --- a/plugins/org.eclipse.net4j.jms.server.jdbc/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.net4j.jms.server.jdbc/META-INF/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-SymbolicName: org.eclipse.net4j.jms.server.jdbc -Bundle-Version: 3.0.100.qualifier +Bundle-Version: 4.0.0.qualifier Bundle-Name: %pluginName Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -11,8 +11,8 @@ Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-ClassPath: . Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", org.eclipse.net4j.jms.server;bundle-version="[3.0.0,4.0.0)";visibility:=reexport, - org.eclipse.net4j.db;bundle-version="[3.0.0,4.0.0)";visibility:=reexport + org.eclipse.net4j.db;bundle-version="[4.0.0,5.0.0)";visibility:=reexport Import-Package: javax.jms;version="[1.1.0,2.0.0)" -Export-Package: org.eclipse.net4j.jms.server.internal.jdbc;version="3.0.100";x-internal:=true, - org.eclipse.net4j.jms.server.internal.jdbc.bundle;version="3.0.100";x-internal:=true, - org.eclipse.net4j.jms.server.jdbc;version="3.0.100" +Export-Package: org.eclipse.net4j.jms.server.internal.jdbc;version="4.0.0";x-internal:=true, + org.eclipse.net4j.jms.server.internal.jdbc.bundle;version="4.0.0";x-internal:=true, + org.eclipse.net4j.jms.server.jdbc;version="4.0.0" diff --git a/plugins/org.eclipse.net4j.jms.tests/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.jms.tests/META-INF/MANIFEST.MF index bdd200ccc5..c6596225e1 100644 --- a/plugins/org.eclipse.net4j.jms.tests/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.net4j.jms.tests/META-INF/MANIFEST.MF @@ -12,7 +12,7 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)", org.eclipse.net4j.jms;bundle-version="[3.0.0,4.0.0)", org.eclipse.net4j.jms.admin;bundle-version="[3.0.0,4.0.0)", org.eclipse.net4j.jms.server;bundle-version="[3.0.0,4.0.0)", - org.eclipse.net4j.jms.server.jdbc;bundle-version="[3.0.0,4.0.0)" + org.eclipse.net4j.jms.server.jdbc;bundle-version="[4.0.0,5.0.0)" Import-Package: javax.jms;version="[1.1.0,2.0.0)", org.eclipse.net4j.db.derby;version="3.0.0" Export-Package: org.eclipse.net4j.jms.tests;version="3.0.0" diff --git a/plugins/org.gastro.server/META-INF/MANIFEST.MF b/plugins/org.gastro.server/META-INF/MANIFEST.MF index 8683e69486..69432354ec 100644 --- a/plugins/org.gastro.server/META-INF/MANIFEST.MF +++ b/plugins/org.gastro.server/META-INF/MANIFEST.MF @@ -8,7 +8,7 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)", org.eclipse.emf.cdo.server;bundle-version="[4.0.0,5.0.0)";visibility:=reexport, org.eclipse.emf.cdo.server.net4j;bundle-version="[4.0.0,5.0.0)", org.eclipse.emf.cdo.server.db;bundle-version="[4.0.0,5.0.0)", - org.eclipse.net4j.db.h2;bundle-version="[3.0.0,4.0.0)", + org.eclipse.net4j.db.h2;bundle-version="[4.0.0,5.0.0)", org.eclipse.net4j.tcp;bundle-version="[2.0.0,4.0.0)" Bundle-Activator: org.gastro.internal.server.OM$Activator Import-Package: org.h2;version="[1.1.114,1.2.0)", -- cgit v1.2.3