field_sql_storage_schema() exposes the schema of dynamic field data tables.

That's a *lot* of data in drupal_get_schema(), and computing it from configuration data on sites with lots of fields takes some CPU too.

Discussing with various people (@effulgentsia, @chx, @fago), it seems no-one sees the interest of exposing the schema for those tables. We don't ever use drupal_write_record() on those.

@DamZ pointed that ctools D7 uses the 'foreign keys' schema entries to auto-generate relationships - but it reads those from each individual field's hook_field_schema() rather than from drupal_schema()

Thoughts ?

Files: 
CommentFileSizeAuthor
#3 rm-field_sql_storage_schema-1957204-3.patch4.18 KByched
PASSED: [[SimpleTest]]: [MySQL] 55,757 pass(es). View
#3 interdiff.txt3 KByched
#1 rm-field_sql_storage_schema-1957204-1.patch915 bytesyched
FAILED: [[SimpleTest]]: [MySQL] 53,770 pass(es), 5 fail(s), and 1 exception(s). View

Comments

yched’s picture

Status: Active » Needs review
FileSize
915 bytes
FAILED: [[SimpleTest]]: [MySQL] 53,770 pass(es), 5 fail(s), and 1 exception(s). View

Candidate patch, to get the ball rolling.

Status: Needs review » Needs work

The last submitted patch, rm-field_sql_storage_schema-1957204-1.patch, failed testing.

yched’s picture

Status: Needs work » Needs review
FileSize
3 KB
4.18 KB
PASSED: [[SimpleTest]]: [MySQL] 55,757 pass(es). View

#1167144: Make cache backends responsible for their own storage has bitten the bullet and turned cache tables for SQL backends into field-like dynamic tables, that are not exposed in hook_schema(). So I guess it's open season :-)

Fixed the tests that relied on the schema.

chx’s picture

Status: Needs review » Reviewed & tested by the community

Great idea.

yched’s picture

Issue tags: +Field API

Tagging

catch’s picture

Status: Reviewed & tested by the community » Fixed

The only reason to have these in hook_schema() would be to compare them with schema module.

However if absolutely necessary schema module could add them back with hook_schema_alter() itself anyway, so I don't see the point.

This is going to make a big difference to the schema cache generation on misses, very nice.

Committed/pushed to 8.x, thanks!

Automatically closed -- issue fixed for 2 weeks with no activity.

Anonymous’s picture

Issue summary: View changes

remove cruft