[Tarantool-patches] [PATCH v3 12/20] sql: add sql_stmt_schema_version()
Sergey Ostanevich
sergos at tarantool.org
Wed Dec 25 16:37:45 MSK 2019
Hi!
Thanks for the patch, LGTM.
Sergos
On 20 Dec 15:47, Nikita Pettik wrote:
> Let's introduce interface function to get schema version of prepared
> statement. It is required since sturct sql_stmt (i.e. prepared
> statement) is an opaque object and in fact is an alias to struct Vdbe.
> Statements with schema version different from the current one are
> considered to be expired and should be re-compiled.
>
> Needed for #2592
> ---
> src/box/sql/sqlInt.h | 3 +++
> src/box/sql/vdbeapi.c | 7 +++++++
> 2 files changed, 10 insertions(+)
>
> diff --git a/src/box/sql/sqlInt.h b/src/box/sql/sqlInt.h
> index 09f638268..7dfc29809 100644
> --- a/src/box/sql/sqlInt.h
> +++ b/src/box/sql/sqlInt.h
> @@ -571,6 +571,9 @@ sql_column_name(sql_stmt *, int N);
> const char *
> sql_column_datatype(sql_stmt *, int N);
>
> +uint32_t
> +sql_stmt_schema_version(const struct sql_stmt *stmt);
> +
> int
> sql_initialize(void);
>
> diff --git a/src/box/sql/vdbeapi.c b/src/box/sql/vdbeapi.c
> index b1c556ec3..7d9ce11e7 100644
> --- a/src/box/sql/vdbeapi.c
> +++ b/src/box/sql/vdbeapi.c
> @@ -798,6 +798,13 @@ sql_column_decltype(sql_stmt * pStmt, int N)
> COLNAME_DECLTYPE);
> }
>
> +uint32_t
> +sql_stmt_schema_version(const struct sql_stmt *stmt)
> +{
> + struct Vdbe *v = (struct Vdbe *) stmt;
> + return v->schema_ver;
> +}
> +
> /******************************* sql_bind_ **************************
> *
> * Routines used to attach values to wildcards in a compiled SQL statement.
> --
> 2.15.1
>
More information about the Tarantool-patches
mailing list