Em 13/11/2011 09:13, Dimitry Sibiryakov escreveu:
> 13.11.2011 12:09, Kjell Rilbe wrote:
>>> Іncrease table name and field name size above 32 symbols for support ORM 
>>> frameworks sach as Ruby on Rails
>> Would be much appreciated, yes. ECO handle's the limitation
>> automatically, but a problem is that the 32 symbol limit is actually a
>> 32 BYTE limit. Since the identifiers are encoded in UTF8, which is
>> variable-length, the actual maximum for a specific identifier depends on
>> the characters it conatains. Very annoying. At least this was the case
>> last time i checked (2.1 I believe).
>     I wonder how such ORM frameworks work with Oracle which has lower name 
> length limit...
> And why Oracle isn't flooded with such improvement requests.
>

I don't use ECO or Hibernate, but I already meet a lot of cases where 31 
chars is to few to name something, I really like the names spelled 
without abreviations it's much easier to remember the full name of 
something than the possible abreviations, an example just to show my point:
Quantity_Purchased_Not_Delivered

could be abbreviated to:
Qty_Purch_Not_Delivered
Qt_Purch_Not_Delivered
Qty_Purch_Not_Deliv
Qty_Purchased_Not_Deliv

The case could be even worst when I start to name FK's or Indices
The Default for my FK name is:
FK_Name_of_Parent_Table_Name_of_Child_Table

So if I have I Table named Empresa_Credor_Devedor and another called 
Titulo_Pagar the FK named should be 
FK_Empresa_Credor_Devedor_Titulo_Pagar wich is not allowed, so I start 
to abreviate the name until it fits.

The Indices are named like:
Prefix_Table_Name_Colum_Name

Prefix could be:
AK - for Alternate keys
PK - for Primary Keys
FK - for Foreign Keys
SK - for Secondary Keys

So I could have an index name like:
SK_Empresa_Credor_Devedor_Limite_Credito for a index on 
Empresa_Credor_Devedor(Limite_Credito)
SK_Movimento_Estoque_Tipo_Movimento_Data_Numero_Documento for a compound 
index on Movimento_Estoque(Tipo_Movimento, Data, Numero_Documento)

of course I could just name everything as
FK_0001
FK_0002
FK_0003

Where an identifier name of 10 chars would be more than enough, but I 
really think that's hard to understand a plan where you just see cryptic 
index names.

I really don't know if Oracle has a lower limit on the identifier name 
than FB, and I don't care, I use FB not Oracle, and this is a FB feature 
request to make FB better, just it... I don't think that just because 
Oracle has such a limitation it's a good reason to note improve FB...

I understand that such improvement could be hard to implement because of 
the changes on the API and that the access libraries must be recoded for 
such change, this could be a reason to post pone this modification, but 
the argument that the other RDBMS don't support it so we should not 
support it either didn't convince me.

I saw this discussion some times, but would not say that it "floods" the 
feature request's lists.

I am one who waits for this change, but understand why it's not 
implemented yet...

Onve uppon a time ago, I was working on a system that need integration 
with People Soft's Bann ERP, the table names are named like:
tm$140
tm$102
tm$235

a query like:
select
    tm$140.fwn, tm$140.fwad, tm$102.cn, tm$102.cty
from
    tm$140 join
    tm$102 on (tm$140.fwid = tm$102.fwid) join
    tm$235 on (tm$235.srid = tm$102.srid)
where
    tm$102.srn = 'Alexandre'

is a bit more complex to understand than this one

select
    f.Name, f.Address, c.Name, c.City
from
    Forwarder F join
    Costumer C on (C.ForwarderID = F.ForwarderID) join
    SalesRepresentative SR on (SR.SalesRepresentativeID = 
C.SalesRepresentativeID)
where
    SR.Name = 'Alexandre'

Don't you agree ?

best regards,

------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to