[Tarantool-patches] [PATCH v5 2/5] sql: remove PRAGMA "short_column_names"
Nikita Pettik
korablev at tarantool.org
Fri Dec 27 19:55:22 MSK 2019
On 27 Dec 14:18, imeevma at tarantool.org wrote:
> The pragmas "short_column_names" and "full_column_names" allow us
> to use three ways to display the column name in metadata:
> 1) If both are turned off, then the column name was shown as it
> was written by the user.
> 2) If "short_column_names" = OFF and "full_column_names" = ON,
> then the column name is displayed as <table name>.<column name>.
> 3) If "short_column_names" = ON, then the column name is displayed
> as <column name>. This is the default option.
Don't get the difference between first and last options. Also see
https://www.sqlite.org/pragma.html#pragma_full_column_names
> But we need only two ways to show the column name:
> 1) Show the column name as <column name>. This should be the
> default option.
> 2) Show the column name as <table name>.<column name>.
>
> In this regard, we need only one of these pragmas.
>
> @@ -1827,12 +1824,11 @@ generate_column_metadata(struct Parse *pParse, struct SrcList *pTabList,
> assert(iCol >= 0 && iCol < (int)space_def->field_count);
> zCol = space_def->fields[iCol].name;
> const char *name = NULL;
> +
>
Extra new line. Please, remove.
> if (pEList->a[i].zName != NULL) {
> name = pEList->a[i].zName;
> } else {
> - if (!shortNames && !fullNames) {
> - name = pEList->a[i].zSpan;
> - } else if (fullNames) {
> + if (pParse->sql_flags & SQL_FullColNames) {
(pParse->sql_flags & SQL_FullColNames) != 0
> name = tt_sprintf("%s.%s",
> space_def->name,
> zCol);
> @@ -2053,8 +2049,7 @@ sqlResultSetOfSelect(Parse * pParse, Select * pSelect)
> sql *db = pParse->db;
>
> uint32_t saved_flags = pParse->sql_flags;
> - pParse->sql_flags |= ~SQL_FullColNames;
> - pParse->sql_flags &= SQL_ShortColNames;
> + pParse->sql_flags = 0;
Why do you set sql_flags to zero?
> sqlSelectPrep(pParse, pSelect, 0);
> if (pParse->is_aborted)
> return NULL;
I comment your patch since I've faced the same necessity to remove
short_column_names. So to avoid doubling work, I'am going to cherry-
pick your patch (or push it to the master out of order).
More information about the Tarantool-patches
mailing list