Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Imported From: http://groups.google.com/group/in-portal-bugs/browse_thread/thread/b2d30675dc772899#

When web server OS is 32bit, then results of crc32 functions are positive
and negative numbers in range, that fits nicely in "signed int" column in
MySQL database.

However, when web server OS is 64bit, then same crc32 function produces
only positive numbers (internally converts negative results to positive,
not by removing sign from them) producing number is no longer fits into
"signed it" range and will fit only in:   -

  • unsigned int

...

  • signed/unsigned bigint

Since we can't guess what architecture of  web server, that will run
In-Portal, would be then we need to:   1.

  1. convert all negative results of crc32 function to positive using

...

  1. $positive_crc

...

  1. = printf('%u', $crc)

...

  1. code

...

  1. make all db columns, that can store such numbers either "int

...

  1.    unsigned" or "bigint"

In 5.2.0-B2 this was noticed after tag *<inp2:st_ContentBlock
nameContentBlock name="logos"/> * was executed and produced content block number was stored
incorrectly resulting inability to save content block changes.

We have 54 places, where crc32 function is used (across all modules) and
and  each place needs to be inspected.

--
Best Regards,

...

Related Tasks

Jira Legacy
serverIn-Portal Issue Tracker
keyINP-1001