]> source.dussan.org Git - jackcess.git/commitdiff
use uppercase names when adding text columns to indexes, which fixes long standing...
authorJames Ahlborn <jtahlborn@yahoo.com>
Mon, 7 Aug 2006 11:33:24 +0000 (11:33 +0000)
committerJames Ahlborn <jtahlborn@yahoo.com>
Mon, 7 Aug 2006 11:33:24 +0000 (11:33 +0000)
git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@94 f203690c-595d-4dc9-a70b-905162fa7fd2

src/java/com/healthmarketscience/jackcess/Database.java
src/java/com/healthmarketscience/jackcess/Index.java

index b36471f76af20b1d4e4eafc7e50c53923423e519..fd90579972d0e380e26739ecb4dff8e09428265c 100644 (file)
@@ -334,16 +334,11 @@ public class Database
   public void createTable(String name, List<Column> columns)
     throws IOException
   {
-
     if(getTable(name) != null) {
       throw new IllegalArgumentException(
           "Cannot create table with name of existing table");
     }
     
-    //There is some really bizarre bug in here where tables that start with
-    //the letters a-m (only lower case) won't open in Access. :)
-    name = Character.toUpperCase(name.charAt(0)) + name.substring(1);
-    
     //We are creating a new page at the end of the db for the tdef.
     int pageNumber = _pageChannel.getPageCount();
     
index d1a832172b07830ca694d3846b58965e7e3a7e3f..69ca1e59ab1264ae5ffd0a4499bf1b51589a3769 100644 (file)
@@ -410,6 +410,10 @@ public class Index implements Comparable<Index> {
     public EntryColumn(Column col, Comparable value) {
       _column = col;
       _value = value;
+      if(_column.getType() == DataType.TEXT) {
+        // index strings are stored as uppercase
+        _value = ((_value != null) ? _value.toString().toUpperCase() : null);
+      }
     }
     
     /**
@@ -459,7 +463,7 @@ public class Index implements Comparable<Index> {
       if (_column.getType() == DataType.TEXT) {
         String s = (String) _value;
         for (int i = 0; i < s.length(); i++) {
-          Byte b = (Byte) CODES.get(new Character(Character.toUpperCase(s.charAt(i))));
+          Byte b = (Byte) CODES.get(new Character(s.charAt(i)));
           
           if (b == null) {
             throw new IOException("Unmapped index value: " + s.charAt(i));