Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 315123

Summary: Tables are not dropped with eclipselink.ddl-generation drop-and-create-tables property
Product: z_Archived Reporter: Javier Ortiz <javier.ortiz.78>
Component: EclipselinkAssignee: Project Inbox <eclipselink.orm-inbox>
Status: REOPENED --- QA Contact:
Severity: major    
Priority: P3 CC: michael.f.obrien, tom.ware
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows Vista   
Whiteboard:
Attachments:
Description Flags
Netbeans project with all the environement none

Description Javier Ortiz CLA 2010-05-31 14:07:32 EDT
Build Identifier: 

Even though eclipselink log shows otherwise, table values are still there after a supposed drop and create.

Reproducible: Always
Comment 1 Javier Ortiz CLA 2010-05-31 14:08:39 EDT
Using version 2.1.0 of eclipselink. Attaching files so I can write the steps to reproduce.
Comment 2 Javier Ortiz CLA 2010-05-31 14:19:13 EDT
Marked as invalid, was a mistake from my part.
Comment 3 Javier Ortiz CLA 2010-05-31 14:38:14 EDT
Created attachment 170578 [details]
Netbeans project with all the environement

I was able to reproduce on my scenario but a simple test seems to work properly.

Steps to reproduce:
1. Unzip the above project
2. Run simple.server.application.db.CharacterAccessTest (it will fail in the second test but the first one will create entities in the database, account and characters tables)
3. Re run the same test case

Notice that the first test case fails due to a PreexistingEntityException even when the eclipselink log says all tables were dropped and created. See log below:

[EL Config]: 2010-05-31 13:36:05.617--ServerSession(28637909)--Connection(23387093)--Thread(Thread[main,5,main])--connecting(DatabaseLogin(
        platform=>MySQLPlatform
        user name=> "simple_user"
        datasource URL=> "jdbc:mysql://localhost:3306/marauroa_test"
))
[EL Config]: 2010-05-31 13:36:05.629--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--Connected: jdbc:mysql://localhost:3306/marauroa_test
        User: simple_user@localhost
        Database: MySQL  Version: 5.1.40-community
        Driver: MySQL-AB JDBC Driver  Version: mysql-connector-java-5.1.6 ( Revision: ${svn.Revision} )
[EL Info]: 2010-05-31 13:36:06.092--ServerSession(28637909)--Thread(Thread[main,5,main])--file:/Z:/Netbeans/Simple-Marauroa/Simple-Server/src/_TestSimplePU_url=jdbc:mysql://localhost:3306/marauroa_test_user=simple_user login successful
[EL Fine]: 2010-05-31 13:36:06.121--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--DROP TABLE rpobject
[EL Fine]: 2010-05-31 13:36:06.192--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--CREATE TABLE rpobject (OBJECT_ID INTEGER AUTO_INCREMENT NOT NULL, DATA LONGBLOB, PRIMARY KEY (OBJECT_ID))
[EL Fine]: 2010-05-31 13:36:06.258--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--DROP TABLE banlist
[EL Fine]: 2010-05-31 13:36:06.281--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--CREATE TABLE banlist (ID INTEGER AUTO_INCREMENT NOT NULL, ADDRESS VARCHAR(64), REASON VARCHAR(255), MASK VARCHAR(15), PRIMARY KEY (ID))
[EL Fine]: 2010-05-31 13:36:06.408--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--DROP TABLE passwordchange
[EL Fine]: 2010-05-31 13:36:06.425--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--CREATE TABLE passwordchange (ID INTEGER AUTO_INCREMENT NOT NULL, RESULT SMALLINT, OLDPASSWORD VARCHAR(255), PLAYER_ID INTEGER NOT NULL, ADDRESS VARCHAR(64), TIMEDATE DATETIME NOT NULL, SERVICE VARCHAR(10), PRIMARY KEY (ID))
[EL Fine]: 2010-05-31 13:36:06.529--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--DROP TABLE loginseed
[EL Fine]: 2010-05-31 13:36:06.57--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--CREATE TABLE loginseed (ID INTEGER AUTO_INCREMENT NOT NULL, PLAYER_ID INTEGER, ADDRESS VARCHAR(64), COMPLETE INTEGER, SEED VARCHAR(120), TIMEDATE DATETIME NOT NULL, USED INTEGER, PRIMARY KEY (ID))
[EL Fine]: 2010-05-31 13:36:06.658--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--DROP TABLE rpzone
[EL Fine]: 2010-05-31 13:36:06.681--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--CREATE TABLE rpzone (ZONE_ID VARCHAR(32) NOT NULL, DATA LONGBLOB, PRIMARY KEY (ZONE_ID))
[EL Fine]: 2010-05-31 13:36:06.758--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--DROP TABLE accountban
[EL Fine]: 2010-05-31 13:36:06.837--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--CREATE TABLE accountban (ID INTEGER AUTO_INCREMENT NOT NULL, EXPIRE DATETIME, PLAYER_ID INTEGER, REASON VARCHAR(255), TIMEDATE DATETIME NOT NULL, PRIMARY KEY (ID))
[EL Fine]: 2010-05-31 13:36:06.926--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--DROP TABLE loginevent
[EL Fine]: 2010-05-31 13:36:06.948--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--CREATE TABLE loginevent (ID INTEGER NOT NULL, RESULT INTEGER, PLAYER_ID INTEGER NOT NULL, ADDRESS VARCHAR(64), SEED VARCHAR(120), TIMEDATE DATETIME NOT NULL, SERVICE VARCHAR(10), PRIMARY KEY (ID))
[EL Fine]: 2010-05-31 13:36:07.025--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--DROP TABLE account
[EL Fine]: 2010-05-31 13:36:07.086--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--CREATE TABLE account (ID INTEGER NOT NULL, USERNAME VARCHAR(32) NOT NULL, EMAIL VARCHAR(64) NOT NULL, STATUS VARCHAR(8) NOT NULL, TIMEDATE DATETIME NOT NULL, PASSWORD VARCHAR(255) NOT NULL, PRIMARY KEY (ID))
[EL Fine]: 2010-05-31 13:36:07.225--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--DROP TABLE gameevents
[EL Fine]: 2010-05-31 13:36:07.248--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--CREATE TABLE gameevents (ID INTEGER AUTO_INCREMENT NOT NULL, SOURCE VARCHAR(64), PARAM1 VARCHAR(128), PARAM2 VARCHAR(255), TIMEDATE DATETIME NOT NULL, EVENT VARCHAR(64), PRIMARY KEY (ID))
[EL Fine]: 2010-05-31 13:36:07.415--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--DROP TABLE characters
[EL Fine]: 2010-05-31 13:36:07.437--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--CREATE TABLE characters (CHARNAME VARCHAR(32) NOT NULL, PLAYER_ID INTEGER NOT NULL, OBJECT_ID INTEGER NOT NULL, PRIMARY KEY (CHARNAME))
[EL Fine]: 2010-05-31 13:36:07.592--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--DROP TABLE statistics
[EL Fine]: 2010-05-31 13:36:07.615--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--CREATE TABLE statistics (ID INTEGER AUTO_INCREMENT NOT NULL, IPS_ONLINE BIGINT, BYTES_SEND BIGINT, BYTES_RECV BIGINT, PLAYERS_LOGOUT BIGINT, TIMEDATE DATETIME NOT NULL, PLAYERS_LOGIN BIGINT, PLAYERS_TIMEOUT BIGINT, PLAYERS_ONLINE BIGINT, PRIMARY KEY (ID))
[EL Fine]: 2010-05-31 13:36:07.748--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--CREATE TABLE SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT DECIMAL(38), PRIMARY KEY (SEQ_NAME))
[EL Fine]: 2010-05-31 13:36:07.763--ServerSession(28637909)--Thread(Thread[main,5,main])--SELECT 1
[EL Warning]: 2010-05-31 13:36:07.767--ServerSession(28637909)--Thread(Thread[main,5,main])--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.1.0.v20100517-r7246): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'sequence' already exists
Error Code: 1050
Call: CREATE TABLE SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT DECIMAL(38), PRIMARY KEY (SEQ_NAME))
Query: DataModifyQuery(sql="CREATE TABLE SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT DECIMAL(38), PRIMARY KEY (SEQ_NAME))")
[EL Fine]: 2010-05-31 13:36:07.862--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--DELETE FROM SEQUENCE WHERE SEQ_NAME = SEQ_GEN
[EL Fine]: 2010-05-31 13:36:07.903--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--SELECT * FROM SEQUENCE WHERE SEQ_NAME = SEQ_GEN
[EL Fine]: 2010-05-31 13:36:07.908--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--INSERT INTO SEQUENCE(SEQ_NAME, SEQ_COUNT) values (SEQ_GEN, 0)
[EL Fine]: 2010-05-31 13:36:08.087--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--SELECT COUNT(SERVICE) FROM loginevent
[EL Fine]: 2010-05-31 13:36:08.093--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--SELECT COUNT(SEED) FROM loginevent
[EL Fine]: 2010-05-31 13:36:08.095--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--SELECT COUNT(RESULT) FROM passwordchange
[EL Fine]: 2010-05-31 13:36:08.097--ServerSession(28637909)--Connection(2804837)--Thread(Thread[main,5,main])--SELECT COUNT(IPS_ONLINE) FROM statistics
Comment 4 Javier Ortiz CLA 2010-05-31 14:38:43 EDT
See previous comment.
Comment 5 Tom Ware CLA 2010-06-14 14:29:59 EDT
Setting target and priority.  See the following page for details of what these fields mean:

http://wiki.eclipse.org/EclipseLink/Development/Bugs/Guidelines
Comment 6 Eclipse Webmaster CLA 2022-06-09 10:10:00 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink