Project

General

Profile

Actions

Feature #24261

closed

Remove pages_language_overlay table

Added by Myroslav Holyak over 13 years ago. Updated over 13 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2010-12-01
Due date:
% Done:

0%

Estimated time:
PHP Version:
5.2
Tags:
Complexity:
Sprint Focus:

Description

I'm using some kind of Active Record pattern and it makes me crazy that pages translations are located in other table. Such simple task as search (independet of current locale) can't be implemented according to paradigme "one table - one class".

I cant' understand - they are same regular entries in TCA, it also has nothing to do with tree-view... So just why?

(issue imported from #M16633)

Actions #1

Updated by Steffen Ritter over 13 years ago

well this "feature" request would be a such drastic change, that i do not think it ever will match, furthermore this reduces database-space heavily on big sites...

if you use API functionality you never should have to deal with that - search is a special case, but that's not easy with combined tables too

Actions #2

Updated by Myroslav Holyak over 13 years ago

Yes, of course i'm using API in all places I can, so in summary translation process is good, the problem was only in language-independent search, while it causes merging select results from "pages" and additional subset of "pages" retrieved by "pid" from "pages_language_overlay"...

So let me take it right... There is no technical reasons for existence of that table? Only backward compatibility?

What do you mean "this reduces database-space heavily on big sites"? Since what time reducing DB space is bad :) ?

Actions #3

Updated by Steffen Ritter over 13 years ago

in pages_language_overlay there are much less fields than you have in pages.

Imagine 20.000 pages + 2 languages, if the overlay needs only 20% of space of the original record (less fields to translate).
Imagine 500 Bytes per record (fictiion value) this would mean: 20k pages * 2 languages * 500byte * 0,8 ==> 16 Megabyte Database overhead.
Additionally you would have much havier index structures on the pages table.

As every page uid is a "pid" - even translated records would be "pids" therefore much more checks in core would have been done to check if the pid is a real pid or not.

In addition, theres backwards compatibility etc...
Currently there is more the tendence to make this feature (external overlay table) available for all records.

So: I (personally) do not think that your request will be handled ever in a 4.x release.

Actions #4

Updated by Steffen Ritter over 13 years ago

additionally: most of the checks made on page-uids in core are quite plain, tree building etc, too. and there for "relatively" fast. having translations in the same table would have significant speed impact i think.

Actions #5

Updated by Myroslav Holyak over 13 years ago

Understood. Ok then, my curiosity is fully satisfied. My "feature" request can be closed, Thank you for patience.

I'm a little surprised of plans(trend) to make all translations in separated tables, but let it be... Maybe there is sense to make some basic internal search api.

By the way, if your argument is db-space economy - why "tt_content" table uses "same table" paradigm? I'm sure that on any site there is mush more content records than pages.

Actions #6

Updated by Steffen Ritter over 13 years ago

Hi,
why it's like this I do not know either :) Historical I think...

And it's not planned to separate all translations, just making the feature available to Extensionsauthors for all tables.

regards

Steffen

Actions

Also available in: Atom PDF