Hi Scott;

I crossed that in a project. They wanted extended PK lengths. It's somehow 
explained here https://blog.techottis.ch/2016/10/03/the-quest-for-the-id/

I created OFBIZ-5648 for that

Jaqcues


Le 06/04/2017 à 00:12, Scott Gray a écrit :
Perhaps lookup performance isn't the only consideration?

A few things come to mind:
- screen realestate when PKs need to be displayed
- bandwidth for syncing to slaves and transporting data to/from the client
- file size for export/import be it XML or whatever

Given that PKs shouldn't perform any function beyond guaranteeing
uniqueness within a given table, and that we use numeric sequences for
nonstatic tables, I struggle to see where it makes sense to use anything
bigger than 20 characters. So we have to abbreviate some seed data to fit,
not really a big deal and certainly not "absurd".

Like any other code base in the world, OFBiz contains opinionated design.
Everyone is free to discuss those opinions ad nauseam, but using strong
language such as "absurd" because you have a different opinion is
unnecessary and not constructive to the conversation.

Regards
Scott



On 6/04/2017 09:33, "Mike" <[email protected]> wrote:

Well, with postgresql, and localpostnew, there are no worries about UTF8
compatibility, or lengths of *ANY* fields.  It works just fine, and the
performance is fast.

One may argue that you SHOULD limit your primary ID fields.  OK:  Maybe to
255, using VARYING(255)...  But never use VARCHAR(255), because you are
physically storing 255 characters... but never just 20.

On Wed, Apr 5, 2017 at 12:42 PM, Jacques Le Roux <
[email protected]> wrote:

For history sake: I committed localpostnew.

After a discussion (on dev ML or somewhere else? Unfortunately I can't
find) it was commonly agreed that we should merge localpostnew in
localpostgres and then remove localpostnew.

Later we commonly decided http://markmail.org/message/op2yl3pcbj3lgxpg
to
revert some changes in the new (merged) localpostgres

Feel free to use localpostnew. We could even put it back in, as suggested
Nicolas, but I believe it should be then named otherwise to avoid
confusion
Jacques


Le 05/04/2017 à 19:32, Mike a écrit :

Pierre, here is an example from the demo data:

accounting_OrganizationData.xml:    <PartyRole partyId="RECEIVING"
roleTypeId="INTERNAL_ORGANIZATIO"/>

The default of ID (20 chrs) is so small that you can't even properly
spell
"INTERNAL_ORGANIZATION"... I work with databases every day, and I would
be
so limited if I had to work with such small primary IDs.

The thing is you don't want to not limit yourself when you first build a
database.  The jira is interesting, and GUIDs are a good example.

Personally, I use postgresql, using the "localpostnew" type... Removed
from
trunk for some reason.. It has unlimited primary ID sizes (ok, 2.1G),
which
allows me to create any sort of primary key I want.

      <field-type-def type="id"         sql-type="TEXT"
java-type="String"/>
      <field-type-def type="id-long"  sql-type="TEXT"
java-type="String"/>
      <field-type-def type="id-vlong" sql-type="TEXT"
java-type="String"/>
If you think that type=TEXT is slow or less efficient..  Here is what
postgres says about type "TEXT"..

https://www.postgresql.org/docs/9.3/static/datatype-character.html

*Tip:* There is no performance difference among these three types, apart

from increased storage space when using the blank-padded type, and a few
extra CPU cycles to check the length when storing into a
length-constrained
column. While character(n) has performance advantages in some other
database systems, there is no such advantage inPostgreSQL; in fact
character(n) is usually the slowest of the three because of its
additional
storage costs. In most situations text or character varying should be
used
instead.

Mysql has a similar type... I personally haven't tested it.

On Wed, Apr 5, 2017 at 10:06 AM, Pierre Smits <[email protected]>
wrote:

HI Mike, all,
Re 2: Talk about adjustment of default key size
Why is that absurd? You believe it is too long/too short?
Following JIRA issue may be of interest:
https://issues.apache.org/jira/browse/OFBIZ-8343

Best regards,

Pierre Smits

ORRTIZ.COM <http://www.orrtiz.com>
OFBiz based solutions & services

OFBiz Extensions Marketplace
http://oem.ofbizci.net/oci-2/

On Wed, Apr 5, 2017 at 5:10 PM, Mike <[email protected]> wrote:

Nice videos.  Regarding the mysql setup, you may want to include two
items:

1) Make sure mysql is setup as UTF8, discussed earlier in this mail

group.

Requires tweaking:

framework/entity/config/entityengine.xml
/etc/mysql/my.cnf

2) Talk about adjusting the default sizes of primary keys (ID).  The
default is an absurd 20 characters:

framework/entity/fieldtype/fieldtypemysql.xml

      <field-type-def type="id" sql-type="VARCHAR(20)"
java-type="String"/>
      <field-type-def type="id-long" sql-type="VARCHAR(60)"
java-type="String"/>
      <field-type-def type="id-vlong" sql-type="VARCHAR(250)"
java-type="String"/>



On Wed, Apr 5, 2017 at 6:03 AM, Pranay Pandey <
[email protected]> wrote:

Thanks so much Deepak!
Best regards,

Pranay Pandey


On Wed, Apr 5, 2017 at 5:51 PM, Deepak Dixit

<deepak.dixit@hotwaxsystems.
com
wrote:
Hi Team,

Here are some more videos from Pranay

-  Setup OFBiz in IntelliJ IDEA IDE - Release 16.11 and Trunk
<https://youtu.be/mxToh2rX7NY>
- Setup OFBiz with MySQL <https://youtu.be/Lzmv0DCC5N4>


Thanks Pranay for your effort.


Thanks & Regards
--
Deepak Dixit
www.hotwaxsystems.com

On Wed, Mar 22, 2017 at 7:07 PM, akash jain <[email protected]
wrote:

Nice videos, thanks Pranay!
Thanks and Regards
--
Akash Jain

On Thu, Mar 9, 2017 at 6:18 PM, Deepak Dixit

<deepak.dixit@hotwaxsystems.
com
wrote:
Hi Everyone,

Pranay has created two video tutorials, these have been published

on
our
OFBiz YouTube channel <https://www.youtube.com/user/ofbiz>:
1 - Apache OFBiz Mailing Lists <https://www.youtube.com/
watch?v=bIS2kftvsq4>
2 - OFBiz Beginners Tutorial - Basic Setup Release16.11
<https://youtu.be/efkB_aN-ODw>

Thanks Pranay for these helpful videos.

Thanks & Regards
--
Deepak Dixit
www.hotwaxsystems.com



Reply via email to