• Register
    • Help

    striker  0 Items
    Currently Supporting
    • Home
    • News
    • Forum
    • Wiki
    • Support
      • Manage Subscriptions
      • FAQ
      • Support For
        • VaultWiki 4.x Series
        • VaultWiki.org Site
    • What's New?
    • Buy Now
    • Manual
    • 
    • Support
    • VaultWiki 4.x Series
    • Bug
    • Data too long for column 'section' at row 1

    1. Welcome to VaultWiki.org, home of the wiki add-on for vBulletin and XenForo!

      VaultWiki allows your existing forum users to collaborate on creating and managing a site's content pages. VaultWiki is a fully-featured and fully-supported wiki solution for vBulletin and XenForo.

      The VaultWiki Team encourages you to join our community of forum administrators and check out VaultWiki for yourself.

    Issue: Data too long for column 'section' at row 1

    • Issue Tools
      • View Changes
    1. issueid=4893 February 1, 2017 1:36 AM
      Alfa1 Alfa1 is offline
      Distinguished Member
      Data too long for column 'section' at row 1

      I am migrating my site to XF and VW is the last thing to migrate. Unfortunately it chokes on this error:
      Code:
      Importing wiki pages
      An exception occurred: Mysqli statement execute error : Data too long for column 'section' at row 1 in [path]/library/Zend/Db/Statement/Mysqli.php on line 214
      1.	#0: Zend_Db_Statement_Mysqli->_execute() in [path]/library/Zend/Db/Statement.php at line 297
      2.	#1: Zend_Db_Statement->execute() in [path]/library/Zend/Db/Adapter/Abstract.php at line 479
      3.	#2: Zend_Db_Adapter_Abstract->query() in [path]/library/Zend/Db/Adapter/Abstract.php at line 574
      4.	#3: Zend_Db_Adapter_Abstract->insert() in [path]/library/XenForo/DataWriter.php at line 1638
      5.	#4: XenForo_DataWriter->_insert() in [path]/library/XenForo/DataWriter.php at line 1627
      6.	#5: XenForo_DataWriter->_save() in [path]/library/vw/XenForo/DataWriter.php at line 352
      7.	#6: vw_XenForo_DataWriter->_save() in [path]/library/XenForo/DataWriter.php at line 1419
      8.	#7: XenForo_DataWriter->save() in [path]/vault/core/controller/dm/xf.php at line 415
      9.	#8: vw_DM_Controller_XF->save() in [path]/vault/core/controller/dm/page/vw.php at line 1801
      10.	#9: vw_DM_Page_Controller->save_revision() in [path]/vault/core/controller/dm/page/vw.php at line 1435
      11.	#10: vw_DM_Page_Controller->post_save_each() in [path]/library/vw/XenForo/DataWriter.php at line 481
      12.	#11: vw_XenForo_DataWriter->_postSave() in [path]/library/XenForo/DataWriter.php at line 1423
      13.	#12: XenForo_DataWriter->save() in [path]/vault/core/controller/dm/xf.php at line 415
      14.	#13: vw_DM_Controller_XF->save() in [path]/vault/core/controller/import/handle/vw3/page/vw.php at line 750
      15.	#14: vw_Import_Handle_VW3_Page_Controller->add_page() in [path]/vault/core/controller/import/handle/vw3/page/vw.php at line 508
      16.	#15: vw_Import_Handle_VW3_Page_Controller->do_page() in [path]/vault/core/controller/import/handle/vw3/page/vw.php at line 232
      17.	#16: vw_Import_Handle_VW3_Page_Controller->do_pages() in [path]/vault/core/controller/import/steps/vw3/vw.php at line 300
      18.	#17: vw_Import_Steps_VW3_Controller->{closure}() in [path]/vault/core/controller/progress/steps/vw.php at line 83
      19.	#18: vw_Progress_Steps_Controller->call() in [path]/vault/core/controller/progress/steps/vw.php at line 53
      20.	#19: vw_Progress_Steps_Controller->execute() in [path]/vault/core/controller/progress/vw.php at line 92
      21.	#20: vw_Progress_Controller->exec_script() in [path]/vault/core/controller/progress/vw.php at line 74
      22.	#21: vw_Progress_Controller->execute() in [path]/vault/core/controller/cp/progress/vw.php at line 35
      23.	#22: vw_CP_Progress_Controller->process() in [path]/vault/core/controller/cp/impex/vw.php at line 108
      24.	#23: vw_CP_ImpEx_Controller->import() in [path]/vault/core/controller/cp/impex/vw.php at line 33
      25.	#24: vw_CP_ImpEx_Controller->execute() in [path]/library/vw/XenForo/ControllerAdmin/Wiki.php at line 118
      26.	#25: vw_XenForo_ControllerAdmin_Wiki->actionIndex() in [path]/library/XenForo/FrontController.php at line 351
      27.	#26: XenForo_FrontController->dispatch() in [path]/library/XenForo/FrontController.php at line 134
      28.	#27: XenForo_FrontController->run() in [path]/admin.php at line 13
    Issue Details
    Issue Number 4893
    Issue Type Bug
    Project VaultWiki 4.x Series
    Category Importing
    Status Fixed
    Priority 2 - Fatal / Database Errors
    Affected Version 4.0.16
    Fixed Version 4.0.17
    Milestone (none)
    Software DependencyXenForo 1.x
    License TypePaid
    Users able to reproduce bug 0
    Users unable to reproduce bug 0
    Attachments 0
    Assigned Users (none)
    Tags (none)




    1. February 1, 2017 1:57 AM
      Alfa1 Alfa1 is offline
      Distinguished Member
      The only column 'section' that I can find is in vw_revision and is varchar 255.
      Reply Reply
    2. February 1, 2017 9:27 AM
      pegasus pegasus is offline
      VaultWiki Team
      I am surprised you did not encounter this during your test import.

      It seems that in VaultWiki 3 it was possible to have vault_revision.section as long as 65535 characters, due to the original column definition. This is ridiculously long for a column where we are just logging the heading text of the section that was edited.

      VaultWiki 4 limits vw_revision.section to 255 characters, but it seems it did not consider how long sections from VaultWiki 3 might be. You can try to forcibly trim the incoming sections by modifying vault/core/controller/import/handle/vw3/page/vw.php.php. Find:
      Code:
      $article['reason'] = $this->normalize_text($article['reason']);
      After it, add:
      Code:
      $article['section'] = $this->normalize_text($article['section']);
      $dm = vw_Hard_Core::controller('DM')->create('Page', 'SILENT');
      $article['section'] = substr($article['section'], 0, 255);
      $dm->verify_utf8($article['section']);
      unset($dm);
      In vault/core/controller/import/handle/vw3/revision/vw.php, find:
      Code:
      $edit['reason'] = $this->normalize_text($edit['reason']);
      After it, add:
      Code:
      $edit['section'] = $this->normalize_text($edit['section']);
      $dm = vw_Hard_Core::controller('DM')->create('Revision', 'SILENT');
      $edit['section'] = substr($edit['section'], 0, 255);
      $dm->verify_utf8($edit['section']);
      unset($dm);
      Reply Reply
    3. February 19, 2017 4:48 PM
      Alfa1 Alfa1 is offline
      Distinguished Member
      Thanks!
      Reply Reply
    + Reply

    Assigned Users
    Loading Please Wait
    Tags
    Loading Please Wait
    • Contact Us
    • License Agreement
    • Privacy
    • Terms
    • Top
    All times are GMT -4. The time now is 1:38 PM.
    This site uses cookies to help personalize content, to tailor your experience, and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Learn more… Accept Remind me later
  • striker
    Powered by vBulletin® Version 4.2.5 Beta 2
    Copyright © 2025 vBulletin Solutions Inc. All rights reserved.
    Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
    Copyright © 2008 - 2024 VaultWiki Team, Cracked Egg Studios, LLC.