[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