-
Alexander Barkov authored
Problem: Field_geom (which is a Field_blob child) did not use table->blob_storage - a memory helper storage previously added into Field_blob, to handle "GROUP_CONCAT with DISTINCT or ORDER BY" properly. Fix: - Moving table->blob_storage related code into a separate private method Field_blob::store_to_mem(). - Moving Field_blob and Field_geom specific code into a new private virtual methods Field_blob::store_internal() and Field_geom::store_internal(). - Rewriting Field_blob::store(), so now it shares the common code between Field_blob and Field_geom, to handle empty strings and table->blob_storage operations, and then calls the specific code from store_internal(). - An additional helper protected method Field_blob::store_ptr_and_length() was added, to avoid a few duplicate code pieces in Field_blob and Field_geom.
Alexander Barkov authoredProblem: Field_geom (which is a Field_blob child) did not use table->blob_storage - a memory helper storage previously added into Field_blob, to handle "GROUP_CONCAT with DISTINCT or ORDER BY" properly. Fix: - Moving table->blob_storage related code into a separate private method Field_blob::store_to_mem(). - Moving Field_blob and Field_geom specific code into a new private virtual methods Field_blob::store_internal() and Field_geom::store_internal(). - Rewriting Field_blob::store(), so now it shares the common code between Field_blob and Field_geom, to handle empty strings and table->blob_storage operations, and then calls the specific code from store_internal(). - An additional helper protected method Field_blob::store_ptr_and_length() was added, to avoid a few duplicate code pieces in Field_blob and Field_geom.
Loading