From 35f2316585607417e99e5dd5fe93541e1b9089d1 Mon Sep 17 00:00:00 2001
From: Eike Stepper
Date: Sun, 10 Mar 2013 08:03:44 +0100
Subject: [401763] Make CDO Server more robust against data dictionary changes
https://bugs.eclipse.org/bugs/show_bug.cgi?id=401763
---
.../org.eclipse.net4j.db/.settings/.api_filters | 11 +
plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF | 3 +-
.../src/org/eclipse/net4j/db/DBUtil.java | 12 +-
.../src/org/eclipse/net4j/db/IDBElement.java | 26 --
.../src/org/eclipse/net4j/db/IDBNamedElement.java | 22 --
.../src/org/eclipse/net4j/db/ddl/IDBElement.java | 26 ++
.../org/eclipse/net4j/db/ddl/IDBNamedElement.java | 22 ++
.../org/eclipse/net4j/db/ddl/IDBSchemaElement.java | 1 -
.../db/ddl/SchemaElementNotFoundException.java | 2 +-
.../org/eclipse/net4j/db/ddl/delta/IDBDelta.java | 2 +-
.../net4j/db/ddl/delta/IDBPropertyDelta.java | 1 -
.../src/org/eclipse/net4j/db/ddl/package-info.java | 1 +
.../src/org/eclipse/net4j/db/dml/package-info.java | 1 +
.../src/org/eclipse/net4j/db/package-info.java | 1 +
.../org/eclipse/net4j/internal/db/DBDatabase.java | 18 +-
.../net4j/internal/db/DBSchemaTransaction.java | 18 +-
.../eclipse/net4j/internal/db/ddl/DBElement.java | 42 +++
.../org/eclipse/net4j/internal/db/ddl/DBField.java | 22 +-
.../org/eclipse/net4j/internal/db/ddl/DBIndex.java | 83 ++--
.../net4j/internal/db/ddl/DBIndexField.java | 25 +-
.../net4j/internal/db/ddl/DBNamedElement.java | 130 +++++++
.../eclipse/net4j/internal/db/ddl/DBSchema.java | 420 +++++++++++++++++++++
.../net4j/internal/db/ddl/DBSchemaElement.java | 160 ++++++++
.../org/eclipse/net4j/internal/db/ddl/DBTable.java | 123 +++---
.../net4j/internal/db/ddl/delta/DBDelta.java | 5 +-
.../net4j/internal/db/ddl/delta/DBFieldDelta.java | 10 +-
.../net4j/internal/db/ddl/delta/DBIndexDelta.java | 18 +-
.../internal/db/ddl/delta/DBIndexFieldDelta.java | 10 +-
.../net4j/internal/db/ddl/delta/DBSchemaDelta.java | 13 +-
.../net4j/internal/db/ddl/delta/DBTableDelta.java | 23 +-
.../src/org/eclipse/net4j/spi/db/DBAdapter.java | 4 +-
.../src/org/eclipse/net4j/spi/db/DBElement.java | 43 ---
.../org/eclipse/net4j/spi/db/DBNamedElement.java | 133 -------
.../src/org/eclipse/net4j/spi/db/DBSchema.java | 396 ++++++-------------
.../org/eclipse/net4j/spi/db/DBSchemaElement.java | 161 --------
.../net4j/spi/db/ddl/InternalDBElement.java | 24 ++
.../eclipse/net4j/spi/db/ddl/InternalDBField.java | 26 ++
.../eclipse/net4j/spi/db/ddl/InternalDBIndex.java | 27 ++
.../net4j/spi/db/ddl/InternalDBIndexField.java | 24 ++
.../net4j/spi/db/ddl/InternalDBNamedElement.java | 33 ++
.../eclipse/net4j/spi/db/ddl/InternalDBSchema.java | 40 ++
.../net4j/spi/db/ddl/InternalDBSchemaElement.java | 23 ++
.../eclipse/net4j/spi/db/ddl/InternalDBTable.java | 32 ++
.../org/eclipse/net4j/spi/db/ddl/package-info.java | 16 +
.../src/org/eclipse/net4j/spi/db/package-info.java | 1 +
45 files changed, 1355 insertions(+), 879 deletions(-)
create mode 100644 plugins/org.eclipse.net4j.db/.settings/.api_filters
delete mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/IDBElement.java
delete mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/IDBNamedElement.java
create mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/ddl/IDBElement.java
create mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/ddl/IDBNamedElement.java
create mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/internal/db/ddl/DBElement.java
create mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/internal/db/ddl/DBNamedElement.java
create mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/internal/db/ddl/DBSchema.java
create mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/internal/db/ddl/DBSchemaElement.java
delete mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBElement.java
delete mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBNamedElement.java
delete mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBSchemaElement.java
create mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/ddl/InternalDBElement.java
create mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/ddl/InternalDBField.java
create mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/ddl/InternalDBIndex.java
create mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/ddl/InternalDBIndexField.java
create mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/ddl/InternalDBNamedElement.java
create mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/ddl/InternalDBSchema.java
create mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/ddl/InternalDBSchemaElement.java
create mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/ddl/InternalDBTable.java
create mode 100644 plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/ddl/package-info.java
diff --git a/plugins/org.eclipse.net4j.db/.settings/.api_filters b/plugins/org.eclipse.net4j.db/.settings/.api_filters
new file mode 100644
index 0000000000..1ee3edca0c
--- /dev/null
+++ b/plugins/org.eclipse.net4j.db/.settings/.api_filters
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF b/plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF
index 4c19b6f625..421d332383 100644
--- a/plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.net4j.db/META-INF/MANIFEST.MF
@@ -19,6 +19,7 @@ Export-Package: org.eclipse.net4j.db;version="4.2.0",
org.eclipse.net4j.internal.db.ddl;version="4.2.0";x-internal:=true,
org.eclipse.net4j.internal.db.ddl.delta;version="4.2.0";x-internal:=true,
org.eclipse.net4j.internal.db.dml;version="4.2.0";x-internal:=true,
- org.eclipse.net4j.spi.db;version="4.2.0"
+ org.eclipse.net4j.spi.db;version="4.2.0",
+ org.eclipse.net4j.spi.db.ddl;version="4.2.0"
Bundle-ActivationPolicy: lazy
Eclipse-BuddyPolicy: registered
diff --git a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java
index be29db9291..2b40e97468 100644
--- a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java
+++ b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBUtil.java
@@ -11,15 +11,15 @@
package org.eclipse.net4j.db;
import org.eclipse.net4j.db.ddl.IDBField;
+import org.eclipse.net4j.db.ddl.IDBNamedElement;
import org.eclipse.net4j.db.ddl.IDBSchema;
import org.eclipse.net4j.db.ddl.IDBTable;
import org.eclipse.net4j.internal.db.DBDatabase;
import org.eclipse.net4j.internal.db.DBTransaction;
import org.eclipse.net4j.internal.db.DataSourceConnectionProvider;
import org.eclipse.net4j.internal.db.bundle.OM;
+import org.eclipse.net4j.internal.db.ddl.DBNamedElement;
import org.eclipse.net4j.spi.db.DBAdapter;
-import org.eclipse.net4j.spi.db.DBNamedElement;
-import org.eclipse.net4j.spi.db.DBSchema;
import org.eclipse.net4j.util.ReflectUtil;
import org.eclipse.net4j.util.io.ExtendedDataInput;
import org.eclipse.net4j.util.io.ExtendedDataOutput;
@@ -174,7 +174,7 @@ public final class DBUtil
public static IDBSchema createSchema(String name)
{
- return new DBSchema(name);
+ return new org.eclipse.net4j.internal.db.ddl.DBSchema(name);
}
/**
@@ -182,7 +182,9 @@ public final class DBUtil
*/
public static IDBSchema readSchema(IDBAdapter adapter, Connection connection, String name)
{
- return adapter.readSchema(connection, name);
+ IDBSchema schema = new org.eclipse.net4j.internal.db.ddl.DBSchema(name);
+ readSchema(adapter, connection, schema);
+ return schema;
}
/**
@@ -198,7 +200,7 @@ public final class DBUtil
*/
public static IDBSchema copySchema(IDBSchema source)
{
- return new DBSchema(source);
+ return new org.eclipse.net4j.internal.db.ddl.DBSchema(source);
}
public static DataSource createDataSource(Map