Advertisement:

Author Topic: Character limit smf_messages -> body  (Read 799 times)

Offline Study Force

  • SMF Hero
  • ******
  • Posts: 3,370
    • StudyForcePS on Facebook
    • @studyforceps on Twitter
    • Study Force
Character limit smf_messages -> body
« on: November 29, 2018, 02:10:54 AM »
Curious if there's a limit to the body column. I am posting something greater than 65000 characters, as it contains base64 images (a lot of characters), but mySQL is not letting me, it's cutting it off at the 65552 mark. In addition, I have set the limit to 0 from the admin area.

Is there a limit, and if not, can I change the structure of the body column to allow more characters per post?

Thanks
« Last Edit: November 29, 2018, 02:33:28 AM by Study Force »

Offline Arantor

  • Resident Overthinker
  • SMF Friend
  • SMF Legend
  • *
  • Posts: 69,677
    • StoryBB/StoryBB on GitHub
Re: Character limit smf_messages -> body
« Reply #1 on: November 29, 2018, 02:54:29 AM »
The limit is driven by the size of the column itself. TEXT columns cap at 65535 bytes. Next up is MEDIUMTEXT, capping at 16777215 bytes.

Can you change it? Yes, SMF with even do it for you in 2.0 if you put a number bigger than 65535 in the box. But if you rely on full text indexes, it may not work because MySQL full text indexes don’t get supported on some table types on a MEDIUMTEXT column on some versions of MySQL.
Don’t try to tell me that some power can corrupt a person. You haven’t had enough to know what it’s like.

No good deed goes unpunished / No act of charity goes unresented.

Offline Study Force

  • SMF Hero
  • ******
  • Posts: 3,370
    • StudyForcePS on Facebook
    • @studyforceps on Twitter
    • Study Force
Re: Character limit smf_messages -> body
« Reply #2 on: November 29, 2018, 10:15:14 AM »
You just opened up a concern I didn't formally have about the search index. My setting is currently set on Fulltext index.

As an example, one of my images has the code written below, how does the index handle these queries?

Should I create a code that prevents the indexing of these long codes? Because I don't want to clog up the log_search with senseless information. What do you suggests?

Code: [Select]
<img src="data:image/png;base64, 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GUNpeW3gzUrfXNbe18camiy6XLy/myLE6qMXG9vKTcMBGwx/i+rJ/E/ja4gMUvwxgkiJyUfVIWBPrt20TeKPG9xbC3l+GEEkI6RvqkLIP+A7alIu/wDX3mR+yK0Y+CWlxpamAxXV1HJdht0V/J5z77qLhcRytl1AUKA3HFe2HkVwPhrxN4vvNTtbPUPA66NpzZVrlNRjlEQC8fIo/Cu/qm7shKwUUUUigooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBCM0AUhNeBT/ALQOs2Pw/wDH091pdt/wmXh7XH0O0sIw/l3csjp9jfGd211lQn6NU9bAe+9RSgc15jd/G/R/DXiHTNA1qDULe+u5orN78WLrY/anX7nmn1bgdugzXN+LP2hNH1bRNb/sPU9S0UaNq0Om3esSaO01uJhcpG8A3FdxbdtyPu5z2oSu9P6/q4HudFecX/xw8P6Z41s/DN5Bqlnc3t0LG3vp7NktJLgqSsYkP8TbTjjBrhvhb+0fbavZxadr5vV1W61bUNNtdRNg0dk80M0uy38z7vmbE/HFO4H0BRXz34A/aXtIvhd4YvfE7XmseJL+0mvbm30ey810hSZ08x0X7q/Lj32mu68e/GrTPC/wjXx1pKjX7O8jg/s2O3fC3Uk7qkI3fwgs4ye1MD0mivLrTxN4r8BaZfa58RNV8P8A9hw23mu2mW00UlvJuGIhud/OznAPynOOOa4/xx+0jb3vhS5k8Lvd6Vrtjq2lW93Y6raeXOlvc3KJv2HPyuu9VPqppdbCvpc9+C80qivA/B/7RKWMV/b+JPtmp6pP4j1LTtNtNKs/Nla3tmXcdq/worDcevNe7Wty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HxJqH9qmHU7uW2msLl0CyYwjiRG2qcfIRzXR/wDCj4P+hv8AFf8A4NXo/wCFHwf9Df4r/wDBq9LrcOljz3xF8F/HLL8RNCsW0G/0XxzN593qN67pPYF4UilVYtjCYAJlMuuM+1TeIf2d9XvPDXj7SrC7s863NphsZJ3bcqWqRI3mnb1Ow9M13n/Cj4f+hu8V/wDg1ek/4UfD/wBDd4r/APBq9O39emwnr/Xfc8/8W/AnxXq2n/F3RLR9NOn+MXhvLS7luXDwzJHChjdNn3f3Wdwb+LpVvxP8A9d1jR/GdrBc2CT6z4k0/WIHYt8sMH2fercdf3T4+tdr/wAKQg/6G/xX/wCDV6P+FIQf9Df4r/8ABq9QtHf+tP8Ahgauem0V5n/wo+D/AKG/xX/4NXo/4UfB/wBDf4r/APBq9WM9MorzP/hR8H/Q3+K//Bq9H/Cj4P8Aob/Ff/g1egD0yiua8HeDI/B0Fyiarqeqee4fdqd007JgdFz0rpaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAYRxUEt1Bbuiyzxxu3RXYAmp85avmj4X+GfDXxP8UfFDUPHdrbavr2leJLmyjXUX+bTbFEQ2/k8/u1K/PvXGSSc8VK3t8/y/zE9rn0vuozXy94n+Mfi6Lw/wDETxboWvadY6X4I1BtPi8O3NqspvxGqf62YtvQy7/k2/7P3s0eKvjJ4+0rU/F2uw6pZQ6F4f17TdOTRGsA0lxHcLb+YHmzkMpmbG0fw80JXt/W9rfmJu39dtz6i7Udq+VvFnxM8bC/+Ifh/V9dk0G6udM1S48O/YrCOaCSCBOJYrlGY+YP40k2kFvl6VZ8FeIfiHJYfBnw5beM4p/7c0J9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

Offline Arantor

  • Resident Overthinker
  • SMF Friend
  • SMF Legend
  • *
  • Posts: 69,677
    • StoryBB/StoryBB on GitHub
Re: Character limit smf_messages -> body
« Reply #3 on: November 29, 2018, 10:22:03 AM »
If you’re using full text, you have minimum control over it - MySQL decides what gets indexed, it decides what can be matched. The log tables are slightly unrelated.
Don’t try to tell me that some power can corrupt a person. You haven’t had enough to know what it’s like.

No good deed goes unpunished / No act of charity goes unresented.

Offline Study Force

  • SMF Hero
  • ******
  • Posts: 3,370
    • StudyForcePS on Facebook
    • @studyforceps on Twitter
    • Study Force
Re: Character limit smf_messages -> body
« Reply #4 on: November 29, 2018, 10:23:22 AM »
It's just concerning because if conduct a search for "4AAQSkZJRgABAQAAAQABAAD", all the topics containing base64 appear. How's SMF matching these so well?

Offline Arantor

  • Resident Overthinker
  • SMF Friend
  • SMF Legend
  • *
  • Posts: 69,677
    • StoryBB/StoryBB on GitHub
Re: Character limit smf_messages -> body
« Reply #5 on: November 29, 2018, 10:24:34 AM »
If you’re using full text, SMF isn’t doing it, MySQL is. Have a look in the MySQL manual for how full text matching works.
Don’t try to tell me that some power can corrupt a person. You haven’t had enough to know what it’s like.

No good deed goes unpunished / No act of charity goes unresented.

Offline Study Force

  • SMF Hero
  • ******
  • Posts: 3,370
    • StudyForcePS on Facebook
    • @studyforceps on Twitter
    • Study Force
Re: Character limit smf_messages -> body
« Reply #6 on: November 29, 2018, 10:29:47 AM »
Here's what I was thinking, doing an *if (preg_match ('#\<img#'* as an example for all text entering the database to prevent images from being entered. I'm concerned because I have lots of base64 encoded images. I want to make sure things run well a month from now.

Offline Arantor

  • Resident Overthinker
  • SMF Friend
  • SMF Legend
  • *
  • Posts: 69,677
    • StoryBB/StoryBB on GitHub
Re: Character limit smf_messages -> body
« Reply #7 on: November 29, 2018, 10:31:30 AM »
This is why I pointed you at the MySQL manual. Full text indexes are a dedicated data structure for doing lookups of text and they are not regular expressions.

I’m at work and I can’t exactly sit and explain the principles behind an inverted lookup table (such as the full text index methodology that MySQL uses) right now.
Don’t try to tell me that some power can corrupt a person. You haven’t had enough to know what it’s like.

No good deed goes unpunished / No act of charity goes unresented.

Offline Study Force

  • SMF Hero
  • ******
  • Posts: 3,370
    • StudyForcePS on Facebook
    • @studyforceps on Twitter
    • Study Force
Re: Character limit smf_messages -> body
« Reply #8 on: November 29, 2018, 10:33:50 AM »
I'll investigate the matter further. Appreciate the insight!

Offline albertlast

  • Development Contributor
  • Jr. Member
  • *
  • Posts: 372
Re: Character limit smf_messages -> body
« Reply #9 on: November 29, 2018, 11:08:24 AM »
The size of a body also depend on the database,
when you use mysql arantor pointed it already out the limit is 65535 bytes,
in sqlite the limited is somewhere around 2147483647(do not know which unite) and
postgres it's unlimted.

the full text implementation is different across the different database and different smf version different too.

Offline Study Force

  • SMF Hero
  • ******
  • Posts: 3,370
    • StudyForcePS on Facebook
    • @studyforceps on Twitter
    • Study Force
Re: Character limit smf_messages -> body
« Reply #10 on: November 29, 2018, 12:08:32 PM »
So I changed body structure to mediumtext and it still cuts off @ the 64000 mark. Any suggestions? I then reverted back to the *text*

Hope this didn't damage my database.

Offline Arantor

  • Resident Overthinker
  • SMF Friend
  • SMF Legend
  • *
  • Posts: 69,677
    • StoryBB/StoryBB on GitHub
Re: Character limit smf_messages -> body
« Reply #11 on: November 29, 2018, 12:14:24 PM »
What version of SMF?
Don’t try to tell me that some power can corrupt a person. You haven’t had enough to know what it’s like.

No good deed goes unpunished / No act of charity goes unresented.

Offline Study Force

  • SMF Hero
  • ******
  • Posts: 3,370
    • StudyForcePS on Facebook
    • @studyforceps on Twitter
    • Study Force
Re: Character limit smf_messages -> body
« Reply #12 on: November 29, 2018, 12:50:09 PM »
1.21..

What's funny is that when I edit my post, and double the characters, like 120,000, it saves it nicely

Offline Study Force

  • SMF Hero
  • ******
  • Posts: 3,370
    • StudyForcePS on Facebook
    • @studyforceps on Twitter
    • Study Force
Re: Character limit smf_messages -> body
« Reply #13 on: November 30, 2018, 05:16:27 PM »
When I change it to mediumtext, should I specify the length or should I leave it blank?

Offline Arantor

  • Resident Overthinker
  • SMF Friend
  • SMF Legend
  • *
  • Posts: 69,677
    • StoryBB/StoryBB on GitHub
Re: Character limit smf_messages -> body
« Reply #14 on: November 30, 2018, 05:49:46 PM »
MEDIUMTEXT is like TEXT, its physical size includes the size of the column itself. Physically it maxes at 16777215.
Don’t try to tell me that some power can corrupt a person. You haven’t had enough to know what it’s like.

No good deed goes unpunished / No act of charity goes unresented.

Offline Study Force

  • SMF Hero
  • ******
  • Posts: 3,370
    • StudyForcePS on Facebook
    • @studyforceps on Twitter
    • Study Force
Re: Character limit smf_messages -> body
« Reply #15 on: December 01, 2018, 01:58:26 AM »
I'm still wondering why it cut off at ~64 000 at mediumtext though; yet after editing the post with quick edit, it allowed much more

That's a mystery I need to figure out real soon

Offline Study Force

  • SMF Hero
  • ******
  • Posts: 3,370
    • StudyForcePS on Facebook
    • @studyforceps on Twitter
    • Study Force
Re: Character limit smf_messages -> body
« Reply #16 on: December 05, 2018, 12:17:14 PM »
Found out why.

In createpost()

Code: [Select]
db_query("
INSERT INTO {$db_prefix}messages
(ID_BOARD, ID_TOPIC, ID_MEMBER, subject, body, posterName, posterEmail, posterTime,
posterIP, smileysEnabled, modifiedName, icon)
VALUES ($topicOptions[board], $topicOptions[id], $posterOptions[id], SUBSTRING('$msgOptions[subject]', 1, 255), SUBSTRING('$msgOptions[body]', 1, 65534), SUBSTRING('$posterOptions[name]', 1, 255), SUBSTRING('$posterOptions[email]', 1, 255), " . time() . ",
SUBSTRING('$posterOptions[ip]', 1, 255), " . ($msgOptions['smileys_enabled'] ? '1' : '0') . ", '', SUBSTRING('$msgOptions[icon]', 1, 16))", __FILE__, __LINE__);

Notice: 65534

Offline shawnb61

  • Support Specialist
  • Sophist Member
  • *
  • Posts: 1,008
    • sbulen on GitHub
Re: Character limit smf_messages -> body
« Reply #17 on: December 05, 2018, 03:53:02 PM »
That is not vanilla 2.0.x code.  It has been altered somehow.

EDIT:  Oops, sorry, I see you're still on 1.x....
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

Offline Arantor

  • Resident Overthinker
  • SMF Friend
  • SMF Legend
  • *
  • Posts: 69,677
    • StoryBB/StoryBB on GitHub
Re: Character limit smf_messages -> body
« Reply #18 on: December 05, 2018, 03:54:17 PM »
It’s 1.1 code.
Don’t try to tell me that some power can corrupt a person. You haven’t had enough to know what it’s like.

No good deed goes unpunished / No act of charity goes unresented.