From 5a3b017ff216cc4f916746928ba8eda7e156aba9 Mon Sep 17 00:00:00 2001 From: Ilya Verbin <iverbin@tarantool.org> Date: Mon, 13 Mar 2023 14:51:09 +0300 Subject: [PATCH] sql: rename field_def::default_value to field_def::sql_default_value In order to avoid collision with the upcoming core default_value. Also rename tuple_field::default_value_expr to tuple_field::sql_default_value_expr. Part of #8157 NO_DOC=refactoring NO_TEST=refactoring NO_CHANGELOG=refactoring --- src/box/field_def.c | 16 +++++++++------- src/box/field_def.h | 4 ++-- src/box/sql.c | 8 ++++---- src/box/sql/build.c | 4 ++-- src/box/sql/insert.c | 10 ++++++---- src/box/sql/pragma.c | 3 ++- src/box/tuple_format.c | 10 +++++----- src/box/tuple_format.h | 4 ++-- 8 files changed, 32 insertions(+), 27 deletions(-) diff --git a/src/box/field_def.c b/src/box/field_def.c index 368c783dd3..2a82ec9b73 100644 --- a/src/box/field_def.c +++ b/src/box/field_def.c @@ -192,7 +192,7 @@ static const struct opt_def field_def_reg[] = { OPT_DEF_ENUM("nullable_action", on_conflict_action, struct field_def, nullable_action, NULL), OPT_DEF("collation", OPT_UINT32, struct field_def, coll_id), - OPT_DEF("default", OPT_STRPTR, struct field_def, default_value), + OPT_DEF("sql_default", OPT_STRPTR, struct field_def, sql_default_value), OPT_DEF_ENUM("compression", compression_type, struct field_def, compression_type, NULL), OPT_DEF_CUSTOM("constraint", field_def_parse_constraint), @@ -206,7 +206,7 @@ const struct field_def field_def_default = { .is_nullable = false, .nullable_action = ON_CONFLICT_ACTION_DEFAULT, .coll_id = COLL_NONE, - .default_value = NULL, + .sql_default_value = NULL, .constraint_count = 0, .constraint_def = NULL, }; @@ -395,8 +395,10 @@ field_def_array_dup(const struct field_def *fields, uint32_t field_count) grp_alloc_reserve_data(&all, sizeof(*fields) * field_count); for (uint32_t i = 0; i < field_count; i++) { grp_alloc_reserve_str0(&all, fields[i].name); - if (fields[i].default_value != NULL) - grp_alloc_reserve_str0(&all, fields[i].default_value); + if (fields[i].sql_default_value != NULL) { + grp_alloc_reserve_str0(&all, + fields[i].sql_default_value); + } } grp_alloc_use(&all, xmalloc(grp_alloc_size(&all))); struct field_def *copy = grp_alloc_create_data( @@ -404,9 +406,9 @@ field_def_array_dup(const struct field_def *fields, uint32_t field_count) for (uint32_t i = 0; i < field_count; ++i) { copy[i] = fields[i]; copy[i].name = grp_alloc_create_str0(&all, fields[i].name); - if (fields[i].default_value != NULL) { - copy[i].default_value = grp_alloc_create_str0( - &all, fields[i].default_value); + if (fields[i].sql_default_value != NULL) { + copy[i].sql_default_value = grp_alloc_create_str0( + &all, fields[i].sql_default_value); } copy[i].constraint_def = tuple_constraint_def_array_dup( fields[i].constraint_def, fields[i].constraint_count); diff --git a/src/box/field_def.h b/src/box/field_def.h index 70c5722240..6b0fe66773 100644 --- a/src/box/field_def.h +++ b/src/box/field_def.h @@ -147,8 +147,8 @@ struct field_def { /** Collation ID for string comparison. */ uint32_t coll_id; /** 0-terminated SQL expression for DEFAULT value. */ - char *default_value; - /** Type of comression to this field */ + char *sql_default_value; + /** Compression type for this field. */ enum compression_type compression_type; /** Array of constraints. Can be NULL if constraints_count == 0. */ struct tuple_constraint_def *constraint_def; diff --git a/src/box/sql.c b/src/box/sql.c index 67e6c5e789..a5248a30fc 100644 --- a/src/box/sql.c +++ b/src/box/sql.c @@ -377,7 +377,7 @@ sql_ephemeral_space_new(const struct sql_space_info *info) names += strlen(fields[i].name) + 1; fields[i].is_nullable = true; fields[i].nullable_action = ON_CONFLICT_ACTION_NONE; - fields[i].default_value = NULL; + fields[i].sql_default_value = NULL; fields[i].type = info->types[i]; fields[i].coll_id = info->coll_ids[i]; fields[i].compression_type = COMPRESSION_TYPE_NONE; @@ -1021,7 +1021,7 @@ sql_encode_table(struct region *region, struct space_def *def, uint32_t *size) for (uint32_t i = 0; i < field_count && !is_error; i++) { uint32_t cid = def->fields[i].coll_id; struct field_def *field = &def->fields[i]; - const char *default_str = field->default_value; + const char *default_str = field->sql_default_value; int base_len = 4; if (cid != COLL_NONE) base_len += 1; @@ -1062,7 +1062,7 @@ sql_encode_table(struct region *region, struct space_def *def, uint32_t *size) mpstream_encode_uint(&stream, cid); } if (default_str != NULL) { - mpstream_encode_str(&stream, "default"); + mpstream_encode_str(&stream, "sql_default"); mpstream_encode_str(&stream, default_str); } sql_mpstream_encode_constraints(&stream, cdefs, ck_count, @@ -1244,7 +1244,7 @@ space_column_default_expr(uint32_t space_id, uint32_t fieldno) return NULL; assert(space->def->field_count > fieldno); struct tuple_field *field = tuple_format_field(space->format, fieldno); - return field->default_value_expr; + return field->sql_default_value_expr; } /** diff --git a/src/box/sql/build.c b/src/box/sql/build.c index bf36531b5e..f3b48bbfa1 100644 --- a/src/box/sql/build.c +++ b/src/box/sql/build.c @@ -482,8 +482,8 @@ sqlAddDefaultValue(Parse * pParse, ExprSpan * pSpan) &def->fields[def->field_count - 1]; struct region *region = &pParse->region; size_t len = pSpan->zEnd - pSpan->zStart + 1; - field->default_value = xregion_alloc(region, len); - strlcpy(field->default_value, pSpan->zStart, len); + field->sql_default_value = xregion_alloc(region, len); + strlcpy(field->sql_default_value, pSpan->zStart, len); } } sql_expr_delete(pSpan->pExpr); diff --git a/src/box/sql/insert.c b/src/box/sql/insert.c index 03d44d517b..298ae2753f 100644 --- a/src/box/sql/insert.c +++ b/src/box/sql/insert.c @@ -579,7 +579,7 @@ sqlInsert(Parse * pParse, /* Parser context */ tuple_format_field( space->format, i); struct Expr *dflt = - field->default_value_expr; + field->sql_default_value_expr; sqlExprCode(pParse, dflt, regCols + i + 1); @@ -641,7 +641,8 @@ sqlInsert(Parse * pParse, /* Parser context */ } struct tuple_field *field = tuple_format_field(space->format, i); - struct Expr *dflt = field->default_value_expr; + struct Expr *dflt = + field->sql_default_value_expr; sqlExprCodeFactorable(pParse, dflt, iRegStore); @@ -1108,9 +1109,10 @@ xferOptimization(Parse * pParse, /* Parser context */ return 0; /* Default values for second and subsequent columns need to match. */ if (i > 0) { - char *src_expr_str = src->def->fields[i].default_value; + char *src_expr_str = + src->def->fields[i].sql_default_value; char *dest_expr_str = - dest->def->fields[i].default_value; + dest->def->fields[i].sql_default_value; if ((dest_expr_str == NULL) != (src_expr_str == NULL) || (dest_expr_str && strcmp(src_expr_str, dest_expr_str) != 0) diff --git a/src/box/sql/pragma.c b/src/box/sql/pragma.c index 47662d0f32..aab0f0d700 100644 --- a/src/box/sql/pragma.c +++ b/src/box/sql/pragma.c @@ -120,7 +120,8 @@ sql_pragma_table_info(struct Parse *parse, const char *tbl_name) } sqlVdbeMultiLoad(v, 1, "issisi", i, field->name, field_type_strs[field->type], - !field->is_nullable, field->default_value, + !field->is_nullable, + field->sql_default_value, k); sqlVdbeAddOp2(v, OP_ResultRow, 1, 6); } diff --git a/src/box/tuple_format.c b/src/box/tuple_format.c index 71c97b9117..acf6938d14 100644 --- a/src/box/tuple_format.c +++ b/src/box/tuple_format.c @@ -191,8 +191,8 @@ tuple_field_delete(struct tuple_field *field) for (uint32_t i = 0; i < field->constraint_count; i++) field->constraint[i].destroy(&field->constraint[i]); free(field->constraint); - if (field->default_value_expr != NULL) - tuple_format_expr_delete(field->default_value_expr); + if (field->sql_default_value_expr != NULL) + tuple_format_expr_delete(field->sql_default_value_expr); free(field); } @@ -503,11 +503,11 @@ tuple_format_create(struct tuple_format *format, struct key_def *const *keys, tuple_constraint_array_new(fields[i].constraint_def, fields[i].constraint_count); field->constraint_count = fields[i].constraint_count; - const char *expr = fields[i].default_value; + const char *expr = fields[i].sql_default_value; if (expr != NULL) { - field->default_value_expr = + field->sql_default_value_expr = tuple_format_expr_compile(expr, strlen(expr)); - if (field->default_value_expr == NULL) + if (field->sql_default_value_expr == NULL) return -1; } } diff --git a/src/box/tuple_format.h b/src/box/tuple_format.h index e81983d94d..eb4a1eb067 100644 --- a/src/box/tuple_format.h +++ b/src/box/tuple_format.h @@ -161,8 +161,8 @@ struct tuple_field { struct tuple_constraint *constraint; /** Number of constraints. */ uint32_t constraint_count; - /** AST for parsed default value. */ - struct Expr *default_value_expr; + /** AST for parsed SQL default value. */ + struct Expr *sql_default_value_expr; }; /** -- GitLab