List:Internals« Previous MessageNext Message »
From:Øystein Grøvlen Date:May 25 2009 9:21am
Subject:Re: Value objects and Protocol (WL#4760)
View as plain text  
Alex Esterkin wrote:
 > When and how will Value objects be constructed, what structure or
 > object will own them and at what stage of query processing will
 > ownership of data be transferred?   What about Item_subselect or
 > Item_ref derivatives?  How will Item references handle data ownership
 > transfer?

Value objects are constructed by value() methods of Item and Field
classes and returned by value to the caller.  These classes do NOT use
the Value object for internal representation of the value.  Hence,
there is really no concept of ownership.  It's just a way of passing
values around with associated methods to do type conversions.

 >
 > And all this to improve copying of BLOBs?   One of the key strengths
 > of MySQL is the ability to do entire BLOB processing by reference,
 > without reading or copying....  Is this part of the newly announced
 > MySQL reengineering initiative?

Yes.  The goal of this task is to remove code duplication by having a
single place for all the type conversions instead of duplicating it
across Item and Field classes.

It seems that using the term Value object for this work is a bit
confusing to people since that term has previously be used in
discussions aroung the storage engine API.  My task does not deal with
the SE API.  Its focus is only on the runtime structures of the
server.

By the way, I have no plans for changing how BLOBs are copied.

Hope this clarifies a bit,

--
Øystein

 >
 > Regards,
 >
 > Alex Esterkin
 >
 > 2009/5/22 Konstantin Osipov <kostja@stripped>:
 >> * Øystein Grøvlen <Oystein.Grovlen@stripped> [09/05/22
21:05]:
 >>> The way I have understood it from discussions in the re-engineering
 >>> team, I am not going to transfer ownership of data from Item to Value.
 >>> So far, Value objects are just used for return values that can easily
 >>> converted to other types.
 >> Could you please explain with an example how it is going to be
 >> easier with your patch?
 >>
 >> --
 >>
 >> --
 >> MySQL Internals Mailing List
 >> For list archives: http://lists.mysql.com/internals
 >> To unsubscribe: 
http://lists.mysql.com/internals?unsub=1
 >>
 >>

Thread
Value objects and Protocol (WL#4760)Øystein Grøvlen22 May
  • Re: Value objects and Protocol (WL#4760)Konstantin Osipov22 May
    • Re: Value objects and Protocol (WL#4760)Alex Esterkin22 May
      • Re: Value objects and Protocol (WL#4760)Brian Aker22 May
        • Re: Value objects and Protocol (WL#4760)Alex Esterkin22 May
          • Re: Value objects and Protocol (WL#4760)Brian Aker22 May
          • Re: Value objects and Protocol (WL#4760)Sergei Golubchik23 May
        • Re: Value objects and Protocol (WL#4760)Konstantin Osipov23 May
          • Re: Value objects and Protocol (WL#4760)Brian Aker23 May
    • Re: Value objects and Protocol (WL#4760)Øystein Grøvlen22 May
      • Re: Value objects and Protocol (WL#4760)Konstantin Osipov22 May
        • Re: Value objects and Protocol (WL#4760)Alex Esterkin22 May
          • Re: Value objects and Protocol (WL#4760)Øystein Grøvlen25 May
        • Re: Value objects and Protocol (WL#4760)Øystein Grøvlen24 May
          • Re: Value objects and Protocol (WL#4760)Konstantin Osipov24 May
      • Re: Value objects and Protocol (WL#4760)Konstantin Osipov23 May
        • Re: Value objects and Protocol (WL#4760)Øystein Grøvlen25 May
          • Re: Value objects and Protocol (WL#4760)Michael Widenius6 Jun
            • Re: Value objects and Protocol (WL#4760)Øystein Grøvlen8 Jun
            • Re: Value objects and Protocol (WL#4760)Jay Pipes8 Jun
              • Re: Value objects and Protocol (WL#4760)Jay Pipes8 Jun
  • Re: Value objects and Protocol (WL#4760)Jay Pipes24 May
    • Re: Value objects and Protocol (WL#4760)Øystein Grøvlen25 May
      • Re: Value objects and Protocol (WL#4760)Jay Pipes26 May
    • Re: [Drizzle-discuss] Value objects and Protocol (WL#4760)Jim Starkey28 May
Re: Value objects and Protocol (WL#4760)Brian Aker22 May