You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by ji...@apache.org on 2015/01/20 15:02:46 UTC
tajo git commit: TAJO-1305: With metadata storage of MySQL,
columns with the same character but difference case are not allowed.
Repository: tajo
Updated Branches:
refs/heads/master 4d1006d56 -> e22c1c57b
TAJO-1305: With metadata storage of MySQL, columns with the same character but difference case are not allowed.
Closes #353
Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/e22c1c57
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/e22c1c57
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/e22c1c57
Branch: refs/heads/master
Commit: e22c1c57bc81e65af6a041e9f5afc9973ca70dae
Parents: 4d1006d
Author: Jihun Kang <ji...@apache.org>
Authored: Tue Jan 20 23:01:44 2015 +0900
Committer: Jihun Kang <ji...@apache.org>
Committed: Tue Jan 20 23:01:44 2015 +0900
----------------------------------------------------------------------
CHANGES | 3 ++
.../main/resources/schemas/mariadb/columns.sql | 4 +-
.../resources/schemas/mariadb/databases.sql | 4 +-
.../main/resources/schemas/mariadb/indexes.sql | 6 +--
.../resources/schemas/mariadb/partitions.sql | 4 +-
.../schemas/mariadb/table_properties.sql | 4 +-
.../main/resources/schemas/mariadb/tables.sql | 4 +-
.../resources/schemas/mariadb/tablespaces.sql | 4 +-
.../main/resources/schemas/mysql/columns.sql | 4 +-
.../main/resources/schemas/mysql/databases.sql | 4 +-
.../main/resources/schemas/mysql/indexes.sql | 6 +--
.../main/resources/schemas/mysql/partitions.sql | 4 +-
.../schemas/mysql/table_properties.sql | 4 +-
.../src/main/resources/schemas/mysql/tables.sql | 6 +--
.../resources/schemas/mysql/tablespaces.sql | 6 +--
.../org/apache/tajo/catalog/TestCatalog.java | 53 +++++++++++++++++++-
16 files changed, 87 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tajo/blob/e22c1c57/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index eec490b..0849e53 100644
--- a/CHANGES
+++ b/CHANGES
@@ -169,6 +169,9 @@ Release 0.10.0 - unreleased
BUG FIXES
+ TAJO-1305: With metadata storage of MySQL, columns with the same
+ character but difference case are not allowed. (jihun)
+
TAJO-1257: ORDER BY with NULL FIRST misses some data. (Keuntae Park)
TAJO-1225: Fix wrong schema name in JDBC driver. (jaehwa)
http://git-wip-us.apache.org/repos/asf/tajo/blob/e22c1c57/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/columns.sql
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/columns.sql b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/columns.sql
index 51e2a1b..aec1553 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/columns.sql
+++ b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/columns.sql
@@ -1,9 +1,9 @@
CREATE TABLE COLUMNS (
TID INT NOT NULL,
- COLUMN_NAME VARCHAR(255) NOT NULL,
+ COLUMN_NAME VARCHAR(255) BINARY NOT NULL,
ORDINAL_POSITION INT NOT NULL,
DATA_TYPE CHAR(16),
TYPE_LENGTH INTEGER,
PRIMARY KEY (TID, COLUMN_NAME),
FOREIGN KEY (TID) REFERENCES TABLES (TID) ON DELETE CASCADE
-)
\ No newline at end of file
+)
http://git-wip-us.apache.org/repos/asf/tajo/blob/e22c1c57/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/databases.sql
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/databases.sql b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/databases.sql
index e07e916..2f351cf 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/databases.sql
+++ b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/databases.sql
@@ -1,7 +1,7 @@
CREATE TABLE DATABASES_ (
DB_ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
- DB_NAME VARCHAR(128) NOT NULL UNIQUE,
+ DB_NAME VARCHAR(128) BINARY NOT NULL UNIQUE,
SPACE_ID INT NOT NULL,
FOREIGN KEY (SPACE_ID) REFERENCES TABLESPACES (SPACE_ID),
UNIQUE INDEX IDX_NAME (DB_NAME)
-)
\ No newline at end of file
+)
http://git-wip-us.apache.org/repos/asf/tajo/blob/e22c1c57/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/indexes.sql
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/indexes.sql b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/indexes.sql
index 62feb36..f58b17c 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/indexes.sql
+++ b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/indexes.sql
@@ -1,8 +1,8 @@
CREATE TABLE INDEXES (
DB_ID INT NOT NULL,
TID INT NOT NULL,
- INDEX_NAME VARCHAR(128) NOT NULL,
- COLUMN_NAME VARCHAR(128) NOT NULL,
+ INDEX_NAME VARCHAR(128) BINARY NOT NULL,
+ COLUMN_NAME VARCHAR(128) BINARY NOT NULL,
DATA_TYPE VARCHAR(128) NOT NULL,
INDEX_TYPE CHAR(32) NOT NULL,
IS_UNIQUE BOOLEAN NOT NULL,
@@ -13,4 +13,4 @@ CREATE TABLE INDEXES (
FOREIGN KEY (TID) REFERENCES TABLES (TID) ON DELETE CASCADE,
UNIQUE INDEX IDX_DB_ID_NAME (DB_ID, INDEX_NAME),
INDEX IDX_TID_COLUMN_NAME (TID, COLUMN_NAME)
-)
\ No newline at end of file
+)
http://git-wip-us.apache.org/repos/asf/tajo/blob/e22c1c57/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/partitions.sql
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/partitions.sql b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/partitions.sql
index 428f5a4..c2672a5 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/partitions.sql
+++ b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/partitions.sql
@@ -1,7 +1,7 @@
CREATE TABLE PARTITIONS (
PID INT NOT NULL PRIMARY KEY,
TID INT NOT NULL,
- PARTITION_NAME VARCHAR(128),
+ PARTITION_NAME VARCHAR(128) BINARY,
ORDINAL_POSITION INT NOT NULL,
PARTITION_VALUE VARCHAR(1024),
PATH VARCHAR(4096),
@@ -9,4 +9,4 @@ CREATE TABLE PARTITIONS (
CONSTRAINT C_PARTITION_UNIQUE UNIQUE (TID, PARTITION_NAME),
INDEX IDX_TID (TID),
UNIQUE INDEX IDX_TID_NAME (TID, PARTITION_NAME)
-)
\ No newline at end of file
+)
http://git-wip-us.apache.org/repos/asf/tajo/blob/e22c1c57/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/table_properties.sql
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/table_properties.sql b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/table_properties.sql
index 78e281e..7ce5362 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/table_properties.sql
+++ b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/table_properties.sql
@@ -1,7 +1,7 @@
CREATE TABLE OPTIONS (
TID INT NOT NULL,
- KEY_ VARCHAR(255) NOT NULL,
+ KEY_ VARCHAR(255) BINARY NOT NULL,
VALUE_ VARCHAR(255) NOT NULL,
PRIMARY KEY (TID, KEY_),
FOREIGN KEY (TID) REFERENCES TABLES (TID) ON DELETE CASCADE
-)
\ No newline at end of file
+)
http://git-wip-us.apache.org/repos/asf/tajo/blob/e22c1c57/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/tables.sql
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/tables.sql b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/tables.sql
index e7297f7..a31f0e3 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/tables.sql
+++ b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/tables.sql
@@ -1,11 +1,11 @@
CREATE TABLE TABLES (
TID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
DB_ID INT NOT NULL,
- TABLE_NAME VARCHAR(128) NOT NULL,
+ TABLE_NAME VARCHAR(128) BINARY NOT NULL,
TABLE_TYPE VARCHAR(128) NOT NULL,
PATH VARCHAR(4096),
STORE_TYPE CHAR(16),
FOREIGN KEY (DB_ID) REFERENCES DATABASES_ (DB_ID),
INDEX IDX_DB_ID (DB_ID),
UNIQUE INDEX IDX_TABLE_ID (DB_ID, TABLE_NAME)
-)
\ No newline at end of file
+)
http://git-wip-us.apache.org/repos/asf/tajo/blob/e22c1c57/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/tablespaces.sql
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/tablespaces.sql b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/tablespaces.sql
index f2e2299..ab3edaa 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/tablespaces.sql
+++ b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mariadb/tablespaces.sql
@@ -1,7 +1,7 @@
CREATE TABLE TABLESPACES (
SPACE_ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
- SPACE_NAME VARCHAR(128) NOT NULL UNIQUE,
+ SPACE_NAME VARCHAR(128) BINARY NOT NULL UNIQUE,
SPACE_HANDLER VARCHAR (1024) DEFAULT 'HDFS',
SPACE_URI VARCHAR (4096) NOT NULL,
UNIQUE INDEX IDX_NAME (SPACE_NAME)
-)
\ No newline at end of file
+)
http://git-wip-us.apache.org/repos/asf/tajo/blob/e22c1c57/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql
index 51e2a1b..aec1553 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql
+++ b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/columns.sql
@@ -1,9 +1,9 @@
CREATE TABLE COLUMNS (
TID INT NOT NULL,
- COLUMN_NAME VARCHAR(255) NOT NULL,
+ COLUMN_NAME VARCHAR(255) BINARY NOT NULL,
ORDINAL_POSITION INT NOT NULL,
DATA_TYPE CHAR(16),
TYPE_LENGTH INTEGER,
PRIMARY KEY (TID, COLUMN_NAME),
FOREIGN KEY (TID) REFERENCES TABLES (TID) ON DELETE CASCADE
-)
\ No newline at end of file
+)
http://git-wip-us.apache.org/repos/asf/tajo/blob/e22c1c57/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql
index e07e916..2f351cf 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql
+++ b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/databases.sql
@@ -1,7 +1,7 @@
CREATE TABLE DATABASES_ (
DB_ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
- DB_NAME VARCHAR(128) NOT NULL UNIQUE,
+ DB_NAME VARCHAR(128) BINARY NOT NULL UNIQUE,
SPACE_ID INT NOT NULL,
FOREIGN KEY (SPACE_ID) REFERENCES TABLESPACES (SPACE_ID),
UNIQUE INDEX IDX_NAME (DB_NAME)
-)
\ No newline at end of file
+)
http://git-wip-us.apache.org/repos/asf/tajo/blob/e22c1c57/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql
index 62feb36..f58b17c 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql
+++ b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/indexes.sql
@@ -1,8 +1,8 @@
CREATE TABLE INDEXES (
DB_ID INT NOT NULL,
TID INT NOT NULL,
- INDEX_NAME VARCHAR(128) NOT NULL,
- COLUMN_NAME VARCHAR(128) NOT NULL,
+ INDEX_NAME VARCHAR(128) BINARY NOT NULL,
+ COLUMN_NAME VARCHAR(128) BINARY NOT NULL,
DATA_TYPE VARCHAR(128) NOT NULL,
INDEX_TYPE CHAR(32) NOT NULL,
IS_UNIQUE BOOLEAN NOT NULL,
@@ -13,4 +13,4 @@ CREATE TABLE INDEXES (
FOREIGN KEY (TID) REFERENCES TABLES (TID) ON DELETE CASCADE,
UNIQUE INDEX IDX_DB_ID_NAME (DB_ID, INDEX_NAME),
INDEX IDX_TID_COLUMN_NAME (TID, COLUMN_NAME)
-)
\ No newline at end of file
+)
http://git-wip-us.apache.org/repos/asf/tajo/blob/e22c1c57/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql
index 428f5a4..c2672a5 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql
+++ b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/partitions.sql
@@ -1,7 +1,7 @@
CREATE TABLE PARTITIONS (
PID INT NOT NULL PRIMARY KEY,
TID INT NOT NULL,
- PARTITION_NAME VARCHAR(128),
+ PARTITION_NAME VARCHAR(128) BINARY,
ORDINAL_POSITION INT NOT NULL,
PARTITION_VALUE VARCHAR(1024),
PATH VARCHAR(4096),
@@ -9,4 +9,4 @@ CREATE TABLE PARTITIONS (
CONSTRAINT C_PARTITION_UNIQUE UNIQUE (TID, PARTITION_NAME),
INDEX IDX_TID (TID),
UNIQUE INDEX IDX_TID_NAME (TID, PARTITION_NAME)
-)
\ No newline at end of file
+)
http://git-wip-us.apache.org/repos/asf/tajo/blob/e22c1c57/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql
index 78e281e..7ce5362 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql
+++ b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/table_properties.sql
@@ -1,7 +1,7 @@
CREATE TABLE OPTIONS (
TID INT NOT NULL,
- KEY_ VARCHAR(255) NOT NULL,
+ KEY_ VARCHAR(255) BINARY NOT NULL,
VALUE_ VARCHAR(255) NOT NULL,
PRIMARY KEY (TID, KEY_),
FOREIGN KEY (TID) REFERENCES TABLES (TID) ON DELETE CASCADE
-)
\ No newline at end of file
+)
http://git-wip-us.apache.org/repos/asf/tajo/blob/e22c1c57/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql
index e7297f7..0fe8bf2 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql
+++ b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tables.sql
@@ -1,11 +1,11 @@
CREATE TABLE TABLES (
TID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
DB_ID INT NOT NULL,
- TABLE_NAME VARCHAR(128) NOT NULL,
+ TABLE_NAME VARCHAR(128) BINARY NOT NULL,
TABLE_TYPE VARCHAR(128) NOT NULL,
- PATH VARCHAR(4096),
+ PATH VARCHAR(4096) BINARY,
STORE_TYPE CHAR(16),
FOREIGN KEY (DB_ID) REFERENCES DATABASES_ (DB_ID),
INDEX IDX_DB_ID (DB_ID),
UNIQUE INDEX IDX_TABLE_ID (DB_ID, TABLE_NAME)
-)
\ No newline at end of file
+)
http://git-wip-us.apache.org/repos/asf/tajo/blob/e22c1c57/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql
index f2e2299..3cfbb40 100644
--- a/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql
+++ b/tajo-catalog/tajo-catalog-server/src/main/resources/schemas/mysql/tablespaces.sql
@@ -1,7 +1,7 @@
CREATE TABLE TABLESPACES (
SPACE_ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
- SPACE_NAME VARCHAR(128) NOT NULL UNIQUE,
+ SPACE_NAME VARCHAR(128) BINARY NOT NULL UNIQUE,
SPACE_HANDLER VARCHAR (1024) DEFAULT 'HDFS',
- SPACE_URI VARCHAR (4096) NOT NULL,
+ SPACE_URI VARCHAR (4096) BINARY NOT NULL,
UNIQUE INDEX IDX_NAME (SPACE_NAME)
-)
\ No newline at end of file
+)
http://git-wip-us.apache.org/repos/asf/tajo/blob/e22c1c57/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java
----------------------------------------------------------------------
diff --git a/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java b/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java
index 43c6f7d..305742f 100644
--- a/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java
+++ b/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java
@@ -26,7 +26,6 @@ import org.apache.tajo.catalog.dictionary.InfoSchemaMetadataDictionary;
import org.apache.tajo.catalog.exception.CatalogException;
import org.apache.tajo.catalog.exception.NoSuchFunctionException;
import org.apache.tajo.catalog.store.PostgreSQLStore;
-import org.apache.tajo.function.Function;
import org.apache.tajo.catalog.partition.PartitionMethodDesc;
import org.apache.tajo.catalog.proto.CatalogProtos;
import org.apache.tajo.catalog.proto.CatalogProtos.FunctionType;
@@ -39,6 +38,7 @@ import org.apache.tajo.catalog.store.OracleStore;
import org.apache.tajo.common.TajoDataTypes;
import org.apache.tajo.common.TajoDataTypes.Type;
import org.apache.tajo.conf.TajoConf;
+import org.apache.tajo.function.Function;
import org.apache.tajo.util.CommonTestingUtil;
import org.apache.tajo.util.KeyValueSet;
import org.apache.tajo.util.TUtil;
@@ -208,6 +208,20 @@ public class TestCatalog {
assertTrue(catalog.existDatabase("testCreateAndDropDatabases"));
assertTrue(catalog.dropDatabase("testCreateAndDropDatabases"));
}
+
+ @Test
+ public void testCreateAndDropDatabaseWithCharacterSensitivity() throws Exception {
+ assertFalse(catalog.existDatabase("TestDatabase1"));
+ assertFalse(catalog.existDatabase("testDatabase1"));
+ assertTrue(catalog.createDatabase("TestDatabase1", TajoConstants.DEFAULT_TABLESPACE_NAME));
+ assertTrue(catalog.existDatabase("TestDatabase1"));
+ assertFalse(catalog.existDatabase("testDatabase1"));
+ assertTrue(catalog.createDatabase("testDatabase1", TajoConstants.DEFAULT_TABLESPACE_NAME));
+ assertTrue(catalog.existDatabase("TestDatabase1"));
+ assertTrue(catalog.existDatabase("testDatabase1"));
+ assertTrue(catalog.dropDatabase("TestDatabase1"));
+ assertTrue(catalog.dropDatabase("testDatabase1"));
+ }
@Test
public void testCreateAndDropManyDatabases() throws Exception {
@@ -285,6 +299,43 @@ public class TestCatalog {
assertTrue(catalog.dropDatabase("tmpdb2"));
assertFalse(catalog.existDatabase("tmpdb2"));
}
+
+ @Test
+ public void testCreateAndDropTableWithCharacterSensivity() throws Exception {
+ String databaseName = "TestDatabase1";
+ assertTrue(catalog.createDatabase(databaseName, TajoConstants.DEFAULT_TABLESPACE_NAME));
+ assertTrue(catalog.existDatabase(databaseName));
+
+ String tableName = "TestTable1";
+ Schema schema = new Schema();
+ schema.addColumn("Column", Type.BLOB);
+ schema.addColumn("column", Type.INT4);
+ schema.addColumn("cOlumn", Type.INT8);
+ Path path = new Path(CommonTestingUtil.getTestDir(), tableName);
+ TableDesc table = new TableDesc(
+ CatalogUtil.buildFQName(databaseName, tableName),
+ schema,
+ new TableMeta(StoreType.CSV, new KeyValueSet()),
+ path.toUri(), true);
+
+ assertTrue(catalog.createTable(table));
+
+ tableName = "testTable1";
+ schema = new Schema();
+ schema.addColumn("Column", Type.BLOB);
+ schema.addColumn("column", Type.INT4);
+ schema.addColumn("cOlumn", Type.INT8);
+ path = new Path(CommonTestingUtil.getTestDir(), tableName);
+ table = new TableDesc(
+ CatalogUtil.buildFQName(databaseName, tableName),
+ schema,
+ new TableMeta(StoreType.CSV, new KeyValueSet()),
+ path.toUri(), true);
+
+ assertTrue(catalog.createTable(table));
+
+ assertTrue(catalog.dropDatabase(databaseName));
+ }
static String dbPrefix = "db_";
static String tablePrefix = "tb_";