Commit 7796ef24 authored by cdelort's avatar cdelort
Browse files

Add string128M to COOL

parent 3c1406ef
......@@ -65,6 +65,7 @@ namespace cool
String4k,
String64k,
String16M,
String128M,
Blob64k,
Blob16M,
Blob128M
......
......@@ -45,6 +45,7 @@ namespace cool {
typedef std::string String4k;
typedef std::string String64k;
typedef std::string String16M;
typedef std::string String128M;
typedef coral::Blob Blob64k;
typedef coral::Blob Blob16M;
......
......@@ -65,6 +65,7 @@ void FieldSelection::initialize()
case StorageType::TypeId::String4k:
case StorageType::TypeId::String64k:
case StorageType::TypeId::String16M:
case StorageType::TypeId::String128M:
if ( m_relation != FieldSelection::Relation::EQ && m_relation != FieldSelection::Relation::NE )
{
std::stringstream msg;
......@@ -104,6 +105,7 @@ FieldSelection::FieldSelection( const std::string& name,
case StorageType::TypeId::String4k:
case StorageType::TypeId::String64k:
case StorageType::TypeId::String16M:
case StorageType::TypeId::String128M:
{
FieldSelection::describe( nullness );
std::stringstream msg;
......@@ -279,6 +281,9 @@ bool FieldSelection::select( const IRecord& record ) const
case StorageType::TypeId::String16M:
return compareBlobs( field.data<cool::String16M>(),
m_relation,ref.data<cool::String16M>() );
case StorageType::TypeId::String128M:
return compareBlobs( field.data<cool::String128M>(),
m_relation,ref.data<cool::String128M>() );
case StorageType::TypeId::Blob64k:
return compareBlobs( field.data<cool::Blob64k>(),
m_relation,ref.data<cool::Blob64k>() );
......
......@@ -139,6 +139,8 @@ void FieldSpecification::validate( const coral::Attribute& attribute,
storageType().validate( attribute.data<String64k>() ); break;
case StorageType::TypeId::String16M:
storageType().validate( attribute.data<String16M>() ); break;
case StorageType::TypeId::String128M:
storageType().validate( attribute.data<String128M>() ); break;
case StorageType::TypeId::Blob64k:
storageType().validate( attribute.data<Blob64k>() ); break;
case StorageType::TypeId::Blob16M:
......
......@@ -27,6 +27,7 @@ const std::string cool::StorageType::name() const
case StorageType::TypeId::String4k: return "String4k";
case StorageType::TypeId::String64k: return "String64k";
case StorageType::TypeId::String16M: return "String16M";
case StorageType::TypeId::String128M: return "String128M";
case StorageType::TypeId::Blob64k: return "Blob64k";
case StorageType::TypeId::Blob16M: return "Blob16M";
case StorageType::TypeId::Blob128M: return "Blob128M";
......@@ -57,6 +58,7 @@ const std::type_info& cool::StorageType::cppType() const
case StorageType::TypeId::String4k: return typeid( cool::String4k );
case StorageType::TypeId::String64k: return typeid( cool::String64k );
case StorageType::TypeId::String16M: return typeid( cool::String16M );
case StorageType::TypeId::String128M: return typeid( cool::String128M );
case StorageType::TypeId::Blob64k: return typeid( cool::Blob64k );
case StorageType::TypeId::Blob16M: return typeid( cool::Blob16M );
case StorageType::TypeId::Blob128M: return typeid( cool::Blob128M );
......@@ -87,6 +89,7 @@ size_t cool::StorageType::maxSize() const
case StorageType::TypeId::String4k: return 4000;
case StorageType::TypeId::String64k: return 65535;
case StorageType::TypeId::String16M: return 16777215;
case StorageType::TypeId::String128M: return 134217727;
case StorageType::TypeId::Blob64k: return 65535;
case StorageType::TypeId::Blob16M: return 16777215;
case StorageType::TypeId::Blob128M: return 134217727;
......@@ -133,6 +136,8 @@ const cool::StorageType& cool::StorageType::storageType( const TypeId& id )
{ static const StorageType type( id ); return type; }
case StorageType::TypeId::String16M:
{ static const StorageType type( id ); return type; }
case StorageType::TypeId::String128M:
{ static const StorageType type( id ); return type; }
case StorageType::TypeId::Blob64k:
{ static const StorageType type( id ); return type; }
case StorageType::TypeId::Blob16M:
......@@ -159,6 +164,7 @@ void cool::StorageType::validate( const std::type_info& cppTypeOfData,
case StorageType::TypeId::String4k:
case StorageType::TypeId::String64k:
case StorageType::TypeId::String16M:
case StorageType::TypeId::String128M:
{
const std::string& data =
*( static_cast<const std::string*>( addressOfData ) );
......
......@@ -49,6 +49,7 @@ public:
spec.extend( "A_String4k", StorageType::TypeId::String4k );
spec.extend( "A_String64k", StorageType::TypeId::String64k );
spec.extend( "A_String16M", StorageType::TypeId::String16M );
spec.extend( "A_String128M", StorageType::TypeId::String128M );
spec.extend( "A_Blob64k", StorageType::TypeId::Blob64k );
spec.extend( "A_Blob16M", StorageType::TypeId::Blob16M );
spec.extend( "A_Blob128M", StorageType::TypeId::Blob128M );
......
......@@ -55,6 +55,7 @@ public:
spec.extend( "A_String4k", StorageType::TypeId::String4k );
spec.extend( "A_String64k", StorageType::TypeId::String64k );
spec.extend( "A_String16M", StorageType::TypeId::String16M );
spec.extend( "A_String128M", StorageType::TypeId::String128M );
spec.extend( "A_Blob64k", StorageType::TypeId::Blob64k );
spec.extend( "A_Blob16M", StorageType::TypeId::Blob16M );
spec.extend( "A_Blob128M", StorageType::TypeId::Blob128M );
......
......@@ -688,7 +688,9 @@ public:
std::cout << "Payload string S16M can contain up to 16777215 characters"
<< std::endl;
spec.extend("S16M",StorageType::TypeId::String16M);
std::cout << "Payload string S16M can contain up to 134217727 characters"
<< std::endl;
spec.extend("S128M",StorageType::TypeId::String128M);
std::cout << "\nCreating the folder" << std::endl;
cool::FolderSpecification folderSpec( FolderVersioning::Mode::SINGLE_VERSION,
spec );
......@@ -706,6 +708,7 @@ public:
char c = s.str().data()[0];
payload["S64k"].setValue<cool::String64k>( std::string( 65535, c ) );
payload["S16M"].setValue<cool::String16M>( std::string( 16777215, c ) );
payload["S16M"].setValue<cool::String128M>( std::string( 134217727, c ) );
f1->storeObject( since, until, payload, 0 );
}
......@@ -714,7 +717,7 @@ public:
ValidityKey until = ValidityKeyMax;
IObjectIteratorPtr objects = f1->browseObjects( since, until, 0 );
std::cout << "Id (Ch) IOV \"I\" \"S\" \"X\" "
<< "length(\"S64k\") length(\"S16M\")" << std::endl;
<< "length(\"S64k\") length(\"S16M\") length(\"S128M\")" << std::endl;
while ( objects->goToNext() ) {
const IObject& obj = objects->currentRef();
std::cout << " " << obj.objectId()
......@@ -725,6 +728,7 @@ public:
<< " " << obj.payloadValue<cool::Float>("X")
<< " " << obj.payloadValue<cool::String64k>("S64k").size()
<< " " << obj.payloadValue<cool::String16M>("S16M").size()
<< " " << obj.payloadValue<cool::String128M>("S128M").size()
<< std::endl;
}
......
......@@ -69,6 +69,9 @@ public:
std::cout << "Payload string S16M can contain up to 16777215 characters"
<< std::endl;
spec.extend("S16M",StorageType::TypeId::String16M);
std::cout << "Payload string S16M can contain up to 134217727 characters"
<< std::endl;
spec.extend("S128M",StorageType::TypeId::String128M);
std::cout << "\nCreating the folder" << std::endl;
cool::FolderSpecification folderSpec( FolderVersioning::Mode::SINGLE_VERSION,
......@@ -87,6 +90,7 @@ public:
char c = s.str().data()[0];
payload["S64k"].setValue<cool::String64k>( std::string( 65535, c ) );
payload["S16M"].setValue<cool::String16M>( std::string( 16777215, c ) );
payload["S128M"].setValue<cool::String128M>( std::string( 134217727, c ) );
f1->storeObject( since, until, payload, 0 ); // channel 0
}
......@@ -95,7 +99,7 @@ public:
ValidityKey until = ValidityKeyMax;
IObjectIteratorPtr objects = f1->browseObjects( since, until, 0 );
std::cout << "Id (Ch) IOV \"I\" \"S\" \"X\" "
<< "length(\"S64k\") length(\"S16M\")" << std::endl;
<< "length(\"S64k\") length(\"S16M\") length(\"S128M\")" << std::endl;
while ( objects->goToNext() ) {
const IObject& obj = objects->currentRef();
std::cout << " " << obj.objectId()
......@@ -106,6 +110,7 @@ public:
<< " " << obj.payloadValue<cool::Float>("X")
<< " " << obj.payloadValue<cool::String64k>("S64k").size()
<< " " << obj.payloadValue<cool::String16M>("S16M").size()
<< " " << obj.payloadValue<cool::String128M>("S128M").size()
<< std::endl;
}
}
......
......@@ -354,6 +354,7 @@ namespace cool
TD(n, String4k)
TD(o, String64k)
TD(p, String16M)
TD(p, String128M)
TD(q, Blob64k)
TD(r, Blob16M)
TD(u, Blob128M) //CORALCOOL-3025
......@@ -500,6 +501,7 @@ INST_COOL_TYPEDEFS_HELPER(m, String255);
INST_COOL_TYPEDEFS_HELPER(n, String4k);
INST_COOL_TYPEDEFS_HELPER(o, String64k);
INST_COOL_TYPEDEFS_HELPER(p, String16M);
INST_COOL_TYPEDEFS_HELPER(p, String128M);
INST_COOL_TYPEDEFS_HELPER(q, Blob64k);
INST_COOL_TYPEDEFS_HELPER(r, Blob16M);
INST_COOL_TYPEDEFS_HELPER(u, Blob128M); //CORALCOOL-3025
......
......@@ -45,7 +45,7 @@ def _guess_cool_type_aliases():
# not working after ROOT 6.18 ROOT-10217, CORALCOOL-3040
#dirTypedefs = dir(getattr(cppyy.gbl,"cool::PyCool::Helpers::Typedefs"))
# Workaround because Pyroot doesn't have this information anymore
dirTypedefs = ['__add__', '__assign__', '__bool__', '__class__', '__cppname__', '__delattr__', '__destruct__', '__dict__', '__dispatch__', '__div__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__mul__', '__ne__', '__new__', '__nonzero__', '__radd__', '__rdiv__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__rsub__', '__scope__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__weakref__', '_get_smart_ptr', 'functiona', 'functiona<bool>', 'functionb', 'functionb<unsigned char>', 'functiond', 'functiond<short>', 'functione', 'functione<unsigned short>', 'functionf', 'functionf<int>', 'functiong', 'functiong<unsigned int>', 'functionh', 'functionh<unsigned long long>', 'functioni', 'functioni<long long>', 'functionj', 'functionj<unsigned long long>', 'functionk', 'functionk<float>', 'functionl', 'functionl<double>', 'functionm', 'functionm<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >', 'functionn', 'functionn<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >', 'functiono', 'functiono<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >', 'functionp', 'functionp<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >', 'functionq', 'functionq<coral::Blob>', 'functionr', 'functionr<coral::Blob>', 'functionu', 'functionu<coral::Blob>', 'functions', 'functions<unsigned long long>', 'functiont', 'functiont<unsigned int>', 'type_id_a__Bool', 'type_id_b__UChar', 'type_id_d__Int16', 'type_id_e__UInt16', 'type_id_f__Int32', 'type_id_g__UInt32', 'type_id_h__UInt63', 'type_id_i__Int64', 'type_id_j__UInt64', 'type_id_k__Float', 'type_id_l__Double', 'type_id_m__String255', 'type_id_n__String4k', 'type_id_o__String64k', 'type_id_p__String16M', 'type_id_q__Blob64k', 'type_id_r__Blob16M', 'type_id_u__Blob128M', 'type_id_s__ValidityKey', 'type_id_t__ChannelId']
dirTypedefs = ['__add__', '__assign__', '__bool__', '__class__', '__cppname__', '__delattr__', '__destruct__', '__dict__', '__dispatch__', '__div__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__mul__', '__ne__', '__new__', '__nonzero__', '__radd__', '__rdiv__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__rsub__', '__scope__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__weakref__', '_get_smart_ptr', 'functiona', 'functiona<bool>', 'functionb', 'functionb<unsigned char>', 'functiond', 'functiond<short>', 'functione', 'functione<unsigned short>', 'functionf', 'functionf<int>', 'functiong', 'functiong<unsigned int>', 'functionh', 'functionh<unsigned long long>', 'functioni', 'functioni<long long>', 'functionj', 'functionj<unsigned long long>', 'functionk', 'functionk<float>', 'functionl', 'functionl<double>', 'functionm', 'functionm<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >', 'functionn', 'functionn<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >', 'functiono', 'functiono<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >', 'functionp', 'functionp<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >','functionv', 'functionv<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >', 'functionq', 'functionq<coral::Blob>', 'functionr', 'functionr<coral::Blob>', 'functionu', 'functionu<coral::Blob>', 'functions', 'functions<unsigned long long>', 'functiont', 'functiont<unsigned int>', 'type_id_a__Bool', 'type_id_b__UChar', 'type_id_d__Int16', 'type_id_e__UInt16', 'type_id_f__Int32', 'type_id_g__UInt32', 'type_id_h__UInt63', 'type_id_i__Int64', 'type_id_j__UInt64', 'type_id_k__Float', 'type_id_l__Double', 'type_id_m__String255', 'type_id_n__String4k', 'type_id_o__String64k', 'type_id_p__String16M', 'type_id_v__String128M', 'type_id_q__Blob64k', 'type_id_r__Blob16M', 'type_id_u__Blob128M', 'type_id_s__ValidityKey', 'type_id_t__ChannelId']
for k, v in extract_matches(re.compile(r"type_id_([a-z]*)__(\w*)"),
dirTypedefs):
id2typedef[k] = v
......
......@@ -493,6 +493,7 @@ def cool_Record():
"String4k": "std::string",
"String64k": "std::string",
"String16M": "std::string",
"String128M": "std::string",
"Blob64k": "coral::Blob",
"Blob16M": "coral::Blob",
"Blob128M": "coral::Blob",
......
......@@ -45,7 +45,7 @@ def _guess_cool_type_aliases():
# not working after ROOT 6.18 ROOT-10217, CORALCOOL-3040
#dirTypedefs = dir(getattr(cppyy.gbl,"cool::PyCool::Helpers::Typedefs"))
# Workaround because Pyroot doesn't have this information anymore
dirTypedefs = ['__add__', '__assign__', '__bool__', '__class__', '__cppname__', '__delattr__', '__destruct__', '__dict__', '__dispatch__', '__div__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__mul__', '__ne__', '__new__', '__nonzero__', '__radd__', '__rdiv__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__rsub__', '__scope__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__weakref__', '_get_smart_ptr', 'functiona', 'functiona<bool>', 'functionb', 'functionb<unsigned char>', 'functiond', 'functiond<short>', 'functione', 'functione<unsigned short>', 'functionf', 'functionf<int>', 'functiong', 'functiong<unsigned int>', 'functionh', 'functionh<unsigned long long>', 'functioni', 'functioni<long long>', 'functionj', 'functionj<unsigned long long>', 'functionk', 'functionk<float>', 'functionl', 'functionl<double>', 'functionm', 'functionm<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >', 'functionn', 'functionn<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >', 'functiono', 'functiono<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >', 'functionp', 'functionp<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >', 'functionq', 'functionq<coral::Blob>', 'functionr', 'functionr<coral::Blob>', 'functionu', 'functionu<coral::Blob>', 'functions', 'functions<unsigned long long>', 'functiont', 'functiont<unsigned int>', 'type_id_a__Bool', 'type_id_b__UChar', 'type_id_d__Int16', 'type_id_e__UInt16', 'type_id_f__Int32', 'type_id_g__UInt32', 'type_id_h__UInt63', 'type_id_i__Int64', 'type_id_j__UInt64', 'type_id_k__Float', 'type_id_l__Double', 'type_id_m__String255', 'type_id_n__String4k', 'type_id_o__String64k', 'type_id_p__String16M', 'type_id_q__Blob64k', 'type_id_r__Blob16M', 'type_id_u__Blob128M', 'type_id_s__ValidityKey', 'type_id_t__ChannelId']
dirTypedefs = ['__add__', '__assign__', '__bool__', '__class__', '__cppname__', '__delattr__', '__destruct__', '__dict__', '__dispatch__', '__div__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__mul__', '__ne__', '__new__', '__nonzero__', '__radd__', '__rdiv__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__rsub__', '__scope__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__weakref__', '_get_smart_ptr', 'functiona', 'functiona<bool>', 'functionb', 'functionb<unsigned char>', 'functiond', 'functiond<short>', 'functione', 'functione<unsigned short>', 'functionf', 'functionf<int>', 'functiong', 'functiong<unsigned int>', 'functionh', 'functionh<unsigned long long>', 'functioni', 'functioni<long long>', 'functionj', 'functionj<unsigned long long>', 'functionk', 'functionk<float>', 'functionl', 'functionl<double>', 'functionm', 'functionm<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >', 'functionn', 'functionn<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >', 'functiono', 'functiono<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >', 'functionp', 'functionp<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >','functionv', 'functionv<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >', 'functionq', 'functionq<coral::Blob>', 'functionr', 'functionr<coral::Blob>', 'functionu', 'functionu<coral::Blob>', 'functions', 'functions<unsigned long long>', 'functiont', 'functiont<unsigned int>', 'type_id_a__Bool', 'type_id_b__UChar', 'type_id_d__Int16', 'type_id_e__UInt16', 'type_id_f__Int32', 'type_id_g__UInt32', 'type_id_h__UInt63', 'type_id_i__Int64', 'type_id_j__UInt64', 'type_id_k__Float', 'type_id_l__Double', 'type_id_m__String255', 'type_id_n__String4k', 'type_id_o__String64k', 'type_id_p__String16M', 'type_id_v__String128M', 'type_id_q__Blob64k', 'type_id_r__Blob16M', 'type_id_u__Blob128M', 'type_id_s__ValidityKey', 'type_id_t__ChannelId']
for k, v in extract_matches(re.compile(r"type_id_([a-z]*)__(\w*)"),
dirTypedefs):
id2typedef[k] = v
......
......@@ -525,6 +525,7 @@ def cool_Record():
"String4k": "std::string",
"String64k": "std::string",
"String16M": "std::string",
"String128M": "std::string",
"Blob64k": "coral::Blob",
"Blob16M": "coral::Blob",
"Blob128M": "coral::Blob",
......
......@@ -125,6 +125,7 @@ namespace rbug
case StorageType4::TypeId::String4k: return "String4k";
case StorageType4::TypeId::String64k: return "String64k";
case StorageType4::TypeId::String16M: return "String16M";
case StorageType4::TypeId::String128M: return "String128M";
case StorageType4::TypeId::Blob64k: return "Blob64k";
case StorageType4::TypeId::Blob16M: return "Blob16M";
case StorageType4::TypeId::Blob128M: return "Blob128M";
......@@ -151,6 +152,7 @@ namespace rbug
case StorageType4::TypeId::String4k: return typeid( rbug::String4k );
case StorageType4::TypeId::String64k: return typeid( rbug::String64k );
case StorageType4::TypeId::String16M: return typeid( rbug::String16M );
case StorageType4::TypeId::String128M: return typeid( rbug::String128M );
case StorageType4::TypeId::Blob64k: return typeid( rbug::Blob64k );
case StorageType4::TypeId::Blob16M: return typeid( rbug::Blob16M );
case StorageType4::TypeId::Blob128M: return typeid( rbug::Blob128M );
......@@ -191,6 +193,8 @@ namespace rbug
{ static const StorageType4 type( id ); return type; }
case StorageType4::TypeId::String16M:
{ static const StorageType4 type( id ); return type; }
case StorageType4::TypeId::String128M:
{ static const StorageType4 type( id ); return type; }
case StorageType4::TypeId::Blob64k:
{ static const StorageType4 type( id ); return type; }
case StorageType4::TypeId::Blob16M:
......
......@@ -40,6 +40,7 @@ namespace rbug
typedef std::string String4k;
typedef std::string String64k;
typedef std::string String16M;
typedef std::string String128M;
typedef Blob4 Blob64k;
typedef Blob4 Blob16M;
typedef Blob4 Blob128M;
......@@ -70,7 +71,7 @@ namespace rbug
public:
enum TypeId { Bool, UChar, Int16, UInt16, Int32, UInt32, UInt63, Int64,
Float, Double, String255, String4k, String64k, String16M,
Blob64k, Blob16M, Blob128M };
String128M, Blob64k, Blob16M, Blob128M };
public:
virtual ~StorageType4() {}
static const StorageType4& storageType( const TypeId& id );
......
......@@ -1130,7 +1130,8 @@ class TestCoolFunctionality( unittest.TestCase ):
"String255",
"String4k",
"String64k",
"String16M" ]
"String16M",
"String128M" ]
# Create a folder with 13 payload columns
rspec = cool.RecordSpecification()
for t in types:
......@@ -1156,6 +1157,7 @@ class TestCoolFunctionality( unittest.TestCase ):
payload1[ "String4k" ] = "low values"
payload1[ "String64k" ] = "low values"
payload1[ "String16M" ] = "low values"
payload1[ "String128M" ] = "low values"
folder.storeObject( 5, 15, payload1, 0 )
# Store more data into the IOV table
payload2[ "Bool" ] = True
......@@ -1176,6 +1178,7 @@ class TestCoolFunctionality( unittest.TestCase ):
payload2[ "String4k" ] = "HIGH VALUES"
payload2[ "String64k" ] = "HIGH VALUES"
payload2[ "String16M" ] = "HIGH VALUES"
payload2[ "String128M" ] = "HIGH VALUES"
folder.storeObject( 15, 25, payload2, 0 )
# Retrieve back the two objects
obj1 = folder.findObject( 10, 0 )
......@@ -1191,6 +1194,7 @@ class TestCoolFunctionality( unittest.TestCase ):
hints[cool.StorageType.String4k ] = 4000
hints[cool.StorageType.String64k] = 65535
hints[cool.StorageType.String16M] = 16777215
hints[cool.StorageType.String128M] = 134217727
rspec = cool.RecordSpecification()
for key in hints.keys():
st = cool.StorageType.storageType(key)
......
......@@ -26,6 +26,7 @@ class TestRecordSpecification( unittest.TestCase ):
"String4k",
"String64k",
"String16M",
"String128M",
"Blob64k",
"Blob16M",
"Blob128M" ] :
......
......@@ -1130,7 +1130,8 @@ class TestCoolFunctionality( unittest.TestCase ):
"String255",
"String4k",
"String64k",
"String16M" ]
"String16M",
"String128M" ]
# Create a folder with 13 payload columns
rspec = cool.RecordSpecification()
for t in types:
......@@ -1156,6 +1157,7 @@ class TestCoolFunctionality( unittest.TestCase ):
payload1[ "String4k" ] = "low values"
payload1[ "String64k" ] = "low values"
payload1[ "String16M" ] = "low values"
payload1[ "String128M" ] = "low values"
folder.storeObject( 5, 15, payload1, 0 )
# Store more data into the IOV table
payload2[ "Bool" ] = True
......@@ -1176,6 +1178,7 @@ class TestCoolFunctionality( unittest.TestCase ):
payload2[ "String4k" ] = "HIGH VALUES"
payload2[ "String64k" ] = "HIGH VALUES"
payload2[ "String16M" ] = "HIGH VALUES"
payload2[ "String128M" ] = "HIGH VALUES"
folder.storeObject( 15, 25, payload2, 0 )
# Retrieve back the two objects
obj1 = folder.findObject( 10, 0 )
......@@ -1191,6 +1194,7 @@ class TestCoolFunctionality( unittest.TestCase ):
hints[cool.StorageType.String4k ] = 4000
hints[cool.StorageType.String64k] = 65535
hints[cool.StorageType.String16M] = 16777215
hints[cool.StorageType.String16M] = 134217727
rspec = cool.RecordSpecification()
for key in list(hints.keys()):
st = cool.StorageType.storageType(key)
......
......@@ -26,6 +26,7 @@ class TestRecordSpecification( unittest.TestCase ):
"String4k",
"String64k",
"String16M",
"String128M",
"Blob64k",
"Blob16M",
"Blob128M" ] :
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment