You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by pr...@apache.org on 2002/11/28 20:05:06 UTC
cvs commit: jakarta-ojb/src/java/org/apache/ojb/broker/metadata/auto AutoCreatorDb.java
prophecy 2002/11/28 11:05:06
Modified: src/java/org/apache/ojb/broker/metadata/auto
AutoCreatorDb.java
Log:
fixed some bugs
Revision Changes Path
1.5 +17 -10 jakarta-ojb/src/java/org/apache/ojb/broker/metadata/auto/AutoCreatorDb.java
Index: AutoCreatorDb.java
===================================================================
RCS file: /home/cvs/jakarta-ojb/src/java/org/apache/ojb/broker/metadata/auto/AutoCreatorDb.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AutoCreatorDb.java 27 Nov 2002 05:48:15 -0000 1.4
+++ AutoCreatorDb.java 28 Nov 2002 19:05:06 -0000 1.5
@@ -33,6 +33,7 @@
/**
* TODO: Don't know why the Pbroker is needed for the newConnection() method, but since it is
* i've passed it in here.
+ * @deprecated
*/
public static void autoCreate(DescriptorRepository repos, PersistenceBrokerImpl pb) {
@@ -181,6 +182,7 @@
while(enum.hasMoreElements()){
ClassDescriptor cld = (ClassDescriptor) enum.nextElement();
// check if table exists in db
+ // todo: should this be getFullTableName or just getTableName()
String tname = cld.getFullTableName();
//System.out.println(tname);
if(exists(tableNames, tname)){
@@ -204,12 +206,12 @@
for (int i = 0; i < fld.length; i++)
{
FieldDescriptor fieldDescriptor = fld[i];
- String colname = fieldDescriptor.getFullColumnName();
- if(exists(colsInDb, colname)){
+ String colname = fieldDescriptor.getColumnName();
+ if(!exists(colsInDb, colname)){
// alter table to add column
logger.info("Altering table [" + tname + "] - adding column [" + colname + "]");
AlterTableQuery altq = factory.getAlterTableQuery();
- altq.setTable("tname");
+ altq.setTable(tname);
altq.addColumn(new Column(colname, fieldDescriptor.getColumnJdbcType()));
altq.execute(st);
@@ -222,13 +224,17 @@
CreateTableQuery ctq = factory.getCreateTableQuery();
ctq.setName(tname);
FieldDescriptor fld[] = cld.getFieldDescriptions();
- for (int i = 0; i < fld.length; i++)
- {
- FieldDescriptor fieldDescriptor = fld[i];
- String colname = fieldDescriptor.getFullColumnName();
- ctq.addColumn(new Column(colname, fieldDescriptor.getColumnJdbcType()));
+ if(fld != null){
+ for (int i = 0; i < fld.length; i++)
+ {
+ FieldDescriptor fieldDescriptor = fld[i];
+ String colname = fieldDescriptor.getColumnName();
+ ctq.addColumn(new Column(colname, fieldDescriptor.getColumnJdbcType()));
+ }
+ ctq.execute(st);
+ //System.out.println(ctq);
+ tableNames.add(tname);
}
- ctq.execute(st);
}
}
@@ -257,6 +263,7 @@
{
String s = (String) tableNames.get(i);
if(s.equalsIgnoreCase(tname)){
+ //System.out.println("table exists: " + tname + " - " + s);
return true;
}