Whats the theoretical thread size limit?

aphex

Moderator<br>All Things Apple
Moderator
Jul 19, 2001
38,572
2
91
How many characters (or lines) of text can you have in one reply...??

Until the Mean mod comes in here and locks it.

Watchful Mod
 

Zim Hosein

Super Moderator | Elite Member
Super Moderator
Nov 27, 1999
65,387
406
126
aphexII, you must really be bored :)

Interesting question nevertheless.
 

jfall

Diamond Member
Oct 31, 2000
5,975
2
0
Just waiting for someone to keep pasting the same thing over and over until it cannot be pasted anymore :p
 

minendo

Elite Member
Aug 31, 2001
35,560
22
81


<< aphexII, you must really be bored :)

Interesting question nevertheless.
>>


Why not test it out?
 

Ameesh

Lifer
Apr 3, 2001
23,686
1
0


<< How many characters (or lines) of text can you have in one reply...?? >>



It dependeds on the size they set up to hold in their database, for a text field 64k perhaps? their data dictionary could tell us exactly.
 

b0mbrman

Lifer
Jun 1, 2001
29,470
1
81
I don't think there's a limit as I've seen some really huge threads...though I think it would be really dumb to test it...
 

pyonir

Lifer
Dec 18, 2001
40,856
321
126


<< I don't think there's a limit as I've seen some really huge threads...though I think it would be really dumb to test it... >>


awww let Lakersgo give it a shot...he hasn't been banned YET, but i am sure he has a couple strikes. :D
 

MaxDepth

Diamond Member
Jun 12, 2001
8,757
43
91
testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing

+1


nope, couldn't reach the theoretical limit in my lab. try the TX or Cali labs.

of course, I hear the Canadian threads only test to 80% of a US post.
:p :p :p
 
Jun 18, 2000
11,208
774
126


<< I don't think there's a limit as I've seen some really huge threads...though I think it would be really dumb to test it... >>


aphexII, what are you asking? Do you want to know the max thread size (as in number of replies) or the max reply size (as in number of characters)? 2 entirely different kettles of fish.

A thread is nothing more than a record in a table with a primary key and sequence number. If you look at the url of the thread you'll see a "threadid" and "messid" - or primary key and sequence number, respectively. As far as maximum number of replies. Well, each reply would make another record in the table. I've seen Oracle tables with nearly 2 million records. The maximum number of records depends on a number of things like disk/memory space, table space size, and even rollback segment size.

The number of characters per reply depends on how the "reply" column in the table was defined. A column of type VARCHAR2 can only hold 4,000 characters, and CHAR only 2,000. I've seen some large replies, so it's safe to assume this wouldn't be enough. That would leave the LONG datatype which can hold 2 gigabytes worth of characters (one character is one byte) in Oracle7 and 4 gigabytes of characters in Oracle8i and newer. Either Zuni uses VARCHAR2 and parses out the replies into several columns or he uses LONG - which would mean 4 billion characters.

This all assumes he's using Oracle. Which I pray he is.

I'd love to see you guys try to overflow that. :D :)
 

aphex

Moderator<br>All Things Apple
Moderator
Jul 19, 2001
38,572
2
91
I mean in actual size of a single post... Not number of replies...

I know ive seen a few threads here that scroll for MANY pages down, i was just curious what a single post's limit was...
 

aphex

Moderator<br>All Things Apple
Moderator
Jul 19, 2001
38,572
2
91


<< lets not let this get outta hand.. talk about server bandwidth hog.. >>



haha well i didnt mean for someone to prove it... i was just curious...
 
Jun 18, 2000
11,208
774
126


<< I mean in actual size of a single post... Not number of replies... >>


Did you read my entire post? Read the second paragraph.

I actually take the time to make an intelligent reply (one of few) and its all for naught. :(
 

aphex

Moderator<br>All Things Apple
Moderator
Jul 19, 2001
38,572
2
91


<<

<< I mean in actual size of a single post... Not number of replies... >>


Did you read my entire post? Read the second paragraph.

I actually take the time to make an intelligent reply (one of few) and its all for naught. :(
>>



Just did... Wow... Could it really be that long???
 
Jun 18, 2000
11,208
774
126


<< Just did... Wow... Could it really be that long??? >>


Yep. If they're using Microsoft SQL Server instead of Oracle, then they are probably using the TEXT datatype which can hold 2^31 - 1 (2,147,483,647) characters (link)
 

aphex

Moderator<br>All Things Apple
Moderator
Jul 19, 2001
38,572
2
91


<< well i have some free time......wha'd ya say we find out? >>



man, youd kill the non-subscribers :D
 

XZeroII

Lifer
Jun 30, 2001
12,572
0
0
I wonder why this hasn't been locked yet? Well, I'll give a reason to lock it...

Here's my Java program I'm writing...

import java.io.*;

public class MagicSquareTester
{
public boolean isMagic(int arr[][])
{
int sums[] = new int[8];

for (int k = 0; k < 3; k++)
sums[0] += arr[k][0];
int magicSum = sums[0];

for (int k = 0; k < 3; k++)
sums[1] += arr[k][1];
if (magicSum != sums[1])
return false;

for (int k = 0; k < 3; k++)
sums[2] += arr[k][2];
if (magicSum != sums[2])
return false;

for (int k = 0; k < 3; k++)
sums[3] += arr[0][k];
if (magicSum != sums[3])
return false;

for (int k = 0; k < 3; k++)
sums[4] += arr[1][k];
if (magicSum != sums[4])
return false;

for (int k = 0; k < 3; k++)
sums[5] += arr[2][k];
if (magicSum != sums[5])
return false;

for (int k = 0; k < 3; k++)
sums[6] += arr[k][k];
if (magicSum != sums[6])
return false;

for (int k = 0; k < 3; k++)
sums[7] += arr[k][3 - k - 1];
if (magicSum != sums[7])
return false;

return true;

}

public void print(int arr[][])
{
for (int j = 0; j < arr.length; j++)
{
for (int k = 0; k < arr[j].length; k++)
System.out.print(arr[j][k] + " ");
System.out.println();
}
}

public static void main(String argv[])
{
int magic[][] = { {6,7,2}, {1,5,9}, {8,3,4} };
int notMagic[][] = { {1,7,2}, {6,5,9}, {3,8,4} };

MagicSquareTester tester = new MagicSquareTester();
tester.print(magic);
if ( tester.isMagic(magic))
System.out.println("This is a magic square");
else
System.out.println("This is NOT a magic square");
tester.print(notMagic);
if ( tester.isMagic(notMagic))
System.out.println("This is a magic square");
else
System.out.println("This is NOT a magic square");
}

}

*******************************************************************

I wonder why this hasn't been locked yet? Well, I'll give a reason to lock it...

Here's my Java program I'm writing...

import java.io.*;

public class MagicSquareTester
{
public boolean isMagic(int arr[][])
{
int sums[] = new int[8];

for (int k = 0; k < 3; k++)
sums[0] += arr[k][0];
int magicSum = sums[0];

for (int k = 0; k < 3; k++)
sums[1] += arr[k][1];
if (magicSum != sums[1])
return false;

for (int k = 0; k < 3; k++)
sums[2] += arr[k][2];
if (magicSum != sums[2])
return false;

for (int k = 0; k < 3; k++)
sums[3] += arr[0][k];
if (magicSum != sums[3])
return false;

for (int k = 0; k < 3; k++)
sums[4] += arr[1][k];
if (magicSum != sums[4])
return false;

for (int k = 0; k < 3; k++)
sums[5] += arr[2][k];
if (magicSum != sums[5])
return false;

for (int k = 0; k < 3; k++)
sums[6] += arr[k][k];
if (magicSum != sums[6])
return false;

for (int k = 0; k < 3; k++)
sums[7] += arr[k][3 - k - 1];
if (magicSum != sums[7])
return false;

return true;

}

public void print(int arr[][])
{
for (int j = 0; j < arr.length; j++)
{
for (int k = 0; k < arr[j].length; k++)
System.out.print(arr[j][k] + " ");
System.out.println();
}
}

public static void main(String argv[])
{
int magic[][] = { {6,7,2}, {1,5,9}, {8,3,4} };
int notMagic[][] = { {1,7,2}, {6,5,9}, {3,8,4} };

MagicSquareTester tester = new MagicSquareTester();
tester.print(magic);
if ( tester.isMagic(magic))
System.out.println("This is a magic square");
else
System.out.println("This is NOT a magic square");
tester.print(notMagic);
if ( tester.isMagic(notMagic))
System.out.println("This is a magic square");
else
System.out.println("This is NOT a magic square");
}

}

*******************************************************************

I wonder why this hasn't been locked yet? Well, I'll give a reason to lock it...

Here's my Java program I'm writing...

import java.io.*;

public class MagicSquareTester
{
public boolean isMagic(int arr[][])
{
int sums[] = new int[8];

for (int k = 0; k < 3; k++)
sums[0] += arr[k][0];
int magicSum = sums[0];

for (int k = 0; k < 3; k++)
sums[1] += arr[k][1];
if (magicSum != sums[1])
return false;

for (int k = 0; k < 3; k++)
sums[2] += arr[k][2];
if (magicSum != sums[2])
return false;

for (int k = 0; k < 3; k++)
sums[3] += arr[0][k];
if (magicSum != sums[3])
return false;

for (int k = 0; k < 3; k++)
sums[4] += arr[1][k];
if (magicSum != sums[4])
return false;

for (int k = 0; k < 3; k++)
sums[5] += arr[2][k];
if (magicSum != sums[5])
return false;

for (int k = 0; k < 3; k++)
sums[6] += arr[k][k];
if (magicSum != sums[6])
return false;

for (int k = 0; k < 3; k++)
sums[7] += arr[k][3 - k - 1];
if (magicSum != sums[7])
return false;

return true;

}

public void print(int arr[][])
{
for (int j = 0; j < arr.length; j++)
{
for (int k = 0; k < arr[j].length; k++)
System.out.print(arr[j][k] + " ");
System.out.println();
}
}

public static void main(String argv[])
{
int magic[][] = { {6,7,2}, {1,5,9}, {8,3,4} };
int notMagic[][] = { {1,7,2}, {6,5,9}, {3,8,4} };

MagicSquareTester tester = new MagicSquareTester();
tester.print(magic);
if ( tester.isMagic(magic))
System.out.println("This is a magic square");
else
System.out.println("This is NOT a magic square");
tester.print(notMagic);
if ( tester.isMagic(notMagic))
System.out.println("This is a magic square");
else
System.out.println("This is NOT a magic square");
}

}

*******************************************************************

EDIT: Due to popular request, I have modified my Java program. It is now complete. yes, it is worthless, but I guess some people just wanted to see the complete thing.
 
Jun 18, 2000
11,208
774
126


<< man, youd kill the non-subscribers :D >>


There's probably only a single database (possibly 2 - the second for the archives) that all the forums have to access. 2 different databases, one for non-subscribers and one for subscribers, would be a serious resource hog to keep in sync with each other.

A 4 gigabyte text string wouldn't cause too much damage, since it would take you forever to upload all of it to the servers. Your connection would probably time out anyway. If somehow you could send it all instantaneously, you'd overload/crash the entire forum, or at least bring it to a grinding halt while it tries to commit the transaction.

Edit: XZeroII, don't be an ass. We were having a somewhat legitimate conversation. Don't thread crap. Please, edit/remove your post.