Refactor move tests from ebean-core to ebean-test

This commit is contained in:
rbygrave committed 2021-09-08 22:49:23 +12:00
1 parent 0b00a14fd3
commit eab56d323b
1650 files changed
+185 -147

No files matched your search

+272
View File
@@ -0,0 +1,272 @@
grammar EQL;
select_statement
: select_clause? fetch_clause* where_clause? orderby_clause? limit_clause? EOF
;
select_properties
: '(' fetch_property_group ')'
| fetch_property_group
;
select_clause
: 'select' distinct? select_properties
;
distinct
: 'distinct'
;
fetch_clause
: fetch_path
;
where_clause
: 'where' conditional_expression
;
orderby_clause
: 'order' 'by' orderby_property (',' orderby_property)*
;
orderby_property
: PATH_VARIABLE asc_desc? nulls_firstlast?
;
nulls_firstlast
: 'nulls' 'first'
| 'nulls' 'last'
;
asc_desc
: 'asc'
| 'desc'
;
limit_clause
: 'limit' NUMBER_LITERAL offset_clause?
;
offset_clause
: 'offset' NUMBER_LITERAL
;
fetch_path
: 'fetch' fetch_option? fetch_path_path fetch_property_set?
;
fetch_property_set
: '(' fetch_property_group ')'
;
fetch_property_group
: fetch_property (',' fetch_property)*
;
fetch_path_path
: PATH_VARIABLE
| QUOTED_PATH_VARIABLE
;
fetch_property
: PATH_VARIABLE
| fetch_query_hint
| fetch_lazy_hint
| PROP_FORMULA
;
fetch_query_hint
: '+' fetch_query_option
;
fetch_lazy_hint
: '+' fetch_lazy_option
;
fetch_option
: fetch_query_option
| fetch_lazy_option
;
fetch_query_option
: 'query' fetch_batch_size?
;
fetch_lazy_option
: 'lazy' fetch_batch_size?
;
fetch_batch_size
: '(' NUMBER_LITERAL ')'
;
conditional_expression
: conditional_term ('or' conditional_term)*
;
conditional_term
: conditional_factor ('and' conditional_factor)*
;
conditional_factor
: 'not'? conditional_primary
;
conditional_primary
: any_expression
| '(' conditional_expression ')'
;
any_expression
: comparison_expression
| like_expression
| inrange_expression
| between_expression
| propertyBetween_expression
| inOrEmpty_expression
| in_expression
| isNull_expression
| isNotNull_expression
| isEmpty_expression
| isNotEmpty_expression
| '(' any_expression ')'
;
inOrEmpty_expression
: PATH_VARIABLE 'inOrEmpty' in_value
;
in_expression
: PATH_VARIABLE 'in' in_value
;
in_value
: INPUT_VARIABLE
| '(' value_expression (',' value_expression)* ')'
;
between_expression
: PATH_VARIABLE 'between' value_expression 'and' value_expression
;
inrange_expression
: PATH_VARIABLE inrange_op value_expression 'to' value_expression
;
inrange_op
: 'inrange' | 'inRange'
;
propertyBetween_expression
: value_expression 'between' PATH_VARIABLE 'and' PATH_VARIABLE
;
isNull_expression
: PATH_VARIABLE 'is' 'null'
| PATH_VARIABLE 'isNull'
;
isNotNull_expression
: PATH_VARIABLE 'is' 'not' 'null'
| PATH_VARIABLE 'isNotNull'
| PATH_VARIABLE 'notNull'
;
isEmpty_expression
: PATH_VARIABLE 'is' 'empty'
| PATH_VARIABLE 'isEmpty'
;
isNotEmpty_expression
: PATH_VARIABLE 'is' 'not' 'empty'
| PATH_VARIABLE 'isNotEmpty'
| PATH_VARIABLE 'notEmpty'
;
like_expression
: PATH_VARIABLE like_op value_expression
;
like_op
: 'like' | 'ilike'
| 'contains' | 'icontains'
| 'startsWith' | 'istartsWith'
| 'endsWith' | 'iendsWith'
;
comparison_expression
: PATH_VARIABLE comparison_operator value_expression
| value_expression comparison_operator PATH_VARIABLE
;
comparison_operator
: '=' | 'eq'
| '>' | 'gt'
| '>=' | 'ge' | 'gte'
| '<' | 'lt'
| '<=' | 'le' | 'lte'
| '<>' | '!=' | 'ne'
| 'ieq'
| 'ine'
| 'eqOrNull' | 'gtOrNull' | 'ltOrNull' | 'geOrNull' | 'leOrNull'
;
value_expression
: literal
| INPUT_VARIABLE
;
literal
: STRING_LITERAL
| BOOLEAN_LITERAL
| NUMBER_LITERAL
;
INPUT_VARIABLE
: ':' ('a' .. 'z' | 'A' .. 'Z' | '_') ('a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_')*
| '?' ('0' .. '9')*
;
PATH_VARIABLE
: ('a' .. 'z' | 'A' .. 'Z' | '_') ('a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' | '.')*
;
QUOTED_PATH_VARIABLE
: ('`')(PATH_VARIABLE)('`')
;
PROP_FORMULA
: 'sum(' PATH_VARIABLE ')'
| 'max(' PATH_VARIABLE ')'
| 'min(' PATH_VARIABLE ')'
| 'avg(' PATH_VARIABLE ')'
| 'count(' PATH_VARIABLE ')'
;
BOOLEAN_LITERAL
: 'true'
| 'false'
;
NUMBER_LITERAL
: '-'? DOUBLE
| '-'? INT
| ZERO
;
DOUBLE
: [0-9]+ '.' [0-9]*;
INT
: [1-9] [0-9]*;
ZERO : '0';
STRING_LITERAL
: '\'' ( ~'\'' | '\'\'' )* '\''
;
WS
: [ \t\r\n] -> skip
;
@@ -0,0 +1 @@
io.ebeantest.CapturingLoggerFactory
@@ -0,0 +1,2 @@
entity-packages: com.baz, org.bax.domain
agent-use-only: true
@@ -0,0 +1,2 @@
packages: com.foo.domain, com.bar.domain
entity-packages: com.baz.domain
@@ -0,0 +1 @@
entity-packages: com.baz, org.bax.domain
@@ -0,0 +1 @@
packages: foo
@@ -0,0 +1 @@
packages: com.foo.domain, com.bar.domain
@@ -0,0 +1,26 @@
#mysql.version=5.7
#mysql.dbName=test_ebean
#mysql.dbUser=test_ebean
#mysql.dbPassword=test
#mysql.startMode=dropcreate
#sqlserver.version=2017-CU2
#sqlserver.port=1433
#sqlserver.dbName=test_ebean
#sqlserver.dbUser=test_ebean
#sqlserver.dbPassword=SqlS3rv#r
#sqlserver.startMode=dropcreate
#oracle.version=latest
#oracle.dbUser=test_ebean
#oracle.dbPassword=test
##oracle.startMode=dropcreate
#postgres.version=9.6
##postgres.dbName=test_db
##postgres.dbUser=test_user
##postgres.dbPassword=test
##postgres.port=6432
#postgres.dbExtensions=hstore,pgcrypto
+7 -2
View File
@@ -1,2 +1,7 @@
entity-packages: org.test
transactional-packages: org.test
agent-use-only: true
profile-location: true
entity-packages: org,misc
transactional-packages: org
querybean-packages: none
synthetic: true
@@ -0,0 +1,216 @@
## -------------------------------------------------------------
## Load (Dev/Test/Prod) server specific properties
## -------------------------------------------------------------
## This is a possible alternative to using JNDI to set environment
## properties externally (to the WAR file). This is another way
## your Dev, Test and Prod servers can have different properties.
#load.properties=${HOME}/config/myapp.ebean.properties
ebean.encryptKeyManager=org.tests.basic.encrypt.BasicEncyptKeyManager
#ebean.disableL2Cache=true
#ebean.maxCallStack=1
#ebean.autoTune.queryTuning=true
#ebean.autoTune.mode=DEFAULT_ON
#ebean.autoTune.profiling=true
#ebean.autoTune.profilingUpdateFrequency=5
ebean.ddl.generate=true
ebean.ddl.run=true
ebean.ddl.header=-- Generated by ebean ${version} at ${timestamp}
ebean.packages=org.tests,org.etest
datasource.default=h2
#datasource.h2.capturestacktrace=true
ebean.dumpMetricsOnShutdown=true
ebean.dumpMetricsOptions=sql,hash,loc
#ebean.queryPlan.thresholdMicros=1000
ebean.queryPlan.enable=true
ebean.autoReadOnlyDataSource=true
#datasource.h2-ro.url=jdbc:h2:mem:tests
#ebean.persistBatch=NONE
#ebean.h2.idType=SEQUENCE
ebean.mappingLocations=classpath:/ebean-xml-mappings
ebean.currentUserProvider=io.ebean.MyCurrentUserProvider
#ebean.expressionNativeIlike=true
#ebean.jsonInclude=NON_NULL
#ebean.cluster.type=mcast
#ebean.cluster.mcast.listen.port=9768
#ebean.cluster.mcast.listen.address=235.1.1.1
#ebean.cluster.mcast.listen.disableLoopback=false
#ebean.cluster.mcast.send.port=9766
##ebean.debug.remotetransaction=true
#ebean.cluster.debuglevel=1
#ebean.uuidStoreAsBinary=true
ebean.cacheWarmingDelay=-1
##ebean.transaction.rollbackOnChecked=false
ebean.migration.appName=myapp
ebean.migration.migrationPath=dbmigration/myapp
## -------------------------------------------------------------
## DataSources (If using default Ebean DataSourceFactory)
## -------------------------------------------------------------
datasource.db.username=sa
datasource.db.password=
datasource.db.databaseUrl=jdbc:h2:file:~/tests
datasource.db.databaseDriver=org.h2.Driver
datasource.h2.username=sa
datasource.h2.password=
datasource.h2.url=jdbc:h2:mem:testsMem;DB_CLOSE_ON_EXIT=FALSE
datasource.h2.poolListener=org.tests.basic.MyTestDataSourcePoolListener
#datasource.h2.minConnections=1
#datasource.h2.maxConnections=25
#datasource.h2.capturestacktrace=true
#datasource.h2.maxStackTraceSize=20
#datasource.h2.driver=org.h2.Driver
#datasource.h2.heartbeatsql=select 1
#datasource.h2.isolationlevel=read_committed
#datasource.h2.customProperties=IGNORECASE=TRUE;MODE=Oracle;
datasource.h2multitenant.username=sa
datasource.h2multitenant.password=
datasource.h2multitenant.url=jdbc:h2:mem:h2multitenant
datasource.h2autocommit.autoCommit=true
datasource.h2autocommit.username=sa
datasource.h2autocommit.password=
datasource.h2autocommit.databaseUrl=jdbc:h2:mem:autocommittests
datasource.h2autocommit2.autoCommit=true
datasource.h2autocommit2.username=sa
datasource.h2autocommit2.password=
datasource.h2autocommit2.url=jdbc:h2:mem:autocommit2tests
datasource.h2other.username=sa
datasource.h2other.password=
datasource.h2other.url=jdbc:h2:mem:h2other
datasource.h2otherfind.username=sa
datasource.h2otherfind.password=
datasource.h2otherfind.url=jdbc:h2:mem:h2otherfind
datasource.h2ebasicver.username=sa
datasource.h2ebasicver.password=
datasource.h2ebasicver.url=jdbc:h2:mem:h2ebasicver
datasource.h2ebasicver2.username=sa
datasource.h2ebasicver2.password=
datasource.h2ebasicver2.url=jdbc:h2:mem:h2ebasicver
datasource.sqlite.username=
datasource.sqlite.password=
datasource.sqlite.url=jdbc:sqlite:mydb.db
datasource.sqlite.driver=org.sqlite.JDBC
datasource.sqlite.isolationlevel=read_uncommitted
datasource.hsqldb.username=sa
datasource.hsqldb.password=
datasource.hsqldb.url=jdbc:hsqldb:mem:tests
# Set caseSensitiveCollation to false when using
# MySql with case insensitive collation
#ebean.mysql.caseSensitiveCollation=false
datasource.mysql.username=unit
datasource.mysql.password=unit
datasource.mysql.url=jdbc:mysql://127.0.0.1:4306/unit
#datasource.mysql.username=test_ebean
#datasource.mysql.password=test
#datasource.mysql.url=jdbc:mysql://127.0.0.1:4306/test_ebean
#datasource.mysql.driver=com.mysql.cj.jdbc.Driver
datasource.mariadb.username=unit
datasource.mariadb.password=unit
datasource.mariadb.url=jdbc:mariadb://localhost:4306/unit?useLegacyDatetimeCode=false
datasource.cockroach.username=root
datasource.cockroach.password=
datasource.cockroach.url=jdbc:postgresql://localhost:26257/unit?sslmode=disable
datasource.cockroach.driver=org.postgresql.Driver
datasource.oracle.username=test_ebean
datasource.oracle.password=test
datasource.oracle.url=jdbc:oracle:thin:@localhost:1521:XE
#datasource.oracle.driver=oracle.jdbc.driver.OracleDriver
## set this to use timestamp rather than timestamptz
#ebean.postgres.timestamp=timestamp
datasource.pg.username=unit
datasource.pg.password=unit
datasource.pg.url=jdbc:postgresql://127.0.0.1:5432/unit
#datasource.pg.capturestacktrace=true
datasource.pg.maxStackTraceSize=50
datasource.pg9.username=unit
datasource.pg9.password=unit
datasource.pg9.url=jdbc:postgresql://127.0.0.1:9432/unit
#ebean.sqlserver.idType=SEQUENCE
# Our main testing target for SqlServer is sqlserver17
ebean.sqlserver.databasePlatformName=sqlserver17
# set caseSensitiveCollation=false when using a
# case insenstive collation with sql server - See main.StartSqlServer
#ebean.sqlserver.caseSensitiveCollation=false
datasource.sqlserver.username=test_ebean
datasource.sqlserver.password=SqlS3rv#r
datasource.sqlserver.url=jdbc:sqlserver://localhost:1433;databaseName=test_ebean;sendTimeAsDateTime=false
#datasource.sqlserver.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
datasource.nuodb.schema=test_user
datasource.nuodb.username=test_user
datasource.nuodb.password=test
datasource.nuodb.url=jdbc:com.nuodb://localhost/testdb
#datasource.nuodb.driver=com.nuodb.jdbc.Driver
datasource.db2.username=db2admin
datasource.db2.password=veryverysecret#1234
datasource.db2.url=jdbc:db2://127.0.0.1:50000/SAMPLE
#datasource.db2.driver=com.ibm.db2.jcc.DB2Driver
datasource.hana.username=EBEAN_TEST
datasource.hana.password=Eb3an_test
datasource.hana.url=jdbc:sap://hxehost:39013/?databaseName=HXE
#datasource.hana.driver=com.sap.db.jdbc.Driver
# parameters for migration test
datasource.migrationtest.username=SA
datasource.migrationtest.password=SA
datasource.migrationtest.url=jdbc:h2:mem:migration
ebean.migrationtest.applyPrefix=V
ebean.migrationtest.ddl.generate=false
ebean.migrationtest.ddl.run=false
ebean.migrationtest.ddl.header=-- Migrationscripts for ebean unittest
ebean.migrationtest.migration.appName=migrationtest
ebean.migrationtest.migration.migrationPath=dbmigration/migrationtest
ebean.migrationtest.migration.strict=true
# parameters for migration test
datasource.migrationtest-history.username=SA
datasource.migrationtest-history.password=SA
datasource.migrationtest-history.url=jdbc:h2:mem:migration
ebean.migrationtest-history.applyPrefix=V
ebean.migrationtest-history.ddl.generate=false
ebean.migrationtest-history.ddl.run=false
ebean.migrationtest-history.ddl.header=-- Migrationscripts for ebean unittest DbMigrationDropHistoryTest
ebean.migrationtest-history.migration.appName=migrationtest-history
ebean.migrationtest-history.migration.migrationPath=dbmigration/migrationtest-history
ebean.migrationtest-history.migration.strict=true
@@ -0,0 +1,85 @@
{
"version": "1.0",
"encoding": "UTF-8",
"feed": {
"xmlns": "http://www.w3.org/2005/Atom",
"xmlns$openSearch": "http://a9.com/-/spec/opensearchrss/1.0/",
"xmlns$gd": "http://schemas.google.com/g/2005",
"xmlns$gCal": "http://schemas.google.com/gCal/2005",
"id": {"$t": "..."},
"updated": {"$t": "2006-11-12T21:25:30.000Z"},
"title": {
"type": "text",
"$t": "Google Developer Events"
},
"subtitle": {
"type": "text",
"$t": "The calendar contains information about upcoming developer
conferences at which Google will be speaking, along with other
developer-related events."
},
"link": [{
"rel": "...",
"type": "application/atom+xml",
"href": "..."
},{
"rel": "self",
"type": "application/atom+xml",
"href": "..."
}],
"author": [{
"name": {"$t": "Google Developer Calendar"},
"email": {"$t": "developer-calendar@google.com"}
}],
"generator":{
"version": "1.0",
"uri": "http://www.google.com/calendar",
"$t": "Google Calendar"
},
"openSearch$startIndex": {"$t": "1"},
"openSearch$itemsPerPage": {"$t": "25"},
"gCal$timezone": {"value": "America/Los_Angeles"},
"entry": [{
"id": {"$t": "..."},
"published": {"$t": "2006-11-12T21:25:30.000Z"},
"updated": {"$t": "2006-11-12T21:25:30.000Z"},
"category": [{
"scheme": "...",
"term": "..."
}],
"title":{
"type": "text",
"$t": "WebmasterWorld PubCon 2006: Google Developer Tools in General"
},
"content": {
"type": "text",
"$t": "Google is sponsoring "
},
"link": [{
"rel": "alternate",
"type": "text/html",
"href": "...",
"title": "alternate"
},{
"rel": "self",
"type": "application/atom+xml",
"href": "..."
}],
"author": [{
"name": {"$t": "Google Developer Calendar"},
"email": {"$t": "developer-calendar@google.com"}
}],
"gd$transparency": {"value": "http://schemas.google.com/g/2005#event.opaque"},
"gd$eventStatus": {"value": "http://schemas.google.com/g/2005#event.confirmed"},
"gd$comments": {"gd$feedLink": {"href": "..."}},
"gCal$sendEventNotifications": {"value": "true"},
"gd$when": [{
"startTime": "2006-11-15",
"endTime": "2006-11-17",
"gd$reminder": [{"minutes": "10"}]
}],
"gd$where": [{"valueString": "3150 Paradise Road,Las Vegas,NV 89109"}]
}]
}
}
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<extra-ddl xmlns="http://ebean-orm.github.io/xml/ns/extraddl">
<ddl-script name="order views" platforms="h2" drop="true">
drop view order_agg_vw if exists;
</ddl-script>
<ddl-script name="order views" platforms="db2,h2,postgres,oracle,mysql,mariadb,nuodb">
create or replace view order_agg_vw as
select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
sum(d.ship_qty * d.unit_price) as ship_total
from o_order_detail d
group by d.order_id
</ddl-script>
<ddl-script name="order views hsqldb" platforms="hsqldb">
drop view order_agg_vw if exists ;
create view order_agg_vw as
select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
sum(d.ship_qty * d.unit_price) as ship_total
from o_order_detail d
group by d.order_id;
</ddl-script>
<ddl-script name="order views hana" platforms="hana">
create view order_agg_vw as
select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
sum(d.ship_qty * d.unit_price) as ship_total
from o_order_detail d
group by d.order_id;
</ddl-script>
<ddl-script name="order views sqlite" platforms="sqlite">
drop view if exists order_agg_vw;
create view order_agg_vw as
select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
sum(d.ship_qty * d.unit_price) as ship_total
from o_order_detail d
group by d.order_id;
</ddl-script>
<ddl-script name="order views mssql" platforms="sqlserver">
IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = 'order_agg_vw')
DROP VIEW order_agg_vw;
create view order_agg_vw as
select d.order_id, sum(d.order_qty * d.unit_price) as order_total,
sum(d.ship_qty * d.unit_price) as ship_total
from o_order_detail d
group by d.order_id;
</ddl-script>
<ddl-script name="multi comments" platforms="h2,postgres">
-- h2 and postgres script
</ddl-script>
<ddl-script name="oracle only views" platforms="oracle">
-- oracle only script
select * from dual;
</ddl-script>
<ddl-script name="pg indexes" platforms="postgres">
-- postgres specific indexes
create index ix_ebasic_jmjb_gin2 on ebasic_json_map_json_b using gin(content jsonb_path_ops);
</ddl-script>
</extra-ddl>
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

+23
View File
@@ -0,0 +1,23 @@
{
"query": {
"query_string": {
"query": "brown",
"default_field": "name",
"default_operator": "and",
"analyzer": "whitespace",
"allow_leading_wildcard": false,
"lowercase_expanded_terms": false,
"enable_position_increments": false,
"fuzzy_max_expansions": 10,
"fuzziness": "1",
"fuzzy_prefix_length": 3,
"boost": 2.0,
"analyze_wildcard": false,
"auto_generate_phrase_queries": true,
"max_determinized_states": 500,
"minimum_should_match": "1",
"lenient": true,
"locale": "EN"
}
}
}
+83 -6
View File
@@ -1,22 +1,99 @@
<configuration scan="true" scanPeriod="10 seconds">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>TRACE</level>
</filter>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender name="APPLICATION" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>target/log/application.log</File>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>TRACE</level>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>log/application.log.%d{yyyy-MM-dd}</FileNamePattern>
<MaxHistory>90</MaxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="READAUDIT_QUERY_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>target/log/readAuditQuery.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>log/readAuditQuery.log.%d{yyyy-MM-dd}</FileNamePattern>
<MaxHistory>90</MaxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{HH:mm:ss.SSS} %msg%n</pattern>
</encoder>
</appender>
<appender name="READAUDIT_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>target/log/readAudit.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>log/readAudit.log.%d{yyyy-MM-dd}</FileNamePattern>
<MaxHistory>90</MaxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{HH:mm:ss.SSS} %msg%n</pattern>
</encoder>
</appender>
<appender name="CHANGE_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>target/log/change-log.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>log/changeLog.log.%d{yyyy-MM-dd}</FileNamePattern>
<MaxHistory>90</MaxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{HH:mm:ss.SSS} %msg%n</pattern>
</encoder>
</appender>
<logger name="io.ebean.ReadAuditQuery" level="TRACE" additivity="false">
<appender-ref ref="READAUDIT_QUERY_LOG"/>
</logger>
<logger name="io.ebean.ReadAudit" level="TRACE" additivity="false">
<appender-ref ref="READAUDIT_LOG"/>
</logger>
<logger name="io.ebean.ChangeLog" level="TRACE" additivity="false">
<appender-ref ref="CHANGE_LOG"/>
</logger>
<root level="WARN">
<appender-ref ref="APPLICATION"/>
<appender-ref ref="STDOUT"/>
</root>
<logger name="org.avaje" level="TRACE"/>
<logger name="org.tests" level="INFO"/>
<logger name="io.ebean" level="INFO"/>
<logger name="io.ebean.docker" level="TRACE"/>
<logger name="io.ebean.DDL" level="DEBUG"/>
<!-- <logger name="io.ebean.DDL" level="DEBUG"/>-->
<logger name="io.ebean.SQL" level="TRACE"/>
<logger name="io.ebean.TXN" level="TRACE"/>
<logger name="io.ebean.SUM" level="TRACE"/>
<!-- <logger name="io.ebean.SQL" level="TRACE"/>-->
<!-- <logger name="io.ebean.TXN" level="TRACE"/>-->
<!-- <logger name="io.ebean.SUM" level="TRACE"/>-->
<!-- <logger name="io.ebean.cache" level="TRACE"/>-->
<!-- <logger name="io.ebean.cache.REGION" level="TRACE"/>-->
<!-- <logger name="io.ebean.cache.TABLEMOD" level="TRACE"/>-->
<!-- <logger name="io.ebean.cache.QUERY" level="TRACE"/>-->
<!-- <logger name="io.ebean.cache.BEAN" level="TRACE"/>-->
<!-- <logger name="io.ebean.cache.NATKEY" level="TRACE"/>-->
<!-- <logger name="io.ebean.cache.COLL" level="TRACE"/>-->
<!-- <logger name="io.avaje.classpath" level="TRACE"/>-->
<!--<logger name="io.ebeaninternal.server.autotune" level="TRACE"/>-->
<!--<logger name="io.ebean.ChangeLog" level="INFO"/>-->
</configuration>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

@@ -0,0 +1,4 @@
delete from ${tableName};
-- some other comment, tableName is replaced
select count(*) from ${tableName};
@@ -0,0 +1,4 @@
delete from e_basic;
-- some comment, select not useful here
select count(*) from e_basic;
@@ -0,0 +1,12 @@
datasource.h2.username=sa
ebean.jodaLocalTimeMode=normal
#ebean.jodaLocalTimeMode=utc
#ebean.skipCacheAfterWrite=false
datasource.someotherdb.username=sa
datasource.someotherdb.password=
datasource.someotherdb.databaseUrl=jdbc:h2:mem:someotherdb
datasource.someotherdb.databaseDriver=org.h2.Driver
@@ -0,0 +1,2 @@
app.one=Alpha
app.fromProperties=fromProperties
@@ -0,0 +1,8 @@
app:
one: Beta
two: Two
eval:
home: ${user.home}/after
name: ${user.name:bart}
withDefault: ${withDefault:bart}
@@ -0,0 +1,17 @@
ebean:
ddl:
generate: true
run: true
oracle:
username: rob
password: ${db_user:someDefault}
url: something here
driver: com.foo.Bar
mysql:
username: fiona
url: other
maxConnections: 90
@@ -0,0 +1,3 @@
hello=there
name=${some:Rob}
db.driver=${other:com.h2database.Driver}
+9
View File
@@ -0,0 +1,9 @@
10000,NEW,"Roland",01-Jan-2009,"12 someplace",Auckland,NZ
,ACTIVE,"Greg",14-Feb-2009,"13 someplace",Sydney,AU
,INACTIVE,"Dan",29-Sep-2009,"14 someplace",Auckland,NZ
,NEW,"ARob",01-Jan-2009,"12 someplace",Auckland,NZ
,ACTIVE,"BGreg",14-Feb-2009,"13 someplace",Sydney,AU
,INACTIVE,"CDan",29-Sep-2009,"14 someplace",Auckland,NZ
,NEW,"DRob",01-Jan-2009,"12 someplace",Auckland,NZ
,ACTIVE,"EGreg",14-Feb-2009,"13 someplace",Sydney,AU
,INACTIVE,"FDan",29-Sep-2009,"14 someplace",Auckland,NZ
1 10000 NEW Roland 01-Jan-2009 12 someplace Auckland NZ
2 ACTIVE Greg 14-Feb-2009 13 someplace Sydney AU
3 INACTIVE Dan 29-Sep-2009 14 someplace Auckland NZ
4 NEW ARob 01-Jan-2009 12 someplace Auckland NZ
5 ACTIVE BGreg 14-Feb-2009 13 someplace Sydney AU
6 INACTIVE CDan 29-Sep-2009 14 someplace Auckland NZ
7 NEW DRob 01-Jan-2009 12 someplace Auckland NZ
8 ACTIVE EGreg 14-Feb-2009 13 someplace Sydney AU
9 INACTIVE FDan 29-Sep-2009 14 someplace Auckland NZ