Commit 8f5601f2 authored by Pietro Apollo's avatar Pietro Apollo
Browse files

Now can use both numerical and literal key_id (for example: 1, 2 etc... and k1, k2, etc...)

parent ee55a704
Loading
Loading
Loading
Loading
+29 −3
Original line number Diff line number Diff line
@@ -309,6 +309,7 @@ public class UpdateTapSchema {
                    String target_column = foreignKeysResultSet.getString("k.REFERENCED_COLUMN_NAME");

                    //calculate the max key_ID
                    boolean k = false;
                    if (create == false) //tapschema already exists
                    {
                        statement = connection.createStatement();
@@ -316,7 +317,18 @@ public class UpdateTapSchema {
                        ResultSet resultSet = statement.executeQuery(queryString);
                        while(resultSet.next())
                        {
                            keyIDList.add(Integer.parseInt(resultSet.getString(1)));
                            String key_ID = resultSet.getString(1);
                            if (key_ID.startsWith("k"))
                            {
                                k = true;
                                key_ID = key_ID.replaceAll("k", "");
                            }
                            else
                            {
                                k = false;
                            }
                            //keyIDList.add(Integer.parseInt(resultSet.getString(1)));
                            keyIDList.add(Integer.parseInt(key_ID));
                        }
                    }

@@ -351,13 +363,27 @@ public class UpdateTapSchema {

                    // updates variables of current key and key_column structure
                    Key key = new Key();
                    if (k == true)
                    {
                        key.key_id = "k" + max.toString();
                    }
                    else
                    {
                        key.key_id = max.toString();
                    }
                    key.from_table = databaseName + "." + from_table;
                    key.target_table = databaseName + "." + target_table;
                    schema.keysMap.put(key.key_id, key);

                    KeyColumn key_column = new KeyColumn();
                    if (k == true)
                    {
                        key_column.key_id = "k" + max.toString();
                    }
                    else
                    {
                        key_column.key_id = max.toString();
                    }
                    key_column.from_column = from_column;
                    key_column.target_column = target_column;
                    schema.key_columnsMap.put(key_column.key_id, key_column);