"insert into table default values" is invalid MySQL syntax (#1978)

* ADD: failing testcase for "insert into table default values;" is invalid MySql syntax

* FIX: "insert into table default values;" is invalid MySql syntax
This commit is contained in:
Jonas Pöhler
2020-03-23 22:09:28 +13:00
committed by GitHub
parent 896aed0b38
commit c2fb23a25c
4 changed files with 137 additions and 1 deletions
@@ -0,0 +1,36 @@
package org.tests.defaultvalues;
import io.ebean.BaseTestCase;
import io.ebean.Ebean;
import org.ebeantest.LoggedSqlCollector;
import org.junit.Test;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
public class TestDefaults extends BaseTestCase {
@Test
public void testInsertDefaultValues() {
final DefaultsModel main = new DefaultsModel();
for (int i = 0; i < 5; i++) {
final ReferencedDefaultsModel ref = new ReferencedDefaultsModel();
ref.setName("r" + i);
main.getRelatedModels().add(ref);
}
LoggedSqlCollector.start();
Ebean.save(main);
final List<String> current = LoggedSqlCollector.current();
assertThat(current).isNotEmpty();
if (isMySql()) {
assertThat(current.get(0)).contains("insert into defaults_model_draft values (default);");
} else {
assertThat(current.get(0)).contains("insert into defaults_model_draft default values;");
}
}
}