Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

sqlserver data format length extension question.

Newbie Spellweaver
Joined
Nov 16, 2018
Messages
83
Reaction score
7
How do I extend the varbinary length?

For example, if you expand your warehouse inventory to 8 compartments and then insert all of the upgrade cores, which are 1 compartment items, and reconnect them, it will not be saved and the character's information will be rolled back.

If you change the cabal_warehouse_table -> Data -> data format to varbinary(max), it still has an existing storage length.

Help me, guys..
 
Junior Spellweaver
Joined
Apr 2, 2023
Messages
198
Reaction score
88
You just don't, it has a limit by default.
There's a reason why there is a warehouse split procedure | function.
 
Upvote 0
Junior Spellweaver
Joined
Apr 2, 2023
Messages
198
Reaction score
88
Your database will not store varbinary past the length of 8000.

Thats why there is the split function to move excess data into another table.

I do not make use of warehouse pages past the first three as even the fourth can exceed that length and we simply provide a workaround by using multiple entire warehouse sets per account.

I'm sure it can just be fixed, but I didn't have time to look into that split function | procedure code yet so I'm afraid that I am of no use with that at the time.
 
Upvote 0
Newbie Spellweaver
Joined
Nov 16, 2018
Messages
83
Reaction score
7
Your database will not store varbinary past the length of 8000.

Thats why there is the split function to move excess data into another table.

I do not make use of warehouse pages past the first three as even the fourth can exceed that length and we simply provide a workaround by using multiple entire warehouse sets per account.

I'm sure it can just be fixed, but I didn't have time to look into that split function | procedure code yet so I'm afraid that I am of no use with that at the time.
Then, can the default length of 1024 varbinary be increased to 8000?
 
Upvote 0
Junior Spellweaver
Joined
Apr 2, 2023
Messages
198
Reaction score
88
Then, can the default length of 1024 varbinary be increased to 8000?
Sure can, so long as you change it everywhere and not just in the table as it would simply be ignored if otherwise.

Do keep in mind that sometimes it is best not to change the amount of data that is being communicated as limits may be set outside the database, too.
 
Upvote 0
Newbie Spellweaver
Joined
Nov 16, 2018
Messages
83
Reaction score
7
Sure can, so long as you change it everywhere and not just in the table as it would simply be ignored if otherwise.

Do keep in mind that sometimes it is best not to change the amount of data that is being communicated as limits may be set outside the database, too.
hello brother
Even if you increase the varbinary data length from 1024 to 8000, it is still recognized as 1024.
It is set to 8000 in the sql design.
Where can I find out in this case?
 
Upvote 0
Junior Spellweaver
Joined
Apr 2, 2023
Messages
198
Reaction score
88
Sorry I'm just not having the time to look into that today.
But I'm not sure what is it that you're trying to achieve either as the warehouse works fine as is and only the additional pages need some tweaks.
Do keep in mind that increasing the data length limit also increases the data size limit stored which is why I can't recommend using MAX which none of the DB contents from this game was designed for anyways.

First you should find out what is it that you are trying to change and does it really require that stored damals max length to be changed.
Then you'll want to find out whether splitting the data is more efficient.
MAX e.g stores up to 2 GB, the warehouse data is accessed too frequently to ignore that.
 
Upvote 0
Newbie Spellweaver
Joined
Nov 16, 2018
Messages
83
Reaction score
7
Sorry I'm just not having the time to look into that today.
But I'm not sure what is it that you're trying to achieve either as the warehouse works fine as is and only the additional pages need some tweaks.
Do keep in mind that increasing the data length limit also increases the data size limit stored which is why I can't recommend using MAX which none of the DB contents from this game was designed for anyways.

First you should find out what is it that you are trying to change and does it really require that stored damals max length to be changed.
Then you'll want to find out whether splitting the data is more efficient.
MAX e.g stores up to 2 GB, the warehouse data is accessed too frequently to ignore that.
If you log out a character that exceeds the var binary length of 512, you have confirmed that more than 512 data is saved in the query.

But when I log in again, it brings me back to the limited 512...

It seems to reload data of limited length when logging in.

Where can I check this part?

dbo.cabal_get_character
dbo.cabal_set_character

Even if I set both to 8000, it's the same.
 
Upvote 0
Back
Top