This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 6a0a21d8b0 [regression-test](load) add streamload default value test
(#21536)
6a0a21d8b0 is described below
commit 6a0a21d8b02afb42dfb26320fd5b69bf5d394aca
Author: HHoflittlefish777 <[email protected]>
AuthorDate: Thu Jul 6 10:14:13 2023 +0800
[regression-test](load) add streamload default value test (#21536)
---
.../load_p0/stream_load/test_default_value.csv | 2 +
.../load_p0/stream_load/test_stream_load.groovy | 58 ++++++++++++++++++++++
2 files changed, 60 insertions(+)
diff --git a/regression-test/data/load_p0/stream_load/test_default_value.csv
b/regression-test/data/load_p0/stream_load/test_default_value.csv
new file mode 100644
index 0000000000..a98ca3e432
--- /dev/null
+++ b/regression-test/data/load_p0/stream_load/test_default_value.csv
@@ -0,0 +1,2 @@
+-50|1|44|1
+-50|1|2|1
diff --git a/regression-test/suites/load_p0/stream_load/test_stream_load.groovy
b/regression-test/suites/load_p0/stream_load/test_stream_load.groovy
index d1e0895afd..8ec3514b8f 100644
--- a/regression-test/suites/load_p0/stream_load/test_stream_load.groovy
+++ b/regression-test/suites/load_p0/stream_load/test_stream_load.groovy
@@ -14,6 +14,8 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
+import java.util.Date
+import java.text.SimpleDateFormat
suite("test_stream_load", "p0") {
sql "show tables"
@@ -884,5 +886,61 @@ suite("test_stream_load", "p0") {
sql "sync"
sql """DROP USER 'common_user'@'%'"""
+ // test default value
+ def tableName14 = "test_default_value"
+ sql """ DROP TABLE IF EXISTS ${tableName14} """
+ sql """
+ CREATE TABLE IF NOT EXISTS ${tableName14} (
+ `k1` bigint(20) NULL DEFAULT "1",
+ `k2` bigint(20) NULL ,
+ `v1` tinyint(4) NULL,
+ `v2` tinyint(4) NULL,
+ `v3` tinyint(4) NULL,
+ `v4` DATETIME NULL DEFAULT CURRENT_TIMESTAMP
+ ) ENGINE=OLAP
+ DISTRIBUTED BY HASH(`k1`) BUCKETS 3
+ PROPERTIES ("replication_allocation" = "tag.location.default: 1");
+ """
+
+ streamLoad {
+ table "${tableName14}"
+
+ set 'column_separator', '|'
+ set 'columns', 'k2, v1, v2, v3'
+ set 'strict_mode', 'true'
+
+ file 'test_default_value.csv'
+ time 10000 // limit inflight 10s
+
+ check { result, exception, startTime, endTime ->
+ if (exception != null) {
+ throw exception
+ }
+ log.info("Stream load result: ${result}".toString())
+ def json = parseJson(result)
+ assertEquals("success", json.Status.toLowerCase())
+ assertEquals(2, json.NumberTotalRows)
+ assertEquals(0, json.NumberFilteredRows)
+ assertEquals(0, json.NumberUnselectedRows)
+ }
+ }
+
+ sql "sync"
+ def res = sql "select * from ${tableName14}"
+ def time = res[0][5].toString().split("T")[0].split("-")
+ def year = time[0].toString()
+ SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd")
+ def now = sdf.format(new Date()).toString().split("-")
+
+ // parse time is correct
+ // Due to the time difference in parsing, should deal with three
situations:
+ // 2023-6-29 -> 2023-6-30
+ // 2023-6-30 -> 2023-7-1
+ // 2023-12-31 -> 2024-1-1
+ // now only compare year simply, you can retry if this test is error.
+ assertEquals(year, now[0])
+ // parse k1 default value
+ assertEquals(res[0][0], 1)
+ assertEquals(res[1][0], 1)
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]