From 521dfdbb059b330e34d11e0fbfa96fbf831d1d20 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Thu, 16 Aug 2007 15:38:13 +0000 Subject: [PATCH] increase the odbc limit (64k is too low, the theme data itself is >64k) git-svn-id: file:///svn/phpbb/trunk@8038 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/docs/coding-guidelines.html | 2 ++ phpBB/includes/db/mssql_odbc.php | 23 ++++++++++++++++++++++- phpBB/install/index.php | 5 +++-- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/phpBB/docs/coding-guidelines.html b/phpBB/docs/coding-guidelines.html index 66c0a08d8b..1efeadb111 100644 --- a/phpBB/docs/coding-guidelines.html +++ b/phpBB/docs/coding-guidelines.html @@ -345,6 +345,7 @@ class ...
  • /includes/db/sqlite.php
    Sqlite Database Abstraction Layer
  • +
  • diff
    /includes/diff
    Diff Engine
  • docs
    /docs
    phpBB Documentation
  • images
    /images
    All global images not connected to styles
  • install
    /install
    Installation System
  • @@ -353,6 +354,7 @@ class ...
  • VC
    /includes/captcha
    CAPTCHA
  • mcp
    mcp.php, /includes/mcp, report.php
    Moderator Control Panel
  • ucp
    ucp.php, /includes/ucp
    User Control Panel
  • +
  • utf
    /includes/utf
    UTF8-related functions/classes
  • search
    /includes/search, search.php
    Search System
  • styles
    /styles, style.php
    phpBB Styles/Templates/Themes/Imagesets
  • diff --git a/phpBB/includes/db/mssql_odbc.php b/phpBB/includes/db/mssql_odbc.php index 290142103f..d3014f0e13 100644 --- a/phpBB/includes/db/mssql_odbc.php +++ b/phpBB/includes/db/mssql_odbc.php @@ -43,7 +43,28 @@ class dbal_mssql_odbc extends dbal $this->server = $sqlserver . (($port) ? ':' . $port : ''); $this->dbname = $database; - @ini_set('odbc.defaultlrl', 65536); + $max_size = @ini_get('odbc.defaultlrl'); + if (!empty($max_size)) + { + $unit = strtolower(substr($max_size, -1, 1)); + $max_size = (int) $max_size; + + if ($unit == 'k') + { + $max_size = floor($max_size / 1024); + } + else if ($unit == 'g') + { + $max_size *= 1024; + } + else if (is_numeric($unit)) + { + $max_size = floor((int) ($max_size . $unit) / 1048576); + } + $max_size = max(8, $max_size) . 'M'; + + @ini_set('odbc.defaultlrl', $max_size); + } $this->db_connect_id = ($this->persistency) ? @odbc_pconnect($this->server, $this->user, $sqlpassword) : @odbc_connect($this->server, $this->user, $sqlpassword); diff --git a/phpBB/install/index.php b/phpBB/install/index.php index 7b0f120577..56da3590ff 100755 --- a/phpBB/install/index.php +++ b/phpBB/install/index.php @@ -109,9 +109,10 @@ if (!empty($mem_limit)) { $unit = strtolower(substr($mem_limit, -1, 1)); $mem_limit = (int) $mem_limit; + if ($unit == 'k') { - $mem_limit = floor($mem_limit/1024); + $mem_limit = floor($mem_limit / 1024); } else if ($unit == 'g') { @@ -119,7 +120,7 @@ if (!empty($mem_limit)) } else if (is_numeric($unit)) { - $mem_limit = floor($mem_limit/1048576); + $mem_limit = floor((int) ($mem_limit . $unit) / 1048576); } $mem_limit = max(128, $mem_limit) . 'M'; }