Revision 44295

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.h2/src/main/java/org/gvsig/fmap/dal/store/h2/H2SpatialSQLBuilder.java
293 293
                if( !column.isGeometry() ) {
294 294
                    if (column.isPrimaryKey()) {
295 295
                        builder.append(" PRIMARY KEY");
296
                    }
297
                    if( column.isAutomatic() ) {
298
                        builder.append(" AUTO_INCREMENT");
299
                    }
300
                    if (column.getDefaultValue() == null) {
301
                        if (column.allowNulls()) {
302
                            builder.append(" DEFAULT NULL");
296
                        if( column.isAutomatic() ) {
297
                            builder.append(" AUTO_INCREMENT");
303 298
                        }
304 299
                    } else {
305
                        if( column.getType() == DataTypes.DATE ) {
306
                            builder.append(" DEFAULT ( TIMESTAMP '");
307
                            Date d = (Date) column.getDefaultValue();
308
                            builder.append(MessageFormat.format( "{0,date,yyyy-MM-dd HH:mm:ss.S}",d));
309
                            builder.append("' )");
300
                        if( column.isAutomatic() ) {
301
                            builder.append(" AUTO_INCREMENT");
302
                        }
303
                        if (column.getDefaultValue() == null) {
304
                            if (column.allowNulls()) {
305
                                builder.append(" DEFAULT NULL");
306
                            }
310 307
                        } else {
311
                            builder.append(" DEFAULT '");
312
                            builder.append(column.getDefaultValue().toString());
313
                            builder.append("'");
308
                            if( column.getType() == DataTypes.DATE ) {
309
                                builder.append(" DEFAULT ( TIMESTAMP '");
310
                                Date d = (Date) column.getDefaultValue();
311
                                builder.append(MessageFormat.format( "{0,date,yyyy-MM-dd HH:mm:ss.S}",d));
312
                                builder.append("' )");
313
                            } else {
314
                                builder.append(" DEFAULT '");
315
                                builder.append(column.getDefaultValue().toString());
316
                                builder.append("'");
317
                            }
314 318
                        }
315 319
                    }
316 320
                }
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.db/org.gvsig.fmap.dal.db.h2/src/test/java/org/gvsig/fmap/dal/store/h2/H2SpatialSQLBuilderTest.java
76 76
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
77 77
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
78 78
        assertEquals(
79
                "SELECT ST_AsBinary(ST_ExtentAggregate(\"the_geom\")) AS \"envelope\" FROM \"test1\" WHERE ( ((ST_Envelope(\"the_geom\")) && (ST_GeomFromWKB((DECODE('000000000300000001000000050000000000000000000000000000000000000000000000004059000000000000405900000000000040590000000000004059000000000000000000000000000000000000000000000000000000000000','hex')), (4326)))) AND ST_Intersects((ST_Envelope(\"the_geom\")),(ST_GeomFromWKB((DECODE('000000000300000001000000050000000000000000000000000000000000000000000000004059000000000000405900000000000040590000000000004059000000000000000000000000000000000000000000000000000000000000','hex')), (4326))) )) AND x = 27",
79
                "SELECT ST_AsBinary(ST_Extent(\"the_geom\")) AS \"envelope\" FROM \"test1\" WHERE (( ((ST_Envelope(\"the_geom\")) && (ST_GeomFromWKB((DECODE('000000000300000001000000050000000000000000000000000000000000000000000000004059000000000000405900000000000040590000000000004059000000000000000000000000000000000000000000000000000000000000','hex')), (4326)))) AND ST_Intersects((ST_Envelope(\"the_geom\")),(ST_GeomFromWKB((DECODE('000000000300000001000000050000000000000000000000000000000000000000000000004059000000000000405900000000000040590000000000004059000000000000000000000000000000000000000000000000000000000000','hex')), (4326))) )) AND x = 27)",
80 80
                sqlbuilder.toString()
81 81
        );
82 82
        assertEquals(
......
168 168
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
169 169
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
170 170
        assertEquals(
171
                "CREATE TABLE \"test1\" (\"name\" VARCHAR(45) DEFAULT NULL, \"id\" INTEGER PRIMARY KEY AUTO_INCREMENT DEFAULT '0' NOT NULL, \"geom\" GEOMETRY ); ALTER TABLE \"test1\" ADD CONSTRAINT IF NOT EXISTS \"constraint_test1_geom_dim\" CHECK ST_CoordDim(\"geom\") = 2",
171
                "CREATE TABLE \"test1\" (\"name\" VARCHAR(45) DEFAULT NULL, \"id\" INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL, \"geom\" GEOMETRY ); ALTER TABLE \"test1\" ADD CONSTRAINT IF NOT EXISTS \"constraint_test1_geom_dim\" CHECK ST_CoordDim(\"geom\") = 2",
172 172
                sqlbuilder.toString()
173 173
        );
174 174
        assertEquals(
......
301 301
        System.out.println("# Variables:: " + ArrayUtils.toString(sqlbuilder.variables_names()));
302 302
        System.out.println("# Parametros:: " + ArrayUtils.toString(sqlbuilder.parameters_names()));
303 303
        assertEquals(
304
                "DELETE FROM \"test1\" WHERE ( (\"id1\") = (?) ) AND ( (\"id2\") = (?) )",
304
                "DELETE FROM \"test1\" WHERE (( (\"id1\") = (?) ) AND ( (\"id2\") = (?) ))",
305 305
                sqlbuilder.toString()
306 306
        );
307 307
        assertEquals(

Also available in: Unified diff