[openstack-dev] [oslo.db] [ndb] ndb namespace throughout openstack projects
Jay Pipes
jaypipes at gmail.com
Thu Jul 27 00:06:23 UTC 2017
On 07/26/2017 07:58 PM, Michael Bayer wrote:
> On Jul 26, 2017 7:45 PM, "Jay Pipes" <jaypipes at gmail.com
> <mailto:jaypipes at gmail.com>> wrote:
>
> On 07/26/2017 07:06 PM, Octave J. Orgeron wrote:
>
> Hi Michael,
>
> On 7/26/2017 4:28 PM, Michael Bayer wrote:
>
>
> it at all.
> thinking out loud
>
> oslo_db.sqlalchemy.types.String(255, mysql_small_rowsize=64)
> oslo_db.sqlalchemy.types.String(255,
> mysql_small_rowsize=sa.TINYTEXT)
> oslo_db.sqlalchemy.types.String(255,
> mysql_small_rowsize=sa.TEXT)
>
>
> so if you don't have mysql_small_rowsize, nothing happens.
>
>
> I think the mysql_small_rowsize is a bit misleading since in one
> case we are changing the size and the others the type. Perhaps:
>
> mysql_alt_size=64
> mysql_alt_type=sa.TINYTEXT
> mysql_alt_type=sa.TEXT
>
> alt standing for alternate. What do you think?
>
>
> -1
>
> I think it should be specific to NDB, since that's what the override
> is for. I'd support something like:
>
> oslo_db.sqlalchemy.types.String(255, mysql_ndb_size=64)
>
>
> Ok, I give up on that fight, fine. mysql_ndb_xyz but at least build it
> into a nicely named type. I know i come off as crazy changing my mind
> and temporarily forgetting key details but this is often how I
> internally come up with things...
Isn't that exactly what I'm proposing below? :)
> Octave, I understand due to the table row size limitations the
> desire to reduce some column sizes for NDB. What I'm not entirely
> clear on is the reason to change the column *type* specifically for
> NDB. There are definitely cases where different databases have
> column types -- say, PostgreSQL's INET column type -- that don't
> exist in other RDBMS. For those cases, the standard approach in
> SQLAlchemy is to create a sqlalchemy ColumnType concrete class that
> essentially translates the CREATE TABLE statement (and type
> compilation/coercing) to specify the supported column type in the
> RDBMS if it's supported otherwise defaults the column type to
> something coerceable.
>
> An example of this can be seen here for how this is done for IPv4
> data in the apiary project:
>
> https://github.com/gmr/apiary/blob/master/apiary/types.py#L49
> <https://github.com/gmr/apiary/blob/master/apiary/types.py#L49>
>
> I'd certainly be open to doing things like this for NDB, but I'd
> first need to understand why you chose to convert the column types
> for the columns that you did. Any information you can provide about
> that would be great.
>
> Best,
> -jay
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe:
> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> <http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe>
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
>
>
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
More information about the OpenStack-dev
mailing list