diff --git a/CMakeLists.txt b/CMakeLists.txt index 3b86b4a08..c16d8a09e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -137,7 +137,10 @@ if( NOT ( (DEFINED INSTALL_SYSTEM_FILES) AND ( NOT ( INSTALL_SYSTEM_FILES ) ) ) else() configure_file(${CMAKE_SOURCE_DIR}/etc/init.d/maxscale.in ${CMAKE_BINARY_DIR}/maxscale @ONLY) endif() - if(NOT PACKAGE) + if(PACKAGE) + message(STATUS "maxscale.conf will unpack to: /etc/ld.so.conf.d") + message(STATUS "startup scripts will unpack to to: /etc/init.d") + else() install(FILES ${CMAKE_BINARY_DIR}/maxscale DESTINATION /etc/init.d PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) install(FILES ${CMAKE_BINARY_DIR}/maxscale.conf DESTINATION /etc/ld.so.conf.d @@ -263,3 +266,8 @@ add_custom_target(generate_html -DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH} -P generate-html.cmake COMMENT "Generating HTML files" VERBATIM) + +if(PACKAGE) + message(STATUS "You can install startup scripts and system configuration files for MaxScale by running the 'postinst' shell script located at ${CMAKE_INSTALL_PREFIX}.") + message(STATUS "To remove these installed files, run the 'postrm' shell script located in the same folder.") +endif() diff --git a/Documentation/Design-Documents/Core Object Models.mdj b/Documentation/Design-Documents/Core Object Models.mdj index 96de9ee8a..378c5bca3 100644 --- a/Documentation/Design-Documents/Core Object Models.mdj +++ b/Documentation/Design-Documents/Core Object Models.mdj @@ -15346,11 +15346,11 @@ "containerExtending": true, "left": 0, "top": 0, - "width": 80, + "width": 88, "height": 13, "autoResize": false, "underline": false, - "text": "(from Model2)", + "text": "(from GWBItMASK)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -16574,7 +16574,7 @@ "height": 13, "autoResize": false, "underline": false, - "text": "(from Model3)", + "text": "(from Hashtable)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -17100,11 +17100,11 @@ "containerExtending": true, "left": -108, "top": -48, - "width": 80, + "width": 96, "height": 13, "autoResize": false, "underline": false, - "text": "(from Model3)", + "text": "(from Hashtable)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -18273,11 +18273,11 @@ "containerExtending": true, "left": 1104, "top": -1128, - "width": 80, + "width": 96, "height": 13, "autoResize": false, "underline": false, - "text": "(from Model3)", + "text": "(from Hashtable)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -30613,11 +30613,11 @@ "containerExtending": true, "left": -288, "top": -528, - "width": 80, + "width": 139, "height": 13, "autoResize": false, "underline": false, - "text": "(from Model5)", + "text": "(from MaxScale Session View)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -31114,11 +31114,11 @@ "containerExtending": true, "left": -1116, "top": -756, - "width": 80, + "width": 179, "height": 13, "autoResize": false, "underline": false, - "text": "(from Model5)", + "text": "(from MaxScale Session View)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -31379,11 +31379,11 @@ "containerExtending": true, "left": 384, "top": -168, - "width": 80, + "width": 179, "height": 13, "autoResize": false, "underline": false, - "text": "(from Model5)", + "text": "(from MaxScale Session View)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -31676,11 +31676,11 @@ "containerExtending": true, "left": 288, "top": -960, - "width": 80, + "width": 179, "height": 13, "autoResize": false, "underline": false, - "text": "(from Model5)", + "text": "(from MaxScale Session View)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -32175,11 +32175,11 @@ "containerExtending": true, "left": 216, "top": -312, - "width": 80, + "width": 179, "height": 13, "autoResize": false, "underline": false, - "text": "(from Model5)", + "text": "(from MaxScale Session View)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -32529,11 +32529,11 @@ "containerExtending": true, "left": -768, "top": -936, - "width": 80, + "width": 179, "height": 13, "autoResize": false, "underline": false, - "text": "(from Model5)", + "text": "(from MaxScale Session View)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -32912,11 +32912,11 @@ "containerExtending": true, "left": -60, "top": -468, - "width": 80, + "width": 179, "height": 13, "autoResize": false, "underline": false, - "text": "(from Model5)", + "text": "(from MaxScale Session View)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -33237,11 +33237,11 @@ "containerExtending": true, "left": -108, "top": -516, - "width": 80, + "width": 179, "height": 13, "autoResize": false, "underline": false, - "text": "(from Model5)", + "text": "(from MaxScale Session View)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -36904,11 +36904,11 @@ "containerExtending": true, "left": -108, "top": -24, - "width": 80, + "width": 179, "height": 13, "autoResize": false, "underline": false, - "text": "(from Model5)", + "text": "(from MaxScale Session View)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -38459,7 +38459,7 @@ "_parent": { "$ref": "AAAAAAFF+h6SjaM2Hec=" }, - "name": "Service Start", + "name": "Client Request", "ownedElements": [ { "_type": "UMLInteraction", @@ -40625,11 +40625,11 @@ "containerExtending": true, "left": 0, "top": 0, - "width": 80, + "width": 91, "height": 13, "autoResize": false, "underline": false, - "text": "(from Model6)", + "text": "(from Housekeeper)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -41127,11 +41127,11 @@ "containerExtending": true, "left": -36, "top": 120, - "width": 80, + "width": 114, "height": 13, "autoResize": false, "underline": false, - "text": "(from Model6)", + "text": "(from Housekeeper)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -42638,7 +42638,7 @@ "height": 13, "autoResize": false, "underline": false, - "text": "(from Model7)", + "text": "(from Users)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -42903,7 +42903,7 @@ "height": 13, "autoResize": false, "underline": false, - "text": "(from Model7)", + "text": "(from Users)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -43317,7 +43317,7 @@ "height": 13, "autoResize": false, "underline": false, - "text": "(from Model7)", + "text": "(from Users)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -44550,7 +44550,7 @@ "height": 13, "autoResize": false, "underline": false, - "text": "(from Model7)", + "text": "(from Users)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -45239,7 +45239,7 @@ "height": 13, "autoResize": false, "underline": false, - "text": "(from Model7)", + "text": "(from Users)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -45977,7 +45977,7 @@ "_parent": { "$ref": "AAAAAAFF+h6SjaM2Hec=" }, - "name": "Client Connection", + "name": "Service Start", "ownedElements": [ { "_type": "UMLInteraction", @@ -49077,7 +49077,7 @@ "_parent": { "$ref": "AAAAAAFLWt/mEgmu0+I=" }, - "name": "Interaction1", + "name": "Creating a new connection", "ownedElements": [ { "_type": "UMLSequenceDiagram", @@ -49288,11 +49288,11 @@ "containerExtending": true, "left": 0, "top": 0, - "width": 106, + "width": 191, "height": 13, "autoResize": false, "underline": false, - "text": "(from Interaction1)", + "text": "(from Creating a new connection)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -49665,11 +49665,11 @@ "containerExtending": true, "left": 744, "top": 0, - "width": 106, + "width": 191, "height": 13, "autoResize": false, "underline": false, - "text": "(from Interaction1)", + "text": "(from Creating a new connection)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -49870,11 +49870,11 @@ "containerExtending": true, "left": 24, "top": 0, - "width": 106, + "width": 191, "height": 13, "autoResize": false, "underline": false, - "text": "(from Interaction1)", + "text": "(from Creating a new connection)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -50075,11 +50075,11 @@ "containerExtending": true, "left": -96, "top": -36, - "width": 106, + "width": 191, "height": 13, "autoResize": false, "underline": false, - "text": "(from Interaction1)", + "text": "(from Creating a new connection)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -51556,7 +51556,7 @@ "_parent": { "$ref": "AAAAAAFLXeSzUwsz/Fs=" }, - "name": "Starting a service", + "name": "Creating a session", "ownedElements": [ { "_type": "UMLSequenceDiagram", @@ -51767,11 +51767,11 @@ "containerExtending": true, "left": 0, "top": 0, - "width": 106, + "width": 146, "height": 13, "autoResize": false, "underline": false, - "text": "(from Interaction1)", + "text": "(from Creating a session)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -52144,11 +52144,11 @@ "containerExtending": true, "left": 0, "top": 0, - "width": 106, + "width": 146, "height": 13, "autoResize": false, "underline": false, - "text": "(from Interaction1)", + "text": "(from Creating a session)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -52522,11 +52522,11 @@ "containerExtending": true, "left": 0, "top": 0, - "width": 106, + "width": 146, "height": 13, "autoResize": false, "underline": false, - "text": "(from Interaction1)", + "text": "(from Creating a session)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -52899,11 +52899,11 @@ "containerExtending": true, "left": 0, "top": -36, - "width": 106, + "width": 146, "height": 13, "autoResize": false, "underline": false, - "text": "(from Interaction1)", + "text": "(from Creating a session)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -53448,11 +53448,11 @@ "containerExtending": true, "left": -48, "top": -48, - "width": 106, + "width": 146, "height": 13, "autoResize": false, "underline": false, - "text": "(from Interaction1)", + "text": "(from Creating a session)", "horizontalAlignment": 2, "verticalAlignment": 5 }, @@ -58416,6 +58416,9026 @@ ], "documentation": "Objects relted to query filters", "visibility": "public" + }, + { + "_type": "UMLModel", + "_id": "AAAAAAFLoTmDxC12xQ0=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "ResultSet", + "ownedElements": [ + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFLoTmDxi13i5A=", + "_parent": { + "$ref": "AAAAAAFLoTmDxC12xQ0=" + }, + "name": "Generic MaxScale ResultSet", + "visible": true, + "defaultDiagram": false, + "ownedViews": [ + { + "_type": "UMLClassView", + "_id": "AAAAAAFLoTm3XC19ejY=", + "_parent": { + "$ref": "AAAAAAFLoTmDxi13i5A=" + }, + "model": { + "$ref": "AAAAAAFLoTm3Wy17/Ws=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFLoTm3XS1+4HY=", + "_parent": { + "$ref": "AAAAAAFLoTm3XC19ejY=" + }, + "model": { + "$ref": "AAAAAAFLoTm3Wy17/Ws=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFLoTm3XS1/q+E=", + "_parent": { + "$ref": "AAAAAAFLoTm3XS1+4HY=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoTm3XS2Ak2U=", + "_parent": { + "$ref": "AAAAAAFLoTm3XS1+4HY=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 237, + "top": 407, + "width": 144, + "height": 13, + "autoResize": false, + "underline": false, + "text": "RESULT_COLUMN", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoTm3XS2BD0k=", + "_parent": { + "$ref": "AAAAAAFLoTm3XS1+4HY=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 95, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from ResultSet)", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoTm3XS2Ckio=", + "_parent": { + "$ref": "AAAAAAFLoTm3XS1+4HY=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 232, + "top": 400, + "width": 154, + "height": 25, + "autoResize": false, + "stereotypeLabel": { + "$ref": "AAAAAAFLoTm3XS1/q+E=" + }, + "nameLabel": { + "$ref": "AAAAAAFLoTm3XS2Ak2U=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFLoTm3XS2BD0k=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoTm3XS2Ckio=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFLoTm3XS2Dx+M=", + "_parent": { + "$ref": "AAAAAAFLoTm3XC19ejY=" + }, + "model": { + "$ref": "AAAAAAFLoTm3Wy17/Ws=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAFLoTqfyy3cPgM=", + "_parent": { + "$ref": "AAAAAAFLoTm3XS2Dx+M=" + }, + "model": { + "$ref": "AAAAAAFLoTqfuS3ZwMw=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 237, + "top": 430, + "width": 144, + "height": 13, + "autoResize": false, + "underline": false, + "text": "+name", + "horizontalAlignment": 0, + "verticalAlignment": 5 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAFLoTqxoC3jUds=", + "_parent": { + "$ref": "AAAAAAFLoTm3XS2Dx+M=" + }, + "model": { + "$ref": "AAAAAAFLoTqxlC3gpQ0=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 237, + "top": 445, + "width": 144, + "height": 13, + "autoResize": false, + "underline": false, + "text": "+len", + "horizontalAlignment": 0, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 232, + "top": 425, + "width": 154, + "height": 38, + "autoResize": false + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFLoTm3XS2Endw=", + "_parent": { + "$ref": "AAAAAAFLoTm3XC19ejY=" + }, + "model": { + "$ref": "AAAAAAFLoTm3Wy17/Ws=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFLoT3i6zVaW3k=", + "_parent": { + "$ref": "AAAAAAFLoTm3XS2Endw=" + }, + "model": { + "$ref": "AAAAAAFLoT3i3DVXJvw=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 237, + "top": 468, + "width": 144, + "height": 13, + "autoResize": false, + "underline": false, + "text": "+resultset_column_free()", + "horizontalAlignment": 0, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 232, + "top": 463, + "width": 154, + "height": 23, + "autoResize": false + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFLoTm3Xi2FpB0=", + "_parent": { + "$ref": "AAAAAAFLoTm3XC19ejY=" + }, + "model": { + "$ref": "AAAAAAFLoTm3Wy17/Ws=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 10, + "height": 10, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 232, + "top": 400, + "width": 154, + "height": 86, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFLoTm3XS1+4HY=" + }, + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFLoTm3XS2Dx+M=" + }, + "operationCompartment": { + "$ref": "AAAAAAFLoTm3XS2Endw=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFLoTm3Xi2FpB0=" + } + }, + { + "_type": "UMLEnumerationView", + "_id": "AAAAAAFLoToday2j5iQ=", + "_parent": { + "$ref": "AAAAAAFLoTmDxi13i5A=" + }, + "model": { + "$ref": "AAAAAAFLoTodai2hEi8=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFLoToday2kxzc=", + "_parent": { + "$ref": "AAAAAAFLoToday2j5iQ=" + }, + "model": { + "$ref": "AAAAAAFLoTodai2hEi8=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFLoToday2lQy4=", + "_parent": { + "$ref": "AAAAAAFLoToday2kxzc=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 153, + "top": 601, + "width": 151, + "height": 13, + "autoResize": false, + "underline": false, + "text": "«enumeration»", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoToday2m+HE=", + "_parent": { + "$ref": "AAAAAAFLoToday2kxzc=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 153, + "top": 616, + "width": 151, + "height": 13, + "autoResize": false, + "underline": false, + "text": "RESULT_COL_TYPE", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoToday2nhS0=", + "_parent": { + "$ref": "AAAAAAFLoToday2kxzc=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": -1188, + "top": 636, + "width": 95, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from ResultSet)", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoToday2o8go=", + "_parent": { + "$ref": "AAAAAAFLoToday2kxzc=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": -1188, + "top": 636, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 148, + "top": 596, + "width": 161, + "height": 38, + "autoResize": false, + "stereotypeLabel": { + "$ref": "AAAAAAFLoToday2lQy4=" + }, + "nameLabel": { + "$ref": "AAAAAAFLoToday2m+HE=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFLoToday2nhS0=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoToday2o8go=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFLoToday2pCsg=", + "_parent": { + "$ref": "AAAAAAFLoToday2j5iQ=" + }, + "model": { + "$ref": "AAAAAAFLoTodai2hEi8=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": -792, + "top": 424, + "width": 10, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFLoToday2qrZc=", + "_parent": { + "$ref": "AAAAAAFLoToday2j5iQ=" + }, + "model": { + "$ref": "AAAAAAFLoTodai2hEi8=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": -792, + "top": 424, + "width": 10, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFLoTodbC2rHo8=", + "_parent": { + "$ref": "AAAAAAFLoToday2j5iQ=" + }, + "model": { + "$ref": "AAAAAAFLoTodai2hEi8=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": -792, + "top": 424, + "width": 10, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLEnumerationLiteralCompartmentView", + "_id": "AAAAAAFLoTodbC2sqUs=", + "_parent": { + "$ref": "AAAAAAFLoToday2j5iQ=" + }, + "model": { + "$ref": "AAAAAAFLoTodai2hEi8=" + }, + "subViews": [ + { + "_type": "UMLEnumerationLiteralView", + "_id": "AAAAAAFLoTpC2S3OUVo=", + "_parent": { + "$ref": "AAAAAAFLoTodbC2sqUs=" + }, + "model": { + "$ref": "AAAAAAFLoTpCyC3L5v4=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 153, + "top": 639, + "width": 151, + "height": 13, + "autoResize": false, + "underline": false, + "text": "COL_TYE_VARCHAR", + "horizontalAlignment": 0, + "verticalAlignment": 5 + }, + { + "_type": "UMLEnumerationLiteralView", + "_id": "AAAAAAFLoTpinS3V36k=", + "_parent": { + "$ref": "AAAAAAFLoTodbC2sqUs=" + }, + "model": { + "$ref": "AAAAAAFLoTpilC3Sz+A=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 153, + "top": 654, + "width": 151, + "height": 13, + "autoResize": false, + "underline": false, + "text": "COL_TYPE_VARSTRING", + "horizontalAlignment": 0, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 148, + "top": 634, + "width": 161, + "height": 38, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 148, + "top": 596, + "width": 161, + "height": 76, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFLoToday2kxzc=" + }, + "wordWrap": false, + "suppressAttributes": true, + "suppressOperations": true, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFLoToday2pCsg=" + }, + "operationCompartment": { + "$ref": "AAAAAAFLoToday2qrZc=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFLoTodbC2rHo8=" + }, + "suppressLiterals": false, + "enumerationLiteralCompartment": { + "$ref": "AAAAAAFLoTodbC2sqUs=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFLoTsZpi61p+U=", + "_parent": { + "$ref": "AAAAAAFLoTmDxi13i5A=" + }, + "model": { + "$ref": "AAAAAAFLoTsZpS6x7x4=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTsZpi62gYs=", + "_parent": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "model": { + "$ref": "AAAAAAFLoTsZpS6x7x4=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 236, + "top": 527, + "width": 33, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "edgePosition": 1, + "underline": false, + "text": "+type", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTsZpi635mo=", + "_parent": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "model": { + "$ref": "AAAAAAFLoTsZpS6x7x4=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 238, + "top": 521, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTsZpi640Oc=", + "_parent": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "model": { + "$ref": "AAAAAAFLoTsZpS6x7x4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 279, + "top": 540, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTsZpi65lRY=", + "_parent": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "model": { + "$ref": "AAAAAAFLoTsZpS6ySUw=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 239.91623036649216, + "top": 559, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTsZpi661K0=", + "_parent": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "model": { + "$ref": "AAAAAAFLoTsZpS6ySUw=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 227.91623036649216, + "top": 551, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTsZpi67a10=", + "_parent": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "model": { + "$ref": "AAAAAAFLoTsZpS6ySUw=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 262.9162303664922, + "top": 573, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTsZpi68CXo=", + "_parent": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "model": { + "$ref": "AAAAAAFLoTsZpS6zyqA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 265.57068062827227, + "top": 498, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTsZpi69xt4=", + "_parent": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "model": { + "$ref": "AAAAAAFLoTsZpS6zyqA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 251.57068062827227, + "top": 495, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTsZpi6+UnQ=", + "_parent": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "model": { + "$ref": "AAAAAAFLoTsZpS6zyqA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 292.57068062827227, + "top": 504, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFLoTsZpi6/rvc=", + "_parent": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "model": { + "$ref": "AAAAAAFLoTsZpS6ySUw=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 10, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFLoTsZpi7An0s=", + "_parent": { + "$ref": "AAAAAAFLoTsZpi61p+U=" + }, + "model": { + "$ref": "AAAAAAFLoTsZpS6zyqA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 10, + "height": 10, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoTm3XC19ejY=" + }, + "tail": { + "$ref": "AAAAAAFLoToday2j5iQ=" + }, + "lineStyle": 1, + "points": "243.91623036649216:595;289.57068062827227:486", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFLoTsZpi62gYs=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoTsZpi635mo=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoTsZpi640Oc=" + }, + "showMultiplicity": true, + "tailRoleNameLabel": { + "$ref": "AAAAAAFLoTsZpi65lRY=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFLoTsZpi661K0=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFLoTsZpi67a10=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFLoTsZpi68CXo=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFLoTsZpi69xt4=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFLoTsZpi6+UnQ=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFLoTsZpi6/rvc=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFLoTsZpi7An0s=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFLoTtCMi8XYR0=", + "_parent": { + "$ref": "AAAAAAFLoTmDxi13i5A=" + }, + "model": { + "$ref": "AAAAAAFLoTtCMi8TlQo=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTtCMi8YHDU=", + "_parent": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "model": { + "$ref": "AAAAAAFLoTtCMi8TlQo=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 418, + "top": 373, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTtCMi8Zcn4=", + "_parent": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "model": { + "$ref": "AAAAAAFLoTtCMi8TlQo=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 433, + "top": 373, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTtCMi8asIo=", + "_parent": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "model": { + "$ref": "AAAAAAFLoTtCMi8TlQo=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 389, + "top": 374, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTtCMi8bXyQ=", + "_parent": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "model": { + "$ref": "AAAAAAFLoTtCMi8UXVY=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 355, + "top": 359, + "width": 33, + "height": 13, + "autoResize": false, + "alpha": -0.4398423236089102, + "distance": 37.57658845611187, + "hostEdge": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "edgePosition": 2, + "underline": false, + "text": "+next", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTtCMi8c6AU=", + "_parent": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "model": { + "$ref": "AAAAAAFLoTtCMi8UXVY=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 327, + "top": 365, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTtCMi8dceU=", + "_parent": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "model": { + "$ref": "AAAAAAFLoTtCMi8UXVY=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 368, + "top": 372, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTtCMi8e+QQ=", + "_parent": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "model": { + "$ref": "AAAAAAFLoTtCMi8V/XU=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 410, + "top": 424, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTtCMi8foL4=", + "_parent": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "model": { + "$ref": "AAAAAAFLoTtCMi8V/XU=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 413, + "top": 438, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoTtCMi8grPw=", + "_parent": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "model": { + "$ref": "AAAAAAFLoTtCMi8V/XU=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 406, + "top": 397, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFLoTtCMi8hWAQ=", + "_parent": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "model": { + "$ref": "AAAAAAFLoTtCMi8UXVY=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 10, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFLoTtCMi8ixSc=", + "_parent": { + "$ref": "AAAAAAFLoTtCMi8XYR0=" + }, + "model": { + "$ref": "AAAAAAFLoTtCMi8V/XU=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 10, + "height": 10, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoTm3XC19ejY=" + }, + "tail": { + "$ref": "AAAAAAFLoTm3XC19ejY=" + }, + "lineStyle": 0, + "points": "356:400;356:380;404:380;404:416;385:416", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFLoTtCMi8YHDU=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoTtCMi8Zcn4=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoTtCMi8asIo=" + }, + "showMultiplicity": true, + "tailRoleNameLabel": { + "$ref": "AAAAAAFLoTtCMi8bXyQ=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFLoTtCMi8c6AU=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFLoTtCMi8dceU=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFLoTtCMi8e+QQ=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFLoTtCMi8foL4=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFLoTtCMi8grPw=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFLoTtCMi8hWAQ=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFLoTtCMi8ixSc=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFLoTuYmzAZtCo=", + "_parent": { + "$ref": "AAAAAAFLoTmDxi13i5A=" + }, + "model": { + "$ref": "AAAAAAFLoTuYmzAXmfM=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFLoTuYmzAajV8=", + "_parent": { + "$ref": "AAAAAAFLoTuYmzAZtCo=" + }, + "model": { + "$ref": "AAAAAAFLoTuYmzAXmfM=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFLoTuYnDAbH1Q=", + "_parent": { + "$ref": "AAAAAAFLoTuYmzAajV8=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": -192, + "top": -840, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoTuYnDAcakU=", + "_parent": { + "$ref": "AAAAAAFLoTuYmzAajV8=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 65, + "top": 435, + "width": 122, + "height": 13, + "autoResize": false, + "underline": false, + "text": "RESULT_ROW", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoTuYnDAdsvg=", + "_parent": { + "$ref": "AAAAAAFLoTuYmzAajV8=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": -192, + "top": -840, + "width": 95, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from ResultSet)", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoTuYnDAeuLI=", + "_parent": { + "$ref": "AAAAAAFLoTuYmzAajV8=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": -192, + "top": -840, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 60, + "top": 428, + "width": 132, + "height": 25, + "autoResize": false, + "stereotypeLabel": { + "$ref": "AAAAAAFLoTuYnDAbH1Q=" + }, + "nameLabel": { + "$ref": "AAAAAAFLoTuYnDAcakU=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFLoTuYnDAdsvg=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoTuYnDAeuLI=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFLoTuYnDAfEYY=", + "_parent": { + "$ref": "AAAAAAFLoTuYmzAZtCo=" + }, + "model": { + "$ref": "AAAAAAFLoTuYmzAXmfM=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAFLoTu1vzCIB0E=", + "_parent": { + "$ref": "AAAAAAFLoTuYnDAfEYY=" + }, + "model": { + "$ref": "AAAAAAFLoTu1sTB/JjU=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 65, + "top": 458, + "width": 122, + "height": 13, + "autoResize": false, + "underline": false, + "text": "+n_cols", + "horizontalAlignment": 0, + "verticalAlignment": 5 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAFLoTvN9zDdMgs=", + "_parent": { + "$ref": "AAAAAAFLoTuYnDAfEYY=" + }, + "model": { + "$ref": "AAAAAAFLoTvN7DDU/TQ=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 65, + "top": 473, + "width": 122, + "height": 13, + "autoResize": false, + "underline": false, + "text": "+cols", + "horizontalAlignment": 0, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 60, + "top": 453, + "width": 132, + "height": 38, + "autoResize": false + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFLoTuYnDAgcoM=", + "_parent": { + "$ref": "AAAAAAFLoTuYmzAZtCo=" + }, + "model": { + "$ref": "AAAAAAFLoTuYmzAXmfM=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFLoT48ZTXfJN0=", + "_parent": { + "$ref": "AAAAAAFLoTuYnDAgcoM=" + }, + "model": { + "$ref": "AAAAAAFLoT48VDXWJDg=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 65, + "top": 496, + "width": 122, + "height": 13, + "autoResize": false, + "underline": false, + "text": "+resultset_free_row()", + "horizontalAlignment": 0, + "verticalAlignment": 5 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAFLoT5mljY0L4Y=", + "_parent": { + "$ref": "AAAAAAFLoTuYnDAgcoM=" + }, + "model": { + "$ref": "AAAAAAFLoT5miTYrknc=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 65, + "top": 511, + "width": 122, + "height": 13, + "autoResize": false, + "underline": false, + "text": "+resultset_row_set()", + "horizontalAlignment": 0, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 60, + "top": 491, + "width": 132, + "height": 38, + "autoResize": false + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFLoTuYnDAhWdU=", + "_parent": { + "$ref": "AAAAAAFLoTuYmzAZtCo=" + }, + "model": { + "$ref": "AAAAAAFLoTuYmzAXmfM=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": -128, + "top": -560, + "width": 10, + "height": 10, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 60, + "top": 428, + "width": 132, + "height": 101, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFLoTuYmzAajV8=" + }, + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFLoTuYnDAfEYY=" + }, + "operationCompartment": { + "$ref": "AAAAAAFLoTuYnDAgcoM=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFLoTuYnDAhWdU=" + } + }, + { + "_type": "UMLClassView", + "_id": "AAAAAAFLoTwYmDFDeGk=", + "_parent": { + "$ref": "AAAAAAFLoTmDxi13i5A=" + }, + "model": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFLoTwYmDFEpek=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFDeGk=" + }, + "model": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFLoTwYmDFFxKI=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFEpek=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": -240, + "top": -348, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoTwYmDFGlkQ=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFEpek=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 113, + "top": 127, + "width": 155, + "height": 13, + "autoResize": false, + "underline": false, + "text": "RESULTSET", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoTwYmDFHF4g=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFEpek=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": -240, + "top": -348, + "width": 95, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from ResultSet)", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoTwYmDFICCY=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFEpek=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": -240, + "top": -348, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 108, + "top": 120, + "width": 165, + "height": 25, + "autoResize": false, + "stereotypeLabel": { + "$ref": "AAAAAAFLoTwYmDFFxKI=" + }, + "nameLabel": { + "$ref": "AAAAAAFLoTwYmDFGlkQ=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFLoTwYmDFHF4g=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoTwYmDFICCY=" + } + }, + { + "_type": "UMLAttributeCompartmentView", + "_id": "AAAAAAFLoTwYmDFJvvo=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFDeGk=" + }, + "model": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "subViews": [ + { + "_type": "UMLAttributeView", + "_id": "AAAAAAFLoTw1bDGyBSk=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFJvvo=" + }, + "model": { + "$ref": "AAAAAAFLoTw1XjGpAN8=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 113, + "top": 150, + "width": 155, + "height": 13, + "autoResize": false, + "underline": false, + "text": "+n_cols", + "horizontalAlignment": 0, + "verticalAlignment": 5 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAFLoTxZlDIHSsY=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFJvvo=" + }, + "model": { + "$ref": "AAAAAAFLoTxZijH+EHw=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 113, + "top": 165, + "width": 155, + "height": 13, + "autoResize": false, + "underline": false, + "text": "+fetchrow", + "horizontalAlignment": 0, + "verticalAlignment": 5 + }, + { + "_type": "UMLAttributeView", + "_id": "AAAAAAFLoTxt6DJcRVk=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFJvvo=" + }, + "model": { + "$ref": "AAAAAAFLoTxt3DJTUTg=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 113, + "top": 180, + "width": 155, + "height": 13, + "autoResize": false, + "underline": false, + "text": "+userdata", + "horizontalAlignment": 0, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 108, + "top": 145, + "width": 165, + "height": 53, + "autoResize": false + }, + { + "_type": "UMLOperationCompartmentView", + "_id": "AAAAAAFLoTwYmDFKIyk=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFDeGk=" + }, + "model": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "subViews": [ + { + "_type": "UMLOperationView", + "_id": "AAAAAAFLoTyS7zLb4qc=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFKIyk=" + }, + "model": { + "$ref": "AAAAAAFLoTyS2zLSdnk=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 113, + "top": 203, + "width": 155, + "height": 13, + "autoResize": false, + "underline": false, + "text": "+resultset_create()", + "horizontalAlignment": 0, + "verticalAlignment": 5 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAFLoTys0DMwNXc=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFKIyk=" + }, + "model": { + "$ref": "AAAAAAFLoTyswjMnVUs=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 113, + "top": 218, + "width": 155, + "height": 13, + "autoResize": false, + "underline": false, + "text": "+resultset_free()", + "horizontalAlignment": 0, + "verticalAlignment": 5 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAFLoTzCKzOFw9U=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFKIyk=" + }, + "model": { + "$ref": "AAAAAAFLoTzCHjN8I9w=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 113, + "top": 233, + "width": 155, + "height": 13, + "autoResize": false, + "underline": false, + "text": "+resultset_add_column()", + "horizontalAlignment": 0, + "verticalAlignment": 5 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAFLoT16dzTPTSo=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFKIyk=" + }, + "model": { + "$ref": "AAAAAAFLoT16XTTGf4Q=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 113, + "top": 248, + "width": 155, + "height": 13, + "autoResize": false, + "underline": false, + "text": "+resultset_make_row()", + "horizontalAlignment": 0, + "verticalAlignment": 5 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAFLoT6Wmjazo8o=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFKIyk=" + }, + "model": { + "$ref": "AAAAAAFLoT6WiDaq9eI=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 113, + "top": 263, + "width": 155, + "height": 13, + "autoResize": false, + "underline": false, + "text": "+resultset_stream_mysql()", + "horizontalAlignment": 0, + "verticalAlignment": 5 + }, + { + "_type": "UMLOperationView", + "_id": "AAAAAAFLoT7KPzcItQU=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFKIyk=" + }, + "model": { + "$ref": "AAAAAAFLoT7KNjb/OAA=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 113, + "top": 278, + "width": 155, + "height": 13, + "autoResize": false, + "underline": false, + "text": "+resultset_stream_json()", + "horizontalAlignment": 0, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 108, + "top": 198, + "width": 165, + "height": 98, + "autoResize": false + }, + { + "_type": "UMLTemplateParameterCompartmentView", + "_id": "AAAAAAFLoTwYmDFL/s8=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFDeGk=" + }, + "model": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": -160, + "top": -232, + "width": 10, + "height": 10, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 108, + "top": 120, + "width": 165, + "height": 176, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFLoTwYmDFEpek=" + }, + "wordWrap": false, + "suppressAttributes": false, + "suppressOperations": false, + "showMultiplicity": true, + "showOperationSignature": true, + "attributeCompartment": { + "$ref": "AAAAAAFLoTwYmDFJvvo=" + }, + "operationCompartment": { + "$ref": "AAAAAAFLoTwYmDFKIyk=" + }, + "templateParameterCompartment": { + "$ref": "AAAAAAFLoTwYmDFL/s8=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFLoT9F7DiMFQk=", + "_parent": { + "$ref": "AAAAAAFLoTmDxi13i5A=" + }, + "model": { + "$ref": "AAAAAAFLoT9F6ziI19c=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoT9F7DiNxjk=", + "_parent": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "model": { + "$ref": "AAAAAAFLoT9F6ziI19c=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 270, + "top": 331, + "width": 50, + "height": 13, + "autoResize": false, + "alpha": 4.496694915485201, + "distance": 37.107950630558946, + "hostEdge": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "edgePosition": 1, + "underline": false, + "text": "+column", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoT9F7DiOfgQ=", + "_parent": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "model": { + "$ref": "AAAAAAFLoT9F6ziI19c=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 233, + "top": 354, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoT9F7DiPZ7o=", + "_parent": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "model": { + "$ref": "AAAAAAFLoT9F6ziI19c=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 273, + "top": 334, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoT9F7DiQuvQ=", + "_parent": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "model": { + "$ref": "AAAAAAFLoT9F6ziJr6w=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 260.40851063829786, + "top": 376, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoT9F7DiRJY0=", + "_parent": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "model": { + "$ref": "AAAAAAFLoT9F6ziJr6w=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 248.40851063829786, + "top": 380, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoT9F7DiS6PU=", + "_parent": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "model": { + "$ref": "AAAAAAFLoT9F6ziJr6w=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 284.40851063829786, + "top": 368, + "width": 7, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "edgePosition": 2, + "underline": false, + "text": "1", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoT9F7DiTvgI=", + "_parent": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "model": { + "$ref": "AAAAAAFLoT9F6ziKuPs=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 232.68936170212766, + "top": 319, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoT9F7DiUGC8=", + "_parent": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "model": { + "$ref": "AAAAAAFLoT9F6ziKuPs=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 221.68936170212766, + "top": 327, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoT9F7DiVkag=", + "_parent": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "model": { + "$ref": "AAAAAAFLoT9F6ziKuPs=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 246.68936170212766, + "top": 302, + "width": 22, + "height": 13, + "autoResize": false, + "alpha": 0.596723675248666, + "distance": 26.69055746615707, + "hostEdge": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "edgePosition": 0, + "underline": false, + "text": "0..1", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFLoT9F7DiW5FY=", + "_parent": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "model": { + "$ref": "AAAAAAFLoT9F6ziJr6w=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 10, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFLoT9F7DiXFMA=", + "_parent": { + "$ref": "AAAAAAFLoT9F7DiMFQk=" + }, + "model": { + "$ref": "AAAAAAFLoT9F6ziKuPs=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 10, + "height": 10, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoTwYmDFDeGk=" + }, + "tail": { + "$ref": "AAAAAAFLoTm3XC19ejY=" + }, + "lineStyle": 1, + "points": "286.40851063829786:399;234.68936170212766:296", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFLoT9F7DiNxjk=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoT9F7DiOfgQ=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoT9F7DiPZ7o=" + }, + "showMultiplicity": true, + "tailRoleNameLabel": { + "$ref": "AAAAAAFLoT9F7DiQuvQ=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFLoT9F7DiRJY0=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFLoT9F7DiS6PU=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFLoT9F7DiTvgI=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFLoT9F7DiUGC8=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFLoT9F7DiVkag=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFLoT9F7DiW5FY=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFLoT9F7DiXFMA=" + } + }, + { + "_type": "UMLAssociationView", + "_id": "AAAAAAFLoUAHGjs1YnU=", + "_parent": { + "$ref": "AAAAAAFLoTmDxi13i5A=" + }, + "model": { + "$ref": "AAAAAAFLoUAHGTsxLRM=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUAHGjs2ciM=", + "_parent": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "model": { + "$ref": "AAAAAAFLoUAHGTsxLRM=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 166, + "top": 358, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUAHGjs357w=", + "_parent": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "model": { + "$ref": "AAAAAAFLoUAHGTsxLRM=" + }, + "visible": null, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 181, + "top": 361, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUAHGjs4Cq0=", + "_parent": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "model": { + "$ref": "AAAAAAFLoUAHGTsxLRM=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 137, + "top": 351, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 15, + "hostEdge": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUAHGjs5EaM=", + "_parent": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "model": { + "$ref": "AAAAAAFLoUAHGTsyEcM=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 176.6531365313653, + "top": 318, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUAHGjs6V/4=", + "_parent": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "model": { + "$ref": "AAAAAAFLoUAHGTsyEcM=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 188.6531365313653, + "top": 324, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUAHGjs7uAY=", + "_parent": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "model": { + "$ref": "AAAAAAFLoUAHGTsyEcM=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 150.6531365313653, + "top": 308, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "edgePosition": 2, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUAHGjs8tW0=", + "_parent": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "model": { + "$ref": "AAAAAAFLoUAHGTszgzs=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 157.23247232472323, + "top": 399, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.5235987755982988, + "distance": 30, + "hostEdge": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUAHGjs9dxM=", + "_parent": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "model": { + "$ref": "AAAAAAFLoUAHGTszgzs=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 171.23247232472323, + "top": 400, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -0.7853981633974483, + "distance": 40, + "hostEdge": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUAHGjs+Q/I=", + "_parent": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "model": { + "$ref": "AAAAAAFLoUAHGTszgzs=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 129.23247232472323, + "top": 397, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 0.5235987755982988, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "edgePosition": 0, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFLoUAHGjs/QP4=", + "_parent": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "model": { + "$ref": "AAAAAAFLoUAHGTsyEcM=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 10, + "height": 10, + "autoResize": false + }, + { + "_type": "UMLQualifierCompartmentView", + "_id": "AAAAAAFLoUAHGztAMr0=", + "_parent": { + "$ref": "AAAAAAFLoUAHGjs1YnU=" + }, + "model": { + "$ref": "AAAAAAFLoUAHGTszgzs=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 10, + "height": 10, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoTuYmzAZtCo=" + }, + "tail": { + "$ref": "AAAAAAFLoTwYmDFDeGk=" + }, + "lineStyle": 1, + "points": "168.6531365313653:296;137.23247232472323:427", + "stereotypeDisplay": "label", + "showVisibility": true, + "showProperty": true, + "nameLabel": { + "$ref": "AAAAAAFLoUAHGjs2ciM=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoUAHGjs357w=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoUAHGjs4Cq0=" + }, + "showMultiplicity": true, + "tailRoleNameLabel": { + "$ref": "AAAAAAFLoUAHGjs5EaM=" + }, + "tailPropertyLabel": { + "$ref": "AAAAAAFLoUAHGjs6V/4=" + }, + "tailMultiplicityLabel": { + "$ref": "AAAAAAFLoUAHGjs7uAY=" + }, + "headRoleNameLabel": { + "$ref": "AAAAAAFLoUAHGjs8tW0=" + }, + "headPropertyLabel": { + "$ref": "AAAAAAFLoUAHGjs9dxM=" + }, + "headMultiplicityLabel": { + "$ref": "AAAAAAFLoUAHGjs+Q/I=" + }, + "tailQualifiersCompartment": { + "$ref": "AAAAAAFLoUAHGjs/QP4=" + }, + "headQualifiersCompartment": { + "$ref": "AAAAAAFLoUAHGztAMr0=" + } + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFLoTm3Wy17/Ws=", + "_parent": { + "$ref": "AAAAAAFLoTmDxC12xQ0=" + }, + "name": "RESULT_COLUMN", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFLoTtCMi8TlQo=", + "_parent": { + "$ref": "AAAAAAFLoTm3Wy17/Ws=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFLoTtCMi8UXVY=", + "_parent": { + "$ref": "AAAAAAFLoTtCMi8TlQo=" + }, + "name": "next", + "reference": { + "$ref": "AAAAAAFLoTm3Wy17/Ws=" + }, + "visibility": "public", + "navigable": false, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFLoTtCMi8V/XU=", + "_parent": { + "$ref": "AAAAAAFLoTtCMi8TlQo=" + }, + "reference": { + "$ref": "AAAAAAFLoTm3Wy17/Ws=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + }, + { + "_type": "UMLAssociation", + "_id": "AAAAAAFLoT9F6ziI19c=", + "_parent": { + "$ref": "AAAAAAFLoTm3Wy17/Ws=" + }, + "name": "column", + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFLoT9F6ziJr6w=", + "_parent": { + "$ref": "AAAAAAFLoT9F6ziI19c=" + }, + "reference": { + "$ref": "AAAAAAFLoTm3Wy17/Ws=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "multiplicity": "1", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFLoT9F6ziKuPs=", + "_parent": { + "$ref": "AAAAAAFLoT9F6ziI19c=" + }, + "reference": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "shared", + "multiplicity": "0..1", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + } + ], + "visibility": "public", + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAFLoTqfuS3ZwMw=", + "_parent": { + "$ref": "AAAAAAFLoTm3Wy17/Ws=" + }, + "name": "name", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "aggregation": "none", + "isID": false + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAFLoTqxlC3gpQ0=", + "_parent": { + "$ref": "AAAAAAFLoTm3Wy17/Ws=" + }, + "name": "len", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "aggregation": "none", + "isID": false + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFLoT3i3DVXJvw=", + "_parent": { + "$ref": "AAAAAAFLoTm3Wy17/Ws=" + }, + "name": "resultset_column_free", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "concurrency": "sequential", + "isQuery": false, + "isAbstract": false + } + ], + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLEnumeration", + "_id": "AAAAAAFLoTodai2hEi8=", + "_parent": { + "$ref": "AAAAAAFLoTmDxC12xQ0=" + }, + "name": "RESULT_COL_TYPE", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFLoTsZpS6x7x4=", + "_parent": { + "$ref": "AAAAAAFLoTodai2hEi8=" + }, + "name": "type", + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFLoTsZpS6ySUw=", + "_parent": { + "$ref": "AAAAAAFLoTsZpS6x7x4=" + }, + "reference": { + "$ref": "AAAAAAFLoTodai2hEi8=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFLoTsZpS6zyqA=", + "_parent": { + "$ref": "AAAAAAFLoTsZpS6x7x4=" + }, + "reference": { + "$ref": "AAAAAAFLoTm3Wy17/Ws=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "composite", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + } + ], + "visibility": "public", + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "literals": [ + { + "_type": "UMLEnumerationLiteral", + "_id": "AAAAAAFLoTpCyC3L5v4=", + "_parent": { + "$ref": "AAAAAAFLoTodai2hEi8=" + }, + "name": "COL_TYE_VARCHAR", + "visibility": "public" + }, + { + "_type": "UMLEnumerationLiteral", + "_id": "AAAAAAFLoTpilC3Sz+A=", + "_parent": { + "$ref": "AAAAAAFLoTodai2hEi8=" + }, + "name": "COL_TYPE_VARSTRING", + "visibility": "public" + } + ] + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFLoTuYmzAXmfM=", + "_parent": { + "$ref": "AAAAAAFLoTmDxC12xQ0=" + }, + "name": "RESULT_ROW", + "visibility": "public", + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAFLoTu1sTB/JjU=", + "_parent": { + "$ref": "AAAAAAFLoTuYmzAXmfM=" + }, + "name": "n_cols", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "aggregation": "none", + "isID": false + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAFLoTvN7DDU/TQ=", + "_parent": { + "$ref": "AAAAAAFLoTuYmzAXmfM=" + }, + "name": "cols", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "aggregation": "none", + "isID": false + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFLoT48VDXWJDg=", + "_parent": { + "$ref": "AAAAAAFLoTuYmzAXmfM=" + }, + "name": "resultset_free_row", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "concurrency": "sequential", + "isQuery": false, + "isAbstract": false + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFLoT5miTYrknc=", + "_parent": { + "$ref": "AAAAAAFLoTuYmzAXmfM=" + }, + "name": "resultset_row_set", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "concurrency": "sequential", + "isQuery": false, + "isAbstract": false + } + ], + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + }, + { + "_type": "UMLClass", + "_id": "AAAAAAFLoTwYmDFB0lA=", + "_parent": { + "$ref": "AAAAAAFLoTmDxC12xQ0=" + }, + "name": "RESULTSET", + "ownedElements": [ + { + "_type": "UMLAssociation", + "_id": "AAAAAAFLoUAHGTsxLRM=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "end1": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFLoUAHGTsyEcM=", + "_parent": { + "$ref": "AAAAAAFLoUAHGTsxLRM=" + }, + "reference": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "end2": { + "_type": "UMLAssociationEnd", + "_id": "AAAAAAFLoUAHGTszgzs=", + "_parent": { + "$ref": "AAAAAAFLoUAHGTsxLRM=" + }, + "reference": { + "$ref": "AAAAAAFLoTuYmzAXmfM=" + }, + "visibility": "public", + "navigable": true, + "aggregation": "none", + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "isID": false + }, + "visibility": "public", + "isDerived": false + } + ], + "visibility": "public", + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAFLoTw1XjGpAN8=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "name": "n_cols", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "aggregation": "none", + "isID": false + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAFLoTxZijH+EHw=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "name": "fetchrow", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "aggregation": "none", + "isID": false + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAFLoTxt3DJTUTg=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "name": "userdata", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "aggregation": "none", + "isID": false + } + ], + "operations": [ + { + "_type": "UMLOperation", + "_id": "AAAAAAFLoTyS2zLSdnk=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "name": "resultset_create", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "concurrency": "sequential", + "isQuery": false, + "isAbstract": false + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFLoTyswjMnVUs=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "name": "resultset_free", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "concurrency": "sequential", + "isQuery": false, + "isAbstract": false + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFLoTzCHjN8I9w=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "name": "resultset_add_column", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "concurrency": "sequential", + "isQuery": false, + "isAbstract": false + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFLoT16XTTGf4Q=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "name": "resultset_make_row", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "concurrency": "sequential", + "isQuery": false, + "isAbstract": false + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFLoT6WiDaq9eI=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "name": "resultset_stream_mysql", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "concurrency": "sequential", + "isQuery": false, + "isAbstract": false + }, + { + "_type": "UMLOperation", + "_id": "AAAAAAFLoT7KNjb/OAA=", + "_parent": { + "$ref": "AAAAAAFLoTwYmDFB0lA=" + }, + "name": "resultset_stream_json", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "concurrency": "sequential", + "isQuery": false, + "isAbstract": false + } + ], + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false, + "isActive": false + } + ], + "visibility": "public" + }, + { + "_type": "UMLCollaboration", + "_id": "AAAAAAFLoUfdzj4jZLE=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Collaboration1", + "ownedElements": [ + { + "_type": "UMLInteraction", + "_id": "AAAAAAFLoUfdzj4kL6Q=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4jZLE=" + }, + "name": "Interaction1", + "ownedElements": [ + { + "_type": "UMLSequenceDiagram", + "_id": "AAAAAAFLoUfdzz4lXdc=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "ResultSet Usage", + "visible": true, + "defaultDiagram": false, + "ownedViews": [ + { + "_type": "UMLFrameView", + "_id": "AAAAAAFLoUfdzz4mf9U=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFLoUfdzz4nbro=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4mf9U=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 91, + "top": 25, + "width": 99, + "height": 13, + "autoResize": false, + "underline": false, + "text": "ResultSet Usage", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoUfdzz4odE0=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4mf9U=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 25, + "top": 25, + "width": 61, + "height": 13, + "autoResize": false, + "underline": false, + "text": "interaction", + "horizontalAlignment": 2, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 20, + "top": 20, + "width": 1009, + "height": 997, + "autoResize": false, + "nameLabel": { + "$ref": "AAAAAAFLoUfdzz4nbro=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAFLoUfdzz4odE0=" + } + }, + { + "_type": "UMLGateView", + "_id": "AAAAAAFLoUi+iD6K3yk=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoUi+hz6IkgU=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 32, + "top": 137.5, + "width": 15, + "height": 15, + "autoResize": false + }, + { + "_type": "UMLSeqLifelineView", + "_id": "AAAAAAFLoUjnDD6QWz4=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoUjnDD6Pxeo=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFLoUjnDT6Rnik=", + "_parent": { + "$ref": "AAAAAAFLoUjnDD6QWz4=" + }, + "model": { + "$ref": "AAAAAAFLoUjnDD6Pxeo=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFLoUjnDT6SjME=", + "_parent": { + "$ref": "AAAAAAFLoUjnDT6Rnik=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoUjnDT6T+Xk=", + "_parent": { + "$ref": "AAAAAAFLoUjnDT6Rnik=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 165, + "top": 75, + "width": 102, + "height": 13, + "autoResize": false, + "underline": false, + "text": "StatusProvider", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoUjnDT6UEgg=", + "_parent": { + "$ref": "AAAAAAFLoUjnDT6Rnik=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 106, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from Interaction1)", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoUjnED6VfHM=", + "_parent": { + "$ref": "AAAAAAFLoUjnDT6Rnik=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 160, + "top": 68, + "width": 112, + "height": 40, + "autoResize": false, + "stereotypeLabel": { + "$ref": "AAAAAAFLoUjnDT6SjME=" + }, + "nameLabel": { + "$ref": "AAAAAAFLoUjnDT6T+Xk=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFLoUjnDT6UEgg=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoUjnED6VfHM=" + } + }, + { + "_type": "UMLLinePartView", + "_id": "AAAAAAFLoUjnED6WByI=", + "_parent": { + "$ref": "AAAAAAFLoUjnDD6QWz4=" + }, + "model": { + "$ref": "AAAAAAFLoUjnDD6Pxeo=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 216, + "top": 108, + "width": 1, + "height": 905, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 160, + "top": 68, + "width": 112, + "height": 945, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFLoUjnDT6Rnik=" + }, + "wordWrap": false, + "linePart": { + "$ref": "AAAAAAFLoUjnED6WByI=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoUkrDD6v2TQ=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoUkrDD6uD+k=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUkrDD6w2XM=", + "_parent": { + "$ref": "AAAAAAFLoUkrDD6v2TQ=" + }, + "model": { + "$ref": "AAAAAAFLoUkrDD6uD+k=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 82, + "top": 129, + "width": 91, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoUkrDD6v2TQ=" + }, + "edgePosition": 1, + "underline": false, + "text": "1 : show Status", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUkrDD6xonU=", + "_parent": { + "$ref": "AAAAAAFLoUkrDD6v2TQ=" + }, + "model": { + "$ref": "AAAAAAFLoUkrDD6uD+k=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 127, + "top": 114, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoUkrDD6v2TQ=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUkrDT6ysko=", + "_parent": { + "$ref": "AAAAAAFLoUkrDD6v2TQ=" + }, + "model": { + "$ref": "AAAAAAFLoUkrDD6uD+k=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 127, + "top": 149, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoUkrDD6v2TQ=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoUkrDT6zwVY=", + "_parent": { + "$ref": "AAAAAAFLoUkrDD6v2TQ=" + }, + "model": { + "$ref": "AAAAAAFLoUkrDD6uD+k=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 209, + "top": 145, + "width": 14, + "height": 836, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoUjnED6WByI=" + }, + "tail": { + "$ref": "AAAAAAFLoUi+iD6K3yk=" + }, + "lineStyle": 0, + "points": "46:145;209:145", + "nameLabel": { + "$ref": "AAAAAAFLoUkrDD6w2XM=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoUkrDD6xonU=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoUkrDT6ysko=" + }, + "activation": { + "$ref": "AAAAAAFLoUkrDT6zwVY=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqLifelineView", + "_id": "AAAAAAFLoUlWrj7HF6s=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFLoUlWrj7I4Ls=", + "_parent": { + "$ref": "AAAAAAFLoUlWrj7HF6s=" + }, + "model": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFLoUlWrj7Ju7E=", + "_parent": { + "$ref": "AAAAAAFLoUlWrj7I4Ls=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": -204, + "top": -108, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoUlWrj7K87o=", + "_parent": { + "$ref": "AAAAAAFLoUlWrj7I4Ls=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 361, + "top": 147, + "width": 88, + "height": 13, + "autoResize": false, + "underline": false, + "text": "RESULTSET", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoUlWrz7LCpc=", + "_parent": { + "$ref": "AAAAAAFLoUlWrj7I4Ls=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": -204, + "top": -108, + "width": 106, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from Interaction1)", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoUlWrz7Mq0Q=", + "_parent": { + "$ref": "AAAAAAFLoUlWrj7I4Ls=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": -204, + "top": -108, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 356, + "top": 140, + "width": 98, + "height": 40, + "autoResize": false, + "stereotypeLabel": { + "$ref": "AAAAAAFLoUlWrj7Ju7E=" + }, + "nameLabel": { + "$ref": "AAAAAAFLoUlWrj7K87o=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFLoUlWrz7LCpc=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoUlWrz7Mq0Q=" + } + }, + { + "_type": "UMLLinePartView", + "_id": "AAAAAAFLoUlWrz7NtPk=", + "_parent": { + "$ref": "AAAAAAFLoUlWrj7HF6s=" + }, + "model": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 405, + "top": 180, + "width": 1, + "height": 809, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 356, + "top": 140, + "width": 98, + "height": 849, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFLoUlWrj7I4Ls=" + }, + "wordWrap": false, + "linePart": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoUnAEz7pUzI=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoUnAEz7oI18=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUnAEz7qsOc=", + "_parent": { + "$ref": "AAAAAAFLoUnAEz7pUzI=" + }, + "model": { + "$ref": "AAAAAAFLoUnAEz7oI18=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 286, + "top": 149, + "width": 55, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoUnAEz7pUzI=" + }, + "edgePosition": 1, + "underline": false, + "text": "2 : create", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUnAFD7r624=", + "_parent": { + "$ref": "AAAAAAFLoUnAEz7pUzI=" + }, + "model": { + "$ref": "AAAAAAFLoUnAEz7oI18=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 288, + "top": 134, + "width": 50, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoUnAEz7pUzI=" + }, + "edgePosition": 1, + "underline": false, + "text": "«create»", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUnAFD7sBFM=", + "_parent": { + "$ref": "AAAAAAFLoUnAEz7pUzI=" + }, + "model": { + "$ref": "AAAAAAFLoUnAEz7oI18=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 313, + "top": 169, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoUnAEz7pUzI=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoUnAFD7tzJQ=", + "_parent": { + "$ref": "AAAAAAFLoUnAEz7pUzI=" + }, + "model": { + "$ref": "AAAAAAFLoUnAEz7oI18=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 405, + "top": 165, + "width": 14, + "height": 29, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "tail": { + "$ref": "AAAAAAFLoUjnED6WByI=" + }, + "lineStyle": 0, + "points": "222:165;405:165", + "nameLabel": { + "$ref": "AAAAAAFLoUnAEz7qsOc=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoUnAFD7r624=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoUnAFD7sBFM=" + }, + "activation": { + "$ref": "AAAAAAFLoUnAFD7tzJQ=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoUqCcT8B934=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoUqCcT8ArXo=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUqCcT8Cdqw=", + "_parent": { + "$ref": "AAAAAAFLoUqCcT8B934=" + }, + "model": { + "$ref": "AAAAAAFLoUqCcT8ArXo=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 237, + "top": 202, + "width": 146, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoUqCcT8B934=" + }, + "edgePosition": 1, + "underline": false, + "text": "3 : resultset_add_column", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUqCcj8D2gs=", + "_parent": { + "$ref": "AAAAAAFLoUqCcT8B934=" + }, + "model": { + "$ref": "AAAAAAFLoUqCcT8ArXo=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 310, + "top": 187, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoUqCcT8B934=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUqCcj8Eswo=", + "_parent": { + "$ref": "AAAAAAFLoUqCcT8B934=" + }, + "model": { + "$ref": "AAAAAAFLoUqCcT8ArXo=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 310, + "top": 222, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoUqCcT8B934=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoUqCcj8Fg3I=", + "_parent": { + "$ref": "AAAAAAFLoUqCcT8B934=" + }, + "model": { + "$ref": "AAAAAAFLoUqCcT8ArXo=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 398, + "top": 218, + "width": 14, + "height": 29, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "tail": { + "$ref": "AAAAAAFLoUjnED6WByI=" + }, + "lineStyle": 0, + "points": "222:218;398:218", + "nameLabel": { + "$ref": "AAAAAAFLoUqCcT8Cdqw=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoUqCcj8D2gs=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoUqCcj8Eswo=" + }, + "activation": { + "$ref": "AAAAAAFLoUqCcj8Fg3I=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqLifelineView", + "_id": "AAAAAAFLoUrg2T8Y2FM=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoUrg2T8X7LI=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFLoUrg2T8Zcsg=", + "_parent": { + "$ref": "AAAAAAFLoUrg2T8Y2FM=" + }, + "model": { + "$ref": "AAAAAAFLoUrg2T8X7LI=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFLoUrg2T8aG/U=", + "_parent": { + "$ref": "AAAAAAFLoUrg2T8Zcsg=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 48, + "top": -36, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoUrg2T8bmP4=", + "_parent": { + "$ref": "AAAAAAFLoUrg2T8Zcsg=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 549, + "top": 223, + "width": 125, + "height": 13, + "autoResize": false, + "underline": false, + "text": "RESULT_COLUMN", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoUrg2T8cqqk=", + "_parent": { + "$ref": "AAAAAAFLoUrg2T8Zcsg=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 48, + "top": -36, + "width": 106, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from Interaction1)", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoUrg2T8d7FA=", + "_parent": { + "$ref": "AAAAAAFLoUrg2T8Zcsg=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 48, + "top": -36, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 544, + "top": 216, + "width": 135, + "height": 40, + "autoResize": false, + "stereotypeLabel": { + "$ref": "AAAAAAFLoUrg2T8aG/U=" + }, + "nameLabel": { + "$ref": "AAAAAAFLoUrg2T8bmP4=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFLoUrg2T8cqqk=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoUrg2T8d7FA=" + } + }, + { + "_type": "UMLLinePartView", + "_id": "AAAAAAFLoUrg2T8eBjc=", + "_parent": { + "$ref": "AAAAAAFLoUrg2T8Y2FM=" + }, + "model": { + "$ref": "AAAAAAFLoUrg2T8X7LI=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 611.5, + "top": 256, + "width": 1, + "height": 657, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 544, + "top": 216, + "width": 135, + "height": 697, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFLoUrg2T8Zcsg=" + }, + "wordWrap": false, + "linePart": { + "$ref": "AAAAAAFLoUrg2T8eBjc=" + } + }, + { + "_type": "UMLSeqLifelineView", + "_id": "AAAAAAFLoUwhaj9VHcI=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoUwhaT9UXdI=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFLoUwhaj9WIwE=", + "_parent": { + "$ref": "AAAAAAFLoUwhaj9VHcI=" + }, + "model": { + "$ref": "AAAAAAFLoUwhaT9UXdI=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFLoUwhaj9X4Ds=", + "_parent": { + "$ref": "AAAAAAFLoUwhaj9WIwE=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoUwhaj9YMg4=", + "_parent": { + "$ref": "AAAAAAFLoUwhaj9WIwE=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 729, + "top": 275, + "width": 125, + "height": 13, + "autoResize": false, + "underline": false, + "text": "RESULT_COLUMN", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoUwhaj9ZHgE=", + "_parent": { + "$ref": "AAAAAAFLoUwhaj9WIwE=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 106, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from Interaction1)", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoUwhaj9aNm4=", + "_parent": { + "$ref": "AAAAAAFLoUwhaj9WIwE=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 724, + "top": 268, + "width": 135, + "height": 40, + "autoResize": false, + "stereotypeLabel": { + "$ref": "AAAAAAFLoUwhaj9X4Ds=" + }, + "nameLabel": { + "$ref": "AAAAAAFLoUwhaj9YMg4=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFLoUwhaj9ZHgE=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoUwhaj9aNm4=" + } + }, + { + "_type": "UMLLinePartView", + "_id": "AAAAAAFLoUwhaz9bZcI=", + "_parent": { + "$ref": "AAAAAAFLoUwhaj9VHcI=" + }, + "model": { + "$ref": "AAAAAAFLoUwhaT9UXdI=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 791.5, + "top": 308, + "width": 1, + "height": 685, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 724, + "top": 268, + "width": 135, + "height": 725, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFLoUwhaj9WIwE=" + }, + "wordWrap": false, + "linePart": { + "$ref": "AAAAAAFLoUwhaz9bZcI=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoUuI8D85x2s=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoUuI8D84xfo=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUuI8T86bF4=", + "_parent": { + "$ref": "AAAAAAFLoUuI8D85x2s=" + }, + "model": { + "$ref": "AAAAAAFLoUuI8D84xfo=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 427, + "top": 215, + "width": 104, + "height": 13, + "autoResize": false, + "alpha": -3.4444776109327613, + "distance": 33.52610922848042, + "hostEdge": { + "$ref": "AAAAAAFLoUuI8D85x2s=" + }, + "edgePosition": 1, + "underline": false, + "text": "4 : create_column", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUuI8T87eJ4=", + "_parent": { + "$ref": "AAAAAAFLoUuI8D85x2s=" + }, + "model": { + "$ref": "AAAAAAFLoUuI8D84xfo=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 451, + "top": 200, + "width": 50, + "height": 13, + "autoResize": false, + "alpha": -3.7618422747077753, + "distance": 43.01162633521314, + "hostEdge": { + "$ref": "AAAAAAFLoUuI8D85x2s=" + }, + "edgePosition": 1, + "underline": false, + "text": "«create»", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUuI8T88QGc=", + "_parent": { + "$ref": "AAAAAAFLoUuI8D85x2s=" + }, + "model": { + "$ref": "AAAAAAFLoUuI8D84xfo=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 511, + "top": 236, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoUuI8D85x2s=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoUuI8T898a4=", + "_parent": { + "$ref": "AAAAAAFLoUuI8D85x2s=" + }, + "model": { + "$ref": "AAAAAAFLoUuI8D84xfo=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 611.5, + "top": 232, + "width": 14, + "height": 29, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoUrg2T8eBjc=" + }, + "tail": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "lineStyle": 0, + "points": "411:232;611.5:232", + "nameLabel": { + "$ref": "AAAAAAFLoUuI8T86bF4=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoUuI8T87eJ4=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoUuI8T88QGc=" + }, + "activation": { + "$ref": "AAAAAAFLoUuI8T898a4=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoUyR2T+UKXU=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoUyR2T+TfZk=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUyR2T+VOYE=", + "_parent": { + "$ref": "AAAAAAFLoUyR2T+UKXU=" + }, + "model": { + "$ref": "AAAAAAFLoUyR2T+TfZk=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 237, + "top": 260, + "width": 146, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoUyR2T+UKXU=" + }, + "edgePosition": 1, + "underline": false, + "text": "5 : resultset_add_column", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUyR2T+WnHE=", + "_parent": { + "$ref": "AAAAAAFLoUyR2T+UKXU=" + }, + "model": { + "$ref": "AAAAAAFLoUyR2T+TfZk=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 310, + "top": 245, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoUyR2T+UKXU=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUyR2T+X5ns=", + "_parent": { + "$ref": "AAAAAAFLoUyR2T+UKXU=" + }, + "model": { + "$ref": "AAAAAAFLoUyR2T+TfZk=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 310, + "top": 280, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoUyR2T+UKXU=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoUyR2T+YBxg=", + "_parent": { + "$ref": "AAAAAAFLoUyR2T+UKXU=" + }, + "model": { + "$ref": "AAAAAAFLoUyR2T+TfZk=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 398, + "top": 276, + "width": 14, + "height": 29, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "tail": { + "$ref": "AAAAAAFLoUjnED6WByI=" + }, + "lineStyle": 0, + "points": "222:276;398:276", + "nameLabel": { + "$ref": "AAAAAAFLoUyR2T+VOYE=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoUyR2T+WnHE=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoUyR2T+X5ns=" + }, + "activation": { + "$ref": "AAAAAAFLoUyR2T+YBxg=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoUzLqT+qvgQ=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoUzLqT+p+mo=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUzLqT+r+Vs=", + "_parent": { + "$ref": "AAAAAAFLoUzLqT+qvgQ=" + }, + "model": { + "$ref": "AAAAAAFLoUzLqT+p+mo=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 549, + "top": 278, + "width": 104, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoUzLqT+qvgQ=" + }, + "edgePosition": 1, + "underline": false, + "text": "6 : create_column", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUzLqT+sCcc=", + "_parent": { + "$ref": "AAAAAAFLoUzLqT+qvgQ=" + }, + "model": { + "$ref": "AAAAAAFLoUzLqT+p+mo=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 576, + "top": 263, + "width": 50, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoUzLqT+qvgQ=" + }, + "edgePosition": 1, + "underline": false, + "text": "«create»", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoUzLqT+tVM4=", + "_parent": { + "$ref": "AAAAAAFLoUzLqT+qvgQ=" + }, + "model": { + "$ref": "AAAAAAFLoUzLqT+p+mo=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 601, + "top": 298, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoUzLqT+qvgQ=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoUzLqT+uHs4=", + "_parent": { + "$ref": "AAAAAAFLoUzLqT+qvgQ=" + }, + "model": { + "$ref": "AAAAAAFLoUzLqT+p+mo=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 791.5, + "top": 294, + "width": 14, + "height": 29, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoUwhaz9bZcI=" + }, + "tail": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "lineStyle": 0, + "points": "411:294;791.5:294", + "nameLabel": { + "$ref": "AAAAAAFLoUzLqT+r+Vs=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoUzLqT+sCcc=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoUzLqT+tVM4=" + }, + "activation": { + "$ref": "AAAAAAFLoUzLqT+uHs4=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoU16RD/zVFA=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoU16RD/yK7A=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoU16RD/0KjM=", + "_parent": { + "$ref": "AAAAAAFLoU16RD/zVFA=" + }, + "model": { + "$ref": "AAAAAAFLoU16RD/yK7A=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 231, + "top": 333, + "width": 158, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoU16RD/zVFA=" + }, + "edgePosition": 1, + "underline": false, + "text": "7 : resultset_stream_mysql", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoU16RD/1BE0=", + "_parent": { + "$ref": "AAAAAAFLoU16RD/zVFA=" + }, + "model": { + "$ref": "AAAAAAFLoU16RD/yK7A=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 310, + "top": 318, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoU16RD/zVFA=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoU16RD/2nOM=", + "_parent": { + "$ref": "AAAAAAFLoU16RD/zVFA=" + }, + "model": { + "$ref": "AAAAAAFLoU16RD/yK7A=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 310, + "top": 353, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoU16RD/zVFA=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoU16RD/37mQ=", + "_parent": { + "$ref": "AAAAAAFLoU16RD/zVFA=" + }, + "model": { + "$ref": "AAAAAAFLoU16RD/yK7A=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 398, + "top": 349, + "width": 14, + "height": 448, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "tail": { + "$ref": "AAAAAAFLoUjnED6WByI=" + }, + "lineStyle": 0, + "points": "222:349;398:349", + "nameLabel": { + "$ref": "AAAAAAFLoU16RD/0KjM=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoU16RD/1BE0=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoU16RD/2nOM=" + }, + "activation": { + "$ref": "AAAAAAFLoU16RD/37mQ=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoU4+iEAKFMg=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoU4+iEAJYdc=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoU4+iEALCAA=", + "_parent": { + "$ref": "AAAAAAFLoU4+iEAKFMg=" + }, + "model": { + "$ref": "AAAAAAFLoU4+iEAJYdc=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 419, + "top": 352, + "width": 112, + "height": 13, + "autoResize": false, + "alpha": 2.102519265519026, + "distance": 39.44616584663204, + "hostEdge": { + "$ref": "AAAAAAFLoU4+iEAKFMg=" + }, + "edgePosition": 1, + "underline": false, + "text": "8 : Send_fieldcount", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoU4+iUAMbTM=", + "_parent": { + "$ref": "AAAAAAFLoU4+iEAKFMg=" + }, + "model": { + "$ref": "AAAAAAFLoU4+iEAJYdc=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 465, + "top": 371, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoU4+iEAKFMg=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoU4+iUANpvQ=", + "_parent": { + "$ref": "AAAAAAFLoU4+iEAKFMg=" + }, + "model": { + "$ref": "AAAAAAFLoU4+iEAJYdc=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 431, + "top": 372, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoU4+iEAKFMg=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoU4+iUAOM6w=", + "_parent": { + "$ref": "AAAAAAFLoU4+iEAKFMg=" + }, + "model": { + "$ref": "AAAAAAFLoU4+iEAJYdc=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 405, + "top": 388, + "width": 14, + "height": 29, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "tail": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "lineStyle": 0, + "points": "411:368;441:368;441:388;418:388", + "nameLabel": { + "$ref": "AAAAAAFLoU4+iEALCAA=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoU4+iUAMbTM=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoU4+iUANpvQ=" + }, + "activation": { + "$ref": "AAAAAAFLoU4+iUAOM6w=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoU6pFEAhwWk=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoU6pFEAgb2U=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoU6pFEAif3k=", + "_parent": { + "$ref": "AAAAAAFLoU6pFEAhwWk=" + }, + "model": { + "$ref": "AAAAAAFLoU6pFEAgb2U=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 450, + "top": 416, + "width": 115, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoU6pFEAhwWk=" + }, + "edgePosition": 1, + "underline": false, + "text": "9 : send column def", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoU6pFUAjDX0=", + "_parent": { + "$ref": "AAAAAAFLoU6pFEAhwWk=" + }, + "model": { + "$ref": "AAAAAAFLoU6pFEAgb2U=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 507, + "top": 401, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoU6pFEAhwWk=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoU6pFUAkXCg=", + "_parent": { + "$ref": "AAAAAAFLoU6pFEAhwWk=" + }, + "model": { + "$ref": "AAAAAAFLoU6pFEAgb2U=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 507, + "top": 436, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoU6pFEAhwWk=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoU6pFUAlAqE=", + "_parent": { + "$ref": "AAAAAAFLoU6pFEAhwWk=" + }, + "model": { + "$ref": "AAAAAAFLoU6pFEAgb2U=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 604.5, + "top": 432, + "width": 14, + "height": 29, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoUrg2T8eBjc=" + }, + "tail": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "lineStyle": 0, + "points": "411:432;604.5:432", + "nameLabel": { + "$ref": "AAAAAAFLoU6pFEAif3k=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoU6pFUAjDX0=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoU6pFUAkXCg=" + }, + "activation": { + "$ref": "AAAAAAFLoU6pFUAlAqE=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoU916kA+3ao=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoU916kA9SNA=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoU9160A/s28=", + "_parent": { + "$ref": "AAAAAAFLoU916kA+3ao=" + }, + "model": { + "$ref": "AAAAAAFLoU916kA9SNA=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 533, + "top": 468, + "width": 128, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoU916kA+3ao=" + }, + "edgePosition": 1, + "underline": false, + "text": "10 : send_column_def", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoU9160BAigo=", + "_parent": { + "$ref": "AAAAAAFLoU916kA+3ao=" + }, + "model": { + "$ref": "AAAAAAFLoU916kA9SNA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 597, + "top": 453, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoU916kA+3ao=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoU9160BBSOk=", + "_parent": { + "$ref": "AAAAAAFLoU916kA+3ao=" + }, + "model": { + "$ref": "AAAAAAFLoU916kA9SNA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 597, + "top": 488, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoU916kA+3ao=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoU9160BChSw=", + "_parent": { + "$ref": "AAAAAAFLoU916kA+3ao=" + }, + "model": { + "$ref": "AAAAAAFLoU916kA9SNA=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 784.5, + "top": 484, + "width": 14, + "height": 29, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoUwhaz9bZcI=" + }, + "tail": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "lineStyle": 0, + "points": "411:484;784.5:484", + "nameLabel": { + "$ref": "AAAAAAFLoU9160A/s28=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoU9160BAigo=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoU9160BBSOk=" + }, + "activation": { + "$ref": "AAAAAAFLoU9160BChSw=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoU/3rEBVMwo=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoU/3rEBUDXA=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoU/3rEBWkck=", + "_parent": { + "$ref": "AAAAAAFLoU/3rEBVMwo=" + }, + "model": { + "$ref": "AAAAAAFLoU/3rEBUDXA=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 264, + "top": 528, + "width": 96, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoU/3rEBVMwo=" + }, + "edgePosition": 1, + "underline": false, + "text": "11 : request_row", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoU/3rEBX+6Q=", + "_parent": { + "$ref": "AAAAAAFLoU/3rEBVMwo=" + }, + "model": { + "$ref": "AAAAAAFLoU/3rEBUDXA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 312, + "top": 543, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoU/3rEBVMwo=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoU/3rEBYZ6k=", + "_parent": { + "$ref": "AAAAAAFLoU/3rEBVMwo=" + }, + "model": { + "$ref": "AAAAAAFLoU/3rEBUDXA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 313, + "top": 508, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoU/3rEBVMwo=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoU/3rEBZMmI=", + "_parent": { + "$ref": "AAAAAAFLoU/3rEBVMwo=" + }, + "model": { + "$ref": "AAAAAAFLoU/3rEBUDXA=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 216, + "top": 524, + "width": 14, + "height": 177, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoUjnED6WByI=" + }, + "tail": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "lineStyle": 0, + "points": "398:524;229:524", + "nameLabel": { + "$ref": "AAAAAAFLoU/3rEBWkck=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoU/3rEBX+6Q=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoU/3rEBYZ6k=" + }, + "activation": { + "$ref": "AAAAAAFLoU/3rEBZMmI=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoVA/WkBs/b4=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoVA/WkBrxTQ=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVA/WkBt4us=", + "_parent": { + "$ref": "AAAAAAFLoVA/WkBs/b4=" + }, + "model": { + "$ref": "AAAAAAFLoVA/WkBrxTQ=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 246, + "top": 556, + "width": 142, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVA/WkBs/b4=" + }, + "edgePosition": 1, + "underline": false, + "text": "12 : resultset_make_row", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVA/WkBuox4=", + "_parent": { + "$ref": "AAAAAAFLoVA/WkBs/b4=" + }, + "model": { + "$ref": "AAAAAAFLoVA/WkBrxTQ=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 317, + "top": 541, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoVA/WkBs/b4=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVA/WkBv36U=", + "_parent": { + "$ref": "AAAAAAFLoVA/WkBs/b4=" + }, + "model": { + "$ref": "AAAAAAFLoVA/WkBrxTQ=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 317, + "top": 576, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVA/WkBs/b4=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoVA/WkBwBgc=", + "_parent": { + "$ref": "AAAAAAFLoVA/WkBs/b4=" + }, + "model": { + "$ref": "AAAAAAFLoVA/WkBrxTQ=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 405, + "top": 572, + "width": 14, + "height": 49, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "tail": { + "$ref": "AAAAAAFLoUjnED6WByI=" + }, + "lineStyle": 0, + "points": "229:572;405:572", + "nameLabel": { + "$ref": "AAAAAAFLoVA/WkBt4us=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoVA/WkBuox4=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoVA/WkBv36U=" + }, + "activation": { + "$ref": "AAAAAAFLoVA/WkBwBgc=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqLifelineView", + "_id": "AAAAAAFLoVCBQkCELi4=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoVCBQkCD7M4=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAFLoVCBQkCFiaA=", + "_parent": { + "$ref": "AAAAAAFLoVCBQkCELi4=" + }, + "model": { + "$ref": "AAAAAAFLoVCBQkCD7M4=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAFLoVCBQkCGJFs=", + "_parent": { + "$ref": "AAAAAAFLoVCBQkCFiaA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoVCBQ0CHHjA=", + "_parent": { + "$ref": "AAAAAAFLoVCBQkCFiaA=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;1", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 913, + "top": 583, + "width": 100, + "height": 13, + "autoResize": false, + "underline": false, + "text": "RESULT_ROW", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoVCBQ0CIcRg=", + "_parent": { + "$ref": "AAAAAAFLoVCBQkCFiaA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 106, + "height": 13, + "autoResize": false, + "underline": false, + "text": "(from Interaction1)", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "LabelView", + "_id": "AAAAAAFLoVCBQ0CJgAw=", + "_parent": { + "$ref": "AAAAAAFLoVCBQkCFiaA=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 0, + "top": 0, + "width": 0, + "height": 13, + "autoResize": false, + "underline": false, + "horizontalAlignment": 1, + "verticalAlignment": 5 + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": true, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 908, + "top": 576, + "width": 110, + "height": 40, + "autoResize": false, + "stereotypeLabel": { + "$ref": "AAAAAAFLoVCBQkCGJFs=" + }, + "nameLabel": { + "$ref": "AAAAAAFLoVCBQ0CHHjA=" + }, + "namespaceLabel": { + "$ref": "AAAAAAFLoVCBQ0CIcRg=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoVCBQ0CJgAw=" + } + }, + { + "_type": "UMLLinePartView", + "_id": "AAAAAAFLoVCBQ0CKHt0=", + "_parent": { + "$ref": "AAAAAAFLoVCBQkCELi4=" + }, + "model": { + "$ref": "AAAAAAFLoVCBQkCD7M4=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 963, + "top": 616, + "width": 1, + "height": 221, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 908, + "top": 576, + "width": 110, + "height": 261, + "autoResize": false, + "stereotypeDisplay": "label", + "showVisibility": true, + "showNamespace": false, + "showProperty": true, + "showType": true, + "nameCompartment": { + "$ref": "AAAAAAFLoVCBQkCFiaA=" + }, + "wordWrap": false, + "linePart": { + "$ref": "AAAAAAFLoVCBQ0CKHt0=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoVDTBECj1aM=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoVDTA0Ci5l4=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVDTBECkino=", + "_parent": { + "$ref": "AAAAAAFLoVDTBECj1aM=" + }, + "model": { + "$ref": "AAAAAAFLoVDTA0Ci5l4=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 659, + "top": 583, + "width": 62, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVDTBECj1aM=" + }, + "edgePosition": 1, + "underline": false, + "text": "13 : create", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVDTBEClsJM=", + "_parent": { + "$ref": "AAAAAAFLoVDTBECj1aM=" + }, + "model": { + "$ref": "AAAAAAFLoVDTA0Ci5l4=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 665, + "top": 568, + "width": 50, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoVDTBECj1aM=" + }, + "edgePosition": 1, + "underline": false, + "text": "«create»", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVDTBECmoNw=", + "_parent": { + "$ref": "AAAAAAFLoVDTBECj1aM=" + }, + "model": { + "$ref": "AAAAAAFLoVDTA0Ci5l4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 690, + "top": 603, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVDTBECj1aM=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoVDTBECnqJk=", + "_parent": { + "$ref": "AAAAAAFLoVDTBECj1aM=" + }, + "model": { + "$ref": "AAAAAAFLoVDTA0Ci5l4=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 963, + "top": 599, + "width": 14, + "height": 29, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoVCBQ0CKHt0=" + }, + "tail": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "lineStyle": 0, + "points": "418:599;963:599", + "nameLabel": { + "$ref": "AAAAAAFLoVDTBECkino=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoVDTBEClsJM=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoVDTBECmoNw=" + }, + "activation": { + "$ref": "AAAAAAFLoVDTBECnqJk=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoVG0QkC/zkg=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoVG0QUC+Bjs=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVG0QkDAnrs=", + "_parent": { + "$ref": "AAAAAAFLoVG0QkC/zkg=" + }, + "model": { + "$ref": "AAAAAAFLoVG0QUC+Bjs=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 528, + "top": 620, + "width": 128, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVG0QkC/zkg=" + }, + "edgePosition": 1, + "underline": false, + "text": "14 : resultset_row_set", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVG0QkDBPnY=", + "_parent": { + "$ref": "AAAAAAFLoVG0QkC/zkg=" + }, + "model": { + "$ref": "AAAAAAFLoVG0QUC+Bjs=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 592, + "top": 605, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoVG0QkC/zkg=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVG0QkDCAjY=", + "_parent": { + "$ref": "AAAAAAFLoVG0QkC/zkg=" + }, + "model": { + "$ref": "AAAAAAFLoVG0QUC+Bjs=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 592, + "top": 640, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVG0QkC/zkg=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoVG0QkDDvjE=", + "_parent": { + "$ref": "AAAAAAFLoVG0QkC/zkg=" + }, + "model": { + "$ref": "AAAAAAFLoVG0QUC+Bjs=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 956, + "top": 636, + "width": 14, + "height": 29, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoVCBQ0CKHt0=" + }, + "tail": { + "$ref": "AAAAAAFLoUjnED6WByI=" + }, + "lineStyle": 0, + "points": "229:636;956:636", + "nameLabel": { + "$ref": "AAAAAAFLoVG0QkDAnrs=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoVG0QkDBPnY=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoVG0QkDCAjY=" + }, + "activation": { + "$ref": "AAAAAAFLoVG0QkDDvjE=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoVInIUDW6No=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoVInIUDVbL0=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVInIkDXkgQ=", + "_parent": { + "$ref": "AAAAAAFLoVInIUDW6No=" + }, + "model": { + "$ref": "AAAAAAFLoVInIUDVbL0=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 528, + "top": 671, + "width": 128, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVInIUDW6No=" + }, + "edgePosition": 1, + "underline": false, + "text": "15 : resultset_row_set", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVInIkDYNp4=", + "_parent": { + "$ref": "AAAAAAFLoVInIUDW6No=" + }, + "model": { + "$ref": "AAAAAAFLoVInIUDVbL0=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 592, + "top": 656, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoVInIUDW6No=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVInIkDZL6s=", + "_parent": { + "$ref": "AAAAAAFLoVInIUDW6No=" + }, + "model": { + "$ref": "AAAAAAFLoVInIUDVbL0=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 592, + "top": 691, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVInIUDW6No=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoVInIkDaMs8=", + "_parent": { + "$ref": "AAAAAAFLoVInIUDW6No=" + }, + "model": { + "$ref": "AAAAAAFLoVInIUDVbL0=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 956, + "top": 687, + "width": 14, + "height": 29, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoVCBQ0CKHt0=" + }, + "tail": { + "$ref": "AAAAAAFLoUjnED6WByI=" + }, + "lineStyle": 0, + "points": "229:687;956:687", + "nameLabel": { + "$ref": "AAAAAAFLoVInIkDXkgQ=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoVInIkDYNp4=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoVInIkDZL6s=" + }, + "activation": { + "$ref": "AAAAAAFLoVInIkDaMs8=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoVKsyUDuguI=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoVKsyUDtsEQ=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVKsyUDv/PY=", + "_parent": { + "$ref": "AAAAAAFLoVKsyUDuguI=" + }, + "model": { + "$ref": "AAAAAAFLoVKsyUDtsEQ=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 643, + "top": 722, + "width": 81, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVKsyUDuguI=" + }, + "edgePosition": 1, + "underline": false, + "text": "16 : send_row", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVKsykDwoZE=", + "_parent": { + "$ref": "AAAAAAFLoVKsyUDuguI=" + }, + "model": { + "$ref": "AAAAAAFLoVKsyUDtsEQ=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 683, + "top": 707, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoVKsyUDuguI=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVKsykDxymY=", + "_parent": { + "$ref": "AAAAAAFLoVKsyUDuguI=" + }, + "model": { + "$ref": "AAAAAAFLoVKsyUDtsEQ=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 683, + "top": 742, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVKsyUDuguI=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoVKsykDyeYo=", + "_parent": { + "$ref": "AAAAAAFLoVKsyUDuguI=" + }, + "model": { + "$ref": "AAAAAAFLoVKsyUDtsEQ=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 956, + "top": 738, + "width": 14, + "height": 29, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoVCBQ0CKHt0=" + }, + "tail": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "lineStyle": 0, + "points": "411:738;956:738", + "nameLabel": { + "$ref": "AAAAAAFLoVKsyUDv/PY=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoVKsykDwoZE=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoVKsykDxymY=" + }, + "activation": { + "$ref": "AAAAAAFLoVKsykDyeYo=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "RectangleView", + "_id": "AAAAAAFLoVM8gkEDJJc=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#e2e2e2", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 36, + "top": 504, + "width": 420, + "height": 309, + "autoResize": false + }, + { + "_type": "UMLNoteView", + "_id": "AAAAAAFLoVNoa0EHxGI=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 52, + "top": 520, + "width": 137, + "height": 105, + "autoResize": false, + "text": "Repeated for each row in the result set.\nStatusProvider callback called untl it retuns a NULL row", + "wordWrap": true + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoVZgwUEg2FM=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoVZgwEEfzj8=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVZgwkEhjfs=", + "_parent": { + "$ref": "AAAAAAFLoVZgwUEg2FM=" + }, + "model": { + "$ref": "AAAAAAFLoVZgwEEfzj8=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 647, + "top": 769, + "width": 72, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVZgwUEg2FM=" + }, + "edgePosition": 1, + "underline": false, + "text": "17 : free row", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVZgwkEicvk=", + "_parent": { + "$ref": "AAAAAAFLoVZgwUEg2FM=" + }, + "model": { + "$ref": "AAAAAAFLoVZgwEEfzj8=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 655, + "top": 754, + "width": 57, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoVZgwUEg2FM=" + }, + "edgePosition": 1, + "underline": false, + "text": "«destroy»", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVZgwkEjUWc=", + "_parent": { + "$ref": "AAAAAAFLoVZgwUEg2FM=" + }, + "model": { + "$ref": "AAAAAAFLoVZgwEEfzj8=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 683, + "top": 789, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVZgwUEg2FM=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoVZgwkEk794=", + "_parent": { + "$ref": "AAAAAAFLoVZgwUEg2FM=" + }, + "model": { + "$ref": "AAAAAAFLoVZgwEEfzj8=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 956, + "top": 785, + "width": 14, + "height": 29, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoVCBQ0CKHt0=" + }, + "tail": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "lineStyle": 0, + "points": "411:785;956:785", + "nameLabel": { + "$ref": "AAAAAAFLoVZgwkEhjfs=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoVZgwkEicvk=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoVZgwkEjUWc=" + }, + "activation": { + "$ref": "AAAAAAFLoVZgwkEk794=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoVcIeEE51Ss=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoVcIeEE45jc=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVcIeUE62UM=", + "_parent": { + "$ref": "AAAAAAFLoVcIeEE51Ss=" + }, + "model": { + "$ref": "AAAAAAFLoVcIeEE45jc=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 258, + "top": 841, + "width": 105, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVcIeEE51Ss=" + }, + "edgePosition": 1, + "underline": false, + "text": "18 : resultset_free", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVcIeUE7sGI=", + "_parent": { + "$ref": "AAAAAAFLoVcIeEE51Ss=" + }, + "model": { + "$ref": "AAAAAAFLoVcIeEE45jc=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 282, + "top": 826, + "width": 57, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoVcIeEE51Ss=" + }, + "edgePosition": 1, + "underline": false, + "text": "«destroy»", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVcIeUE8+20=", + "_parent": { + "$ref": "AAAAAAFLoVcIeEE51Ss=" + }, + "model": { + "$ref": "AAAAAAFLoVcIeEE45jc=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 310, + "top": 861, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVcIeEE51Ss=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoVcIeUE9Glg=", + "_parent": { + "$ref": "AAAAAAFLoVcIeEE51Ss=" + }, + "model": { + "$ref": "AAAAAAFLoVcIeEE45jc=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 398, + "top": 857, + "width": 14, + "height": 108, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "tail": { + "$ref": "AAAAAAFLoUjnED6WByI=" + }, + "lineStyle": 0, + "points": "222:857;398:857", + "nameLabel": { + "$ref": "AAAAAAFLoVcIeUE62UM=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoVcIeUE7sGI=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoVcIeUE8+20=" + }, + "activation": { + "$ref": "AAAAAAFLoVcIeUE9Glg=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoVdxekFvmMQ=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoVdxekFuXv8=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVdxekFwFHk=", + "_parent": { + "$ref": "AAAAAAFLoVdxekFvmMQ=" + }, + "model": { + "$ref": "AAAAAAFLoVdxekFuXv8=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 483, + "top": 852, + "width": 48, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVdxekFvmMQ=" + }, + "edgePosition": 1, + "underline": false, + "text": "19 : free", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVdxekFxgZ0=", + "_parent": { + "$ref": "AAAAAAFLoVdxekFvmMQ=" + }, + "model": { + "$ref": "AAAAAAFLoVdxekFuXv8=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 479, + "top": 837, + "width": 57, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoVdxekFvmMQ=" + }, + "edgePosition": 1, + "underline": false, + "text": "«destroy»", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVdxekFyLTU=", + "_parent": { + "$ref": "AAAAAAFLoVdxekFvmMQ=" + }, + "model": { + "$ref": "AAAAAAFLoVdxekFuXv8=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 507, + "top": 872, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVdxekFvmMQ=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoVdxekFz2rQ=", + "_parent": { + "$ref": "AAAAAAFLoVdxekFvmMQ=" + }, + "model": { + "$ref": "AAAAAAFLoVdxekFuXv8=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 604.5, + "top": 868, + "width": 14, + "height": 29, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoUrg2T8eBjc=" + }, + "tail": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "lineStyle": 0, + "points": "411:868;604.5:868", + "nameLabel": { + "$ref": "AAAAAAFLoVdxekFwFHk=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoVdxekFxgZ0=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoVdxekFyLTU=" + }, + "activation": { + "$ref": "AAAAAAFLoVdxekFz2rQ=" + }, + "showProperty": true, + "showType": true + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAFLoVgoUkGM1jc=", + "_parent": { + "$ref": "AAAAAAFLoUfdzz4lXdc=" + }, + "model": { + "$ref": "AAAAAAFLoVgoUkGL99c=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVgoUkGNzUI=", + "_parent": { + "$ref": "AAAAAAFLoVgoUkGM1jc=" + }, + "model": { + "$ref": "AAAAAAFLoVgoUkGL99c=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 573, + "top": 924, + "width": 48, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVgoUkGM1jc=" + }, + "edgePosition": 1, + "underline": false, + "text": "20 : free", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVgoU0GOy3M=", + "_parent": { + "$ref": "AAAAAAFLoVgoUkGM1jc=" + }, + "model": { + "$ref": "AAAAAAFLoVgoUkGL99c=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 569, + "top": 909, + "width": 57, + "height": 13, + "autoResize": false, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAFLoVgoUkGM1jc=" + }, + "edgePosition": 1, + "underline": false, + "text": "«destroy»", + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAFLoVgoU0GP5g4=", + "_parent": { + "$ref": "AAAAAAFLoVgoUkGM1jc=" + }, + "model": { + "$ref": "AAAAAAFLoVgoUkGL99c=" + }, + "visible": false, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 597, + "top": 944, + "width": 0, + "height": 13, + "autoResize": false, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAFLoVgoUkGM1jc=" + }, + "edgePosition": 1, + "underline": false, + "horizontalAlignment": 2, + "verticalAlignment": 5 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAFLoVgoU0GQng8=", + "_parent": { + "$ref": "AAAAAAFLoVgoUkGM1jc=" + }, + "model": { + "$ref": "AAAAAAFLoVgoUkGL99c=" + }, + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "left": 784.5, + "top": 940, + "width": 14, + "height": 29, + "autoResize": false + } + ], + "visible": true, + "enabled": true, + "lineColor": "#000000", + "fillColor": "#ffffff", + "fontColor": "#000000", + "font": "Arial;13;0", + "parentStyle": false, + "showShadow": true, + "containerChangeable": false, + "containerExtending": true, + "head": { + "$ref": "AAAAAAFLoUwhaz9bZcI=" + }, + "tail": { + "$ref": "AAAAAAFLoUlWrz7NtPk=" + }, + "lineStyle": 0, + "points": "411:940;784.5:940", + "nameLabel": { + "$ref": "AAAAAAFLoVgoUkGNzUI=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAFLoVgoU0GOy3M=" + }, + "propertyLabel": { + "$ref": "AAAAAAFLoVgoU0GP5g4=" + }, + "activation": { + "$ref": "AAAAAAFLoVgoU0GQng8=" + }, + "showProperty": true, + "showType": true + } + ], + "showSequenceNumber": true, + "showSignature": true, + "showActivation": true + } + ], + "visibility": "public", + "isReentrant": true, + "messages": [ + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoUkrDD6uD+k=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "show Status", + "source": { + "$ref": "AAAAAAFLoUi+hz6IkgU=" + }, + "target": { + "$ref": "AAAAAAFLoUjnDD6Pxeo=" + }, + "visibility": "public", + "messageSort": "synchCall" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoUnAEz7oI18=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "create", + "source": { + "$ref": "AAAAAAFLoUjnDD6Pxeo=" + }, + "target": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "visibility": "public", + "messageSort": "createMessage" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoUqCcT8ArXo=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "resultset_add_column", + "source": { + "$ref": "AAAAAAFLoUjnDD6Pxeo=" + }, + "target": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "visibility": "public", + "messageSort": "synchCall" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoUuI8D84xfo=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "create_column", + "source": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "target": { + "$ref": "AAAAAAFLoUrg2T8X7LI=" + }, + "visibility": "public", + "messageSort": "createMessage" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoUyR2T+TfZk=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "resultset_add_column", + "source": { + "$ref": "AAAAAAFLoUjnDD6Pxeo=" + }, + "target": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "visibility": "public", + "messageSort": "synchCall" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoUzLqT+p+mo=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "create_column", + "source": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "target": { + "$ref": "AAAAAAFLoUwhaT9UXdI=" + }, + "visibility": "public", + "messageSort": "createMessage" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoU16RD/yK7A=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "resultset_stream_mysql", + "source": { + "$ref": "AAAAAAFLoUjnDD6Pxeo=" + }, + "target": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "visibility": "public", + "messageSort": "synchCall" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoU4+iEAJYdc=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "Send_fieldcount", + "source": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "target": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "visibility": "public", + "messageSort": "synchCall" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoU6pFEAgb2U=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "send column def", + "source": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "target": { + "$ref": "AAAAAAFLoUrg2T8X7LI=" + }, + "visibility": "public", + "messageSort": "synchCall" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoU916kA9SNA=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "send_column_def", + "source": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "target": { + "$ref": "AAAAAAFLoUwhaT9UXdI=" + }, + "visibility": "public", + "messageSort": "synchCall" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoU/3rEBUDXA=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "request_row", + "source": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "target": { + "$ref": "AAAAAAFLoUjnDD6Pxeo=" + }, + "visibility": "public", + "messageSort": "synchCall" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoVA/WkBrxTQ=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "resultset_make_row", + "source": { + "$ref": "AAAAAAFLoUjnDD6Pxeo=" + }, + "target": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "visibility": "public", + "messageSort": "synchCall" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoVDTA0Ci5l4=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "create", + "source": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "target": { + "$ref": "AAAAAAFLoVCBQkCD7M4=" + }, + "visibility": "public", + "messageSort": "createMessage" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoVG0QUC+Bjs=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "resultset_row_set", + "source": { + "$ref": "AAAAAAFLoUjnDD6Pxeo=" + }, + "target": { + "$ref": "AAAAAAFLoVCBQkCD7M4=" + }, + "visibility": "public", + "messageSort": "synchCall" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoVInIUDVbL0=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "resultset_row_set", + "source": { + "$ref": "AAAAAAFLoUjnDD6Pxeo=" + }, + "target": { + "$ref": "AAAAAAFLoVCBQkCD7M4=" + }, + "visibility": "public", + "messageSort": "synchCall" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoVKsyUDtsEQ=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "send_row", + "source": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "target": { + "$ref": "AAAAAAFLoVCBQkCD7M4=" + }, + "visibility": "public", + "messageSort": "synchCall" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoVZgwEEfzj8=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "free row", + "source": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "target": { + "$ref": "AAAAAAFLoVCBQkCD7M4=" + }, + "visibility": "public", + "messageSort": "deleteMessage" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoVcIeEE45jc=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "resultset_free", + "source": { + "$ref": "AAAAAAFLoUjnDD6Pxeo=" + }, + "target": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "visibility": "public", + "messageSort": "deleteMessage" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoVdxekFuXv8=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "free", + "source": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "target": { + "$ref": "AAAAAAFLoUrg2T8X7LI=" + }, + "visibility": "public", + "messageSort": "deleteMessage" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAFLoVgoUkGL99c=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "free", + "source": { + "$ref": "AAAAAAFLoUlWrj7GZlg=" + }, + "target": { + "$ref": "AAAAAAFLoUwhaT9UXdI=" + }, + "visibility": "public", + "messageSort": "deleteMessage" + } + ], + "participants": [ + { + "_type": "UMLGate", + "_id": "AAAAAAFLoUi+hz6IkgU=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "Gate1", + "visibility": "public" + }, + { + "_type": "UMLLifeline", + "_id": "AAAAAAFLoUjnDD6Pxeo=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "StatusProvider", + "visibility": "public", + "represent": { + "$ref": "AAAAAAFLoUjnDD6OsSY=" + }, + "isMultiInstance": false + }, + { + "_type": "UMLLifeline", + "_id": "AAAAAAFLoUlWrj7GZlg=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "RESULTSET", + "visibility": "public", + "represent": { + "$ref": "AAAAAAFLoUlWrT7FunQ=" + }, + "isMultiInstance": false + }, + { + "_type": "UMLLifeline", + "_id": "AAAAAAFLoUrg2T8X7LI=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "RESULT_COLUMN", + "visibility": "public", + "represent": { + "$ref": "AAAAAAFLoUrg2T8WW+k=" + }, + "isMultiInstance": false + }, + { + "_type": "UMLLifeline", + "_id": "AAAAAAFLoUwhaT9UXdI=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "RESULT_COLUMN", + "visibility": "public", + "represent": { + "$ref": "AAAAAAFLoUwhaT9TObI=" + }, + "isMultiInstance": false + }, + { + "_type": "UMLLifeline", + "_id": "AAAAAAFLoVCBQkCD7M4=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4kL6Q=" + }, + "name": "RESULT_ROW", + "visibility": "public", + "represent": { + "$ref": "AAAAAAFLoVCBQkCCKtc=" + }, + "isMultiInstance": false + } + ] + } + ], + "visibility": "public", + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAFLoUjnDD6OsSY=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4jZLE=" + }, + "name": "Role1", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "aggregation": "none", + "isID": false + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAFLoUlWrT7FunQ=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4jZLE=" + }, + "name": "Role2", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "aggregation": "none", + "isID": false + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAFLoUrg2T8WW+k=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4jZLE=" + }, + "name": "Role3", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "aggregation": "none", + "isID": false + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAFLoUwhaT9TObI=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4jZLE=" + }, + "name": "Role4", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "aggregation": "none", + "isID": false + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAFLoVCBQkCCKtc=", + "_parent": { + "$ref": "AAAAAAFLoUfdzj4jZLE=" + }, + "name": "Role5", + "visibility": "public", + "isStatic": false, + "isLeaf": false, + "isReadOnly": false, + "isOrdered": false, + "isUnique": false, + "isDerived": false, + "aggregation": "none", + "isID": false + } + ], + "isAbstract": false, + "isFinalSpecialization": false, + "isLeaf": false } ], "documentation": "Object design diagrams fo r the MaxScale core.", diff --git a/Documentation/Documentation-Contents.md b/Documentation/Documentation-Contents.md index 679f7c11f..a7b3d2777 100644 --- a/Documentation/Documentation-Contents.md +++ b/Documentation/Documentation-Contents.md @@ -55,7 +55,8 @@ ## Design Documents - - [Session Commands design (in development)](http://mariadb-corporation.github.io/MaxScale/Design-Documents/) + - [Core Objects Design (in development)](http://mariadb-corporation.github.io/MaxScale/Design-Documents/core-objects-html-docs) + - [Binlog Router Design (in development)](http://mariadb-corporation.github.io/MaxScale/Design-Documents/binlog-router-html-docs) - [DCB States (to be replaced in StarUML)](Design-Documents/DCB-States.pdf) ## Earlier Release Notes diff --git a/Documentation/Getting-Started/Configuration-Guide.md b/Documentation/Getting-Started/Configuration-Guide.md index 03a4b8ede..dc42696db 100644 --- a/Documentation/Getting-Started/Configuration-Guide.md +++ b/Documentation/Getting-Started/Configuration-Guide.md @@ -3,25 +3,25 @@ Configuration & Usage Scenarios # Introduction -The purpose of this document is to describe how to configure MaxScale and to discuss some possible usage scenarios for MaxScale. MaxScale is designed with flexibility in mind, and consists of an event processing core with various support functions and plugin modules that tailor the behaviour of the MaxScale itself. +The purpose of this document is to describe how to configure MaxScale and to discuss some possible usage scenarios for MaxScale. MaxScale is designed with flexibility in mind, and consists of an event processing core with various support functions and plugin modules that tailor the behaviour of the MaxScale itself. ## Terms Term | Description -------------------|------------------ - service | A service represents a set of databases with a specific access mechanism that is offered to clients of MaxScale. The access mechanism defines the algorithm that MaxScale will use to direct particular requests to the individual databases. - server | A server represents an individual database server to which a client can be connected via MaxScale. - router | A router is a module within MaxScale that will route client requests to the various database servers which MaxScale provides a service interface to. -connection routing | Connection routing is a method of handling requests in which MaxScale will accept connections from a client and route data on that connection to a single database using a single connection. Connection based routing will not examine individual requests on a connection and it will not move that connection once it is established. -statement routing | Statement routing is a method of handling requests in which each request within a connection will be handled individually. Requests may be sent to one or more servers and connections may be dynamically added or removed from the session. - protocol | A protocol is a module of software that is used to communicate with another software entity within the system. MaxScale supports the dynamic loading of protocol modules to allow for increased flexibility. - module | A module is a separate code entity that may be loaded dynamically into MaxScale to increase the available functionality. Modules are implemented as run-time loadable shared objects. - monitor | A monitor is a module that can be executed within MaxScale to monitor the state of a set of database. The use of an internal monitor is optional, monitoring may be performed externally to MaxScale. - listener | A listener is the network endpoint that is used to listen for connections to MaxScale from the client applications. A listener is associated to a single service, however a service may have many listeners. -connection failover| When a connection currently being used between MaxScale and the database server fails a replacement will be automatically created to another server by MaxScale without client intervention - backend database | A term used to refer to a database that sits behind MaxScale and is accessed by applications via MaxScale. - filter | A module that can be placed between the client and the MaxScale router module. All client data passes through the filter module and may be examined or modified by the filter modules. Filters may be chained together to form processing pipelines. + service | A service represents a set of databases with a specific access mechanism that is offered to clients of MaxScale. The access mechanism defines the algorithm that MaxScale will use to direct particular requests to the individual databases. + server | A server represents an individual database server to which a client can be connected via MaxScale. + router | A router is a module within MaxScale that will route client requests to the various database servers which MaxScale provides a service interface to. +connection routing | Connection routing is a method of handling requests in which MaxScale will accept connections from a client and route data on that connection to a single database using a single connection. Connection based routing will not examine individual requests on a connection and it will not move that connection once it is established. +statement routing | Statement routing is a method of handling requests in which each request within a connection will be handled individually. Requests may be sent to one or more servers and connections may be dynamically added or removed from the session. + protocol | A protocol is a module of software that is used to communicate with another software entity within the system. MaxScale supports the dynamic loading of protocol modules to allow for increased flexibility. + module | A module is a separate code entity that may be loaded dynamically into MaxScale to increase the available functionality. Modules are implemented as run-time loadable shared objects. + monitor | A monitor is a module that can be executed within MaxScale to monitor the state of a set of database. The use of an internal monitor is optional, monitoring may be performed externally to MaxScale. + listener | A listener is the network endpoint that is used to listen for connections to MaxScale from the client applications. A listener is associated to a single service, however a service may have many listeners. +connection failover| When a connection currently being used between MaxScale and the database server fails a replacement will be automatically created to another server by MaxScale without client intervention + backend database | A term used to refer to a database that sits behind MaxScale and is accessed by applications via MaxScale. + filter | A module that can be placed between the client and the MaxScale router module. All client data passes through the filter module and may be examined or modified by the filter modules. Filters may be chained together to form processing pipelines. # Configuration @@ -125,7 +125,7 @@ router=readconnroute router_options=master,slave ``` -A more complete description of router options and what is available for a given router is included with the documentation of the router itself. +A more complete description of router options and what is available for a given router is included with the documentation of the router itself. ### `filters` @@ -217,7 +217,7 @@ This parameter enables matching of "127.0.0.1" (localhost) against "%" wildcard This parameter sets a custom version string that is sent in the MySQL Handshake from MaxScale to clients. -Example: +Example: ``` version_string=5.5.37-MariaDB-RWsplit @@ -237,11 +237,11 @@ serversize=10 The service would then have the parameter weightby set. If there are 4 servers defined in the service, serverA, serverB, serverC and serverD, with the serversize set as shown in the table below, the connections would balanced using the percentages in this table. - Server |serversize|% connections + Server |serversize|% connections ---------|----------|------------- -serverA | 10 | 18% -serverB | 15 | 27% -serverC | 10 | 18% +serverA | 10 | 18% +serverB | 15 | 27% +serverC | 10 | 18% serverD | 20 | 36% ### `auth_all_servers` @@ -254,6 +254,17 @@ The strip_db_esc parameter strips escape characters from database names of grant This parameter takes a boolean value and when enabled, will strip all `\` characters from the database names. +### `connection_timeout` + +The connection_timeout parameter is used to disconnect sessions to MaxScale that have been idle for too long. The session timeouts are disabled by default. To enable them, define the timeout in seconds in the service's configuration section. + +Example: + +``` +[Test Service] +connection_timeout=300 +``` + ## Server Server sections are used to define the backend database servers that can be formed into a service. A server may be a member of one or more services within MaxScale. Servers are identified by a server name which is the section name in the configuration file. Servers have a type parameter of server, plus address port and protocol parameters. @@ -294,7 +305,7 @@ The monitor has a username and password that is used to connect to all servers f monitorpw=mymonitorpasswd ``` -The monpasswd parameter may be either a plain text password or it may be an encrypted password. See the section on encrypting passwords for use in the MaxScale.cnf file. +The monpasswd parameter may be either a plain text password or it may be an encrypted password. See the section on encrypting passwords for use in the MaxScale.cnf file. ## Listener @@ -303,10 +314,10 @@ The listener defines a port and protocol pair that is used to listen for connect ``` [] type=listener -service=] -protocol=[MySQLClient|HTTPD] -address=[IP|hostname] -port= +service=] +protocol=[MySQLClient|HTTPD] +address=[IP|hostname] +port= socket= ``` @@ -356,7 +367,7 @@ passwd=6628C50E07CCE1F0392EDEEB9D1203F3 filters=QLA ``` -![image alt text](images/image_10.png) +![image alt text](images/image_10.png) See the Services section for more details on how to configure the various options of a service. Note that some filters require parsing of the statement which makes them compatible with statement-based routers only, such as Read/Write Split router. @@ -419,7 +430,7 @@ disable_master_failback=0 ### `module` -The module parameter defines the name of the loadable module that implements the monitor. This module is loaded and executed on a separate thread within MaxScale. +The module parameter defines the name of the loadable module that implements the monitor. This module is loaded and executed on a separate thread within MaxScale. ### `servers` @@ -433,7 +444,7 @@ Individual servers may define override values for the user and password the moni ### `passwd` -The password parameter may be either a plain text password or it may be an encrypted password. See the section on encrypting passwords for use in the `MaxScale.cnf` file. +The password parameter may be either a plain text password or it may be an encrypted password. See the section on encrypting passwords for use in the `MaxScale.cnf` file. ### `monitor_interval` @@ -477,7 +488,7 @@ By default, if a node takes a lower index than the current master one the monito The server status field may have the `SERVER_MASTER_STICKINESS` bit, meaning the current master selection is not based on the available rules but it's the one previously selected and then kept, accordingly to option value equal 1. -Anyway, a new master will be selected in case of current master failure, regardless the option value. +Anyway, a new master will be selected in case of current master failure, regardless the option value. ### `backend_connect_timeout` @@ -527,7 +538,7 @@ Connection based routing is a mechanism by which MaxScale will, for each incomin ## Statement Based Routing -Statement based routing is somewhat different, the routing modules examine every statement the client sends and determines, on a per statement basis, which of the set of backend servers in the service is best to execute the statement. This gives better dynamic balancing of the load within the cluster but comes at a cost. The query router must understand the statement that is being routed and may have to parse the statement in order to achieve this. +Statement based routing is somewhat different, the routing modules examine every statement the client sends and determines, on a per statement basis, which of the set of backend servers in the service is best to execute the statement. This gives better dynamic balancing of the load within the cluster but comes at a cost. The query router must understand the statement that is being routed and may have to parse the statement in order to achieve this. Parsing within the router adds overhead to the cost of routing and makes this type of router best suitable for loads in which the gains outweigh this added cost. The added cost from statement parsing also gives the possibility to create and use new type of filters which are based on statement processing. In contrast to the added processing cost, statement-based routing may increase the performance of the cluster by offloading statements away from the master when possible. @@ -651,7 +662,7 @@ servers=server1,server2 user=monitor passwd=monitor -[MySQL Cluster Service] +[MySQL Cluster Service] type=service router=readconnroute router_options=ndb @@ -668,7 +679,7 @@ The `ndb` router option simply means: access all SQL nodes marked with NDB statu ### Read/Write Split Router -The Read/Write Split Router is implemented in readwritesplit module. It is a statement-based router that has been designed for use within Master/Slave replication environments. It examines and optionally parses every statement to find out whether the statement can be routed to slave instead of master. +The Read/Write Split Router is implemented in readwritesplit module. It is a statement-based router that has been designed for use within Master/Slave replication environments. It examines and optionally parses every statement to find out whether the statement can be routed to slave instead of master. #### Starting a readwritesplit router session @@ -711,17 +722,19 @@ A third class of statements includes those which modify session data, such as se Session commands include for example: -* `SET` statements +* `SET` statements * `USE `*``* * system/user-defined variable assignments embedded in read-only statements, such as `SELECT (@myvar := 5)` -* `PREPARE` statements +* `PREPARE` statements * `QUIT`, `PING`, `STMT RESET`, `CHANGE USER`, etc. commands **NOTE: if variable assignment is embedded in a write statement it is routed to _Master_ only. For example, `INSERT INTO t1 values(@myvar:=5, 7)` would be routed to _Master_ only.** +The router stores all of the executed session commands so that in case of a slave failure, a replacement slave can be chosen and the session command history can be repeated on that new slave. This means that the router stores each executed session command for the duration of the session. Applications that use long-running sessions might cause MaxScale to consume a growing amount of memory unless the sessions are closed. This can be solved by setting a connection timeout on the application side. + #### Configuring the Read/Write Split router -Read/Write Split router-specific settings are specified in the configuration file of MaxScale in its specific section. The section can be freely named but the name is used later as a reference from listener section. +Read/Write Split router-specific settings are specified in the configuration file of MaxScale in its specific section. The section can be freely named but the name is used later as a reference from listener section. The configuration consists of mandatory and optional parameters. @@ -770,15 +783,15 @@ Please note max_slave_replication_lag must be greater than monitor interval. where ** is one of the following: * `LEAST_GLOBAL_CONNECTIONS`, the slave with least connections in total -* `LEAST_ROUTER_CONNECTIONS`, the slave with least connections from this router -* `LEAST_BEHIND_MASTER`, the slave with smallest replication lag -* `LEAST_CURRENT_OPERATIONS` (default), the slave with least active operations +* `LEAST_ROUTER_CONNECTIONS`, the slave with least connections from this router +* `LEAST_BEHIND_MASTER`, the slave with smallest replication lag +* `LEAST_CURRENT_OPERATIONS` (default), the slave with least active operations `use_sql_variables_in` specifies where should queries, which read session variable, be routed. The syntax for `use_sql_variable_in` is: use_sql_variables_in=[master|all] -When value all is used, queries reading session variables can be routed to any available slave (depending on selection criteria). Note, that queries modifying session variables are routed to all backend servers by default, excluding write queries with embedded session variable modifications, such as: +When value all is used, queries reading session variables can be routed to any available slave (depending on selection criteria). Note, that queries modifying session variables are routed to all backend servers by default, excluding write queries with embedded session variable modifications, such as: INSERT INTO test.t1 VALUES (@myid:=@myid+1) @@ -815,7 +828,7 @@ The client would merely connect to port 4044 on the MaxScale host and statements #### Galera Cluster Configuration for Read/Write Split router - + Galera monitor assigns Master and Slave roles to appropriate sync'ed Galera nodes. Using **readwritesplit** with Galera is seamless; the only change needed to the configuration above is replacing the list of MySQL replication servers with list of Galera nodes. With the same example as above: Simply configure a RWSplit Service with Galera nodes: @@ -1188,7 +1201,7 @@ before being sent to the server. Note that the text in the match string is case- ## Tee Filter -The **tee** filter is a filter module for MaxScale that acts as a "plumbing" fitting in the MaxScale filter toolkit. It can be used in a filter pipeline of a service to make a copy of requests from the client and dispatch a copy of the request to another service within MaxScale. +The **tee** filter is a filter module for MaxScale that acts as a "plumbing" fitting in the MaxScale filter toolkit. It can be used in a filter pipeline of a service to make a copy of requests from the client and dispatch a copy of the request to another service within MaxScale. The configuration block for the **tee** filter requires the minimal filter parameters in its section within the `MaxScale.cnf` file that defines the filter to load and the service to send the duplicates to. @@ -1336,4 +1349,3 @@ socket=/servers/maxscale/galera.sock TCP/IP Traffic must be permitted to 192.1681.3.33 port 4408 For Unix socket, the socket file path (example: `/servers/maxscale/galera.sock`) must be writable by the Unix user MaxScale runs as. - diff --git a/log_manager/log_manager.cc b/log_manager/log_manager.cc index 11d1dbc23..89f046465 100644 --- a/log_manager/log_manager.cc +++ b/log_manager/log_manager.cc @@ -1364,12 +1364,12 @@ int skygw_log_write_flush( * Find out the length of log string (to be formatted str). */ va_start(valist, str); - len = vsnprintf(NULL, 0, str, valist); + len = sizeof(char) * vsnprintf(NULL, 0, str, valist); va_end(valist); /** * Add one for line feed. */ - len += 1; + len += sizeof(char); /** * Write log string to buffer and add to file write list. */ diff --git a/macros.cmake b/macros.cmake index 7132ff167..6c81a6a1b 100644 --- a/macros.cmake +++ b/macros.cmake @@ -47,10 +47,10 @@ macro(set_variables) # password of MaxScale user set(TEST_PASSWORD "maxpwd" CACHE STRING "password of MaxScale user") - + # Use static version of libmysqld set(STATIC_EMBEDDED TRUE CACHE BOOL "Use static version of libmysqld") - + # Build RabbitMQ components set(BUILD_RABBITMQ FALSE CACHE BOOL "Build RabbitMQ components") diff --git a/query_classifier/query_classifier.cc b/query_classifier/query_classifier.cc index 20b216159..46ab89729 100644 --- a/query_classifier/query_classifier.cc +++ b/query_classifier/query_classifier.cc @@ -1219,7 +1219,8 @@ inline void add_str(char** buf, int* buflen, int* bufsize, char* str) if(*buf) strcat(*buf," "); } - strcat(*buf,str); + if(*buf) + strcat(*buf,str); *buflen += isize; } diff --git a/server/core/config.c b/server/core/config.c index 12818a19b..03196d180 100644 --- a/server/core/config.c +++ b/server/core/config.c @@ -40,6 +40,7 @@ * internal router suppression of messages * 30/10/14 Massimiliano Pinto Added disable_master_failback parameter * 07/11/14 Massimiliano Pinto Addition of monitor timeouts for connect/read/write + * 20/02/15 Markus Mäkelä Added connection_timeout parameter for services * * @endverbatim */ @@ -278,29 +279,41 @@ int error_count = 0; char *user; char *auth; char *enable_root_user; - char *auth_all_servers; + char *connection_timeout; + char *auth_all_servers; char *strip_db_esc; char *weightby; char *version_string; bool is_rwsplit = false; bool is_schemarouter = false; char *allow_localhost_match_wildcard_host; - + obj->element = service_alloc(obj->object, router); user = config_get_value(obj->parameters, "user"); auth = config_get_value(obj->parameters, "passwd"); enable_root_user = config_get_value( obj->parameters, "enable_root_user"); - auth_all_servers = config_get_value( - obj->parameters, - "auth_all_servers"); - strip_db_esc = config_get_value( - obj->parameters, - "strip_db_esc"); + + connection_timeout = + config_get_value( + obj->parameters, + "connection_timeout"); + + auth_all_servers = + config_get_value( + obj->parameters, + "auth_all_servers"); + + strip_db_esc = + config_get_value( + obj->parameters, + "strip_db_esc"); + allow_localhost_match_wildcard_host = config_get_value(obj->parameters, "localhost_match_wildcard_host"); + weightby = config_get_value(obj->parameters, "weightby"); version_string = config_get_value(obj->parameters, @@ -310,14 +323,10 @@ int error_count = 0; { is_rwsplit = true; } - else if (strncasecmp(router, "schemarouter", strlen("schemarouter")+1) == 0) - { - is_schemarouter = true; - } - else if(strncasecmp(router, "shardrouter", strlen("schemarouter")+1) == 0) - { - is_schemarouter = true; - } + + char *allow_localhost_match_wildcard_host = + config_get_value(obj->parameters, "localhost_match_wildcard_host"); + if (obj->element == NULL) /*< if module load failed */ { LOGIF(LE, (skygw_log_write_flush( @@ -331,41 +340,36 @@ int error_count = 0; continue; /*< process next obj */ } - if (version_string != NULL) - { - ((SERVICE *)(obj->element))->version_string = - strdup(version_string); - } - else - { - if (gateway.version_string != NULL) - { - ((SERVICE *)(obj->element))->version_string = - strdup(gateway.version_string); - } + if (version_string) { + ((SERVICE *)(obj->element))->version_string = strdup(version_string); + } else { + if (gateway.version_string) + ((SERVICE *)(obj->element))->version_string = strdup(gateway.version_string); } - - if (is_rwsplit) - { - max_slave_conn_str = - config_get_value(obj->parameters, - "max_slave_connections"); - - max_slave_rlag_str = - config_get_value(obj->parameters, - "max_slave_replication_lag"); - } - + max_slave_conn_str = + config_get_value(obj->parameters, + "max_slave_connections"); + + max_slave_rlag_str = + config_get_value(obj->parameters, + "max_slave_replication_lag"); + if (enable_root_user) serviceEnableRootUser( obj->element, config_truth_value(enable_root_user)); - if(auth_all_servers) - serviceAuthAllServers(obj->element, - config_truth_value(auth_all_servers)); + + if (connection_timeout) + serviceSetTimeout( + obj->element, + atoi(connection_timeout)); + + if(auth_all_servers) + serviceAuthAllServers(obj->element, + config_truth_value(auth_all_servers)); if(strip_db_esc) - serviceStripDbEsc(obj->element, - config_truth_value(strip_db_esc)); + serviceStripDbEsc(obj->element, + config_truth_value(strip_db_esc)); if (weightby) serviceWeightBy(obj->element, weightby); @@ -380,7 +384,9 @@ int error_count = 0; if (obj->element && user && auth) { - serviceSetUser(obj->element, user, auth); + serviceSetUser(obj->element, + user, + auth); } else if (user && auth == NULL) { @@ -392,7 +398,7 @@ int error_count = 0; obj->object))); } /** Read, validate and set max_slave_connections */ - if (is_rwsplit && max_slave_conn_str != NULL) + if (max_slave_conn_str != NULL) { CONFIG_PARAMETER* param; bool succp; @@ -430,7 +436,7 @@ int error_count = 0; } } /** Read, validate and set max_slave_replication_lag */ - if (is_rwsplit && max_slave_rlag_str != NULL) + if (max_slave_rlag_str != NULL) { CONFIG_PARAMETER* param; bool succp; @@ -466,58 +472,6 @@ int error_count = 0; param->value))); } } - - if(is_schemarouter) - { - CONFIG_PARAMETER* param = NULL; - char* subservices; - bool succp = true; - subservices = - config_get_value(obj->parameters, - "subservices"); - - if (subservices != NULL) - { - param = config_get_param( - obj->parameters, - "subservices"); - - if (param == NULL) - { - succp = false; - } - else - { - param->qfd.valstr = strdup(param->value); - param->qfd_param_type = STRING_TYPE; - succp = service_set_param_value( - obj->element, - param, - subservices, - COUNT_NONE, - STRING_TYPE); - } - } - - if (!succp) - { - if(param){ - LOGIF(LM, (skygw_log_write( - LOGFILE_MESSAGE, - "* Warning : invalid value type " - "for parameter \'%s.%s = %s\'\n\tExpected " - "type is [master|all] for " - "use sql variables in.", - ((SERVICE*)obj->element)->name, - param->name, - param->value))); - }else{ - LOGIF(LE, (skygw_log_write( - LOGFILE_ERROR, - "Error : parameter was NULL"))); - } - } - } /** Parameters for rwsplit router only */ if (is_rwsplit) { @@ -1365,32 +1319,32 @@ SERVER *server; char *user; char *auth; char *enable_root_user; - char* auth_all_servers; + + char *connection_timeout; + + char* auth_all_servers; char* strip_db_esc; - char* max_slave_conn_str; - char* max_slave_rlag_str; + char* max_slave_conn_str; + char* max_slave_rlag_str; char *version_string; char *allow_localhost_match_wildcard_host; enable_root_user = config_get_value(obj->parameters, "enable_root_user"); - user = config_get_value(obj->parameters, + connection_timeout = config_get_value(obj->parameters, "connection_timeout"); + + user = config_get_value(obj->parameters, "user"); auth = config_get_value(obj->parameters, "passwd"); - - auth_all_servers = config_get_value(obj->parameters, "auth_all_servers"); - strip_db_esc = config_get_value(obj->parameters, "strip_db_esc"); + + auth_all_servers = config_get_value(obj->parameters, "auth_all_servers"); + strip_db_esc = config_get_value(obj->parameters, "strip_db_esc"); version_string = config_get_value(obj->parameters, "version_string"); + allow_localhost_match_wildcard_host = config_get_value(obj->parameters, "localhost_match_wildcard_host"); - allow_localhost_match_wildcard_host = - config_get_value(obj->parameters, - "localhost_match_wildcard_host"); - - if (version_string) - { - if (service->version_string) - { + if (version_string) { + if (service->version_string) { free(service->version_string); } service->version_string = strdup(version_string); @@ -1402,10 +1356,16 @@ SERVER *server; auth); if (enable_root_user) serviceEnableRootUser(service, atoi(enable_root_user)); + + if (connection_timeout) + serviceSetTimeout(service, atoi(connection_timeout)); + + if(auth_all_servers) serviceAuthAllServers(service, atoi(auth_all_servers)); if(strip_db_esc) serviceStripDbEsc(service, atoi(strip_db_esc)); + if (allow_localhost_match_wildcard_host) serviceEnableLocalhostMatchWildcardHost( service, @@ -1484,24 +1444,21 @@ SERVER *server; if (!succp) { - if(param) - { - LOGIF(LM, (skygw_log_write( - LOGFILE_MESSAGE, - "* Warning : invalid value type " - "for parameter \'%s.%s = %s\'\n\tExpected " - "type is for maximum " - "slave replication lag.", - ((SERVICE*)obj->element)->name, - param->name, - param->value))); - } - else - { - LOGIF(LE, (skygw_log_write( - LOGFILE_ERROR, - "Error : parameter was NULL"))); - } + if(param){ + LOGIF(LM, (skygw_log_write( + LOGFILE_MESSAGE, + "* Warning : invalid value type " + "for parameter \'%s.%s = %s\'\n\tExpected " + "type is for maximum " + "slave replication lag.", + ((SERVICE*)obj->element)->name, + param->name, + param->value))); + }else{ + LOGIF(LE, (skygw_log_write( + LOGFILE_ERROR, + "Error : parameter was NULL"))); + } } } } @@ -1510,53 +1467,58 @@ SERVER *server; } else { - char *user; + char *user; char *auth; char *enable_root_user; + char *connection_timeout; char *allow_localhost_match_wildcard_host; - char *auth_all_servers; - char *strip_db_esc; + char *auth_all_servers; + char *strip_db_esc; + enable_root_user = config_get_value(obj->parameters, "enable_root_user"); + + connection_timeout = config_get_value(obj->parameters, + "connection_timeout"); + auth_all_servers = config_get_value(obj->parameters, "auth_all_servers"); strip_db_esc = config_get_value(obj->parameters, "strip_db_esc"); + allow_localhost_match_wildcard_host = - config_get_value(obj->parameters, - "localhost_match_wildcard_host"); - user = config_get_value(obj->parameters, - "user"); + config_get_value(obj->parameters, "localhost_match_wildcard_host"); + + user = config_get_value(obj->parameters, + "user"); auth = config_get_value(obj->parameters, - "passwd"); + "passwd"); obj->element = service_alloc(obj->object, - router); - + router); + if (obj->element && user && auth) { serviceSetUser(obj->element, user, auth); if (enable_root_user) - serviceEnableRootUser(obj->element, - atoi(enable_root_user)); - if(auth_all_servers) - serviceAuthAllServers(obj->element, atoi(auth_all_servers)); - if(strip_db_esc) - serviceStripDbEsc(obj->element, atoi(strip_db_esc)); - + serviceEnableRootUser(obj->element, atoi(enable_root_user)); + + if (connection_timeout) + serviceSetTimeout(obj->element, atoi(connection_timeout)); + if (allow_localhost_match_wildcard_host) serviceEnableLocalhostMatchWildcardHost( obj->element, atoi(allow_localhost_match_wildcard_host)); } } - } /*< if router */ + } else { obj->element = NULL; @@ -1772,17 +1734,18 @@ static char *service_params[] = "servers", "user", "passwd", - "enable_root_user", + "enable_root_user", + "connection_timeout", "auth_all_servers", - "strip_db_esc", - "localhost_match_wildcard_host", + "strip_db_esc", + "localhost_match_wildcard_host", "max_slave_connections", "max_slave_replication_lag", - "use_sql_variables_in", /*< rwsplit only */ - "subservices", - "version_string", - "filters", - "weightby", + "use_sql_variables_in", /*< rwsplit only */ + "subservices", + "version_string", + "filters", + "weightby", NULL }; diff --git a/server/core/dcb.c b/server/core/dcb.c index 3d619ff93..a732ed0ff 100644 --- a/server/core/dcb.c +++ b/server/core/dcb.c @@ -70,6 +70,7 @@ #include #include #include +#include /** Defined in log_manager.cc */ extern int lm_enabled_logfiles_bitmask; @@ -816,6 +817,9 @@ int dcb_read( n = 0; goto return_n; } + + dcb->last_read = hkheartbeat; + bufsize = MIN(b, MAX_BUFFER_SIZE); if ((buffer = gwbuf_alloc(bufsize)) == NULL) diff --git a/server/core/gateway.c b/server/core/gateway.c index d7ade597a..1221cee3b 100644 --- a/server/core/gateway.c +++ b/server/core/gateway.c @@ -632,7 +632,8 @@ static bool resolve_maxscale_homedir( * 3. if /etc/MaxScale/MaxScale.cnf didn't exist or wasn't accessible, home * isn't specified. Thus, try to access $PWD/MaxScale.cnf . */ - tmp = strndup(getenv("PWD"), PATH_MAX); + char *pwd = getenv("PWD"); + tmp = strndup(pwd ? pwd : "PWD_NOT_SET", PATH_MAX); tmp2 = get_expanded_pathname(p_home_dir, tmp, default_cnf_fname); free(tmp2); /*< full path isn't needed so simply free it */ diff --git a/server/core/service.c b/server/core/service.c index cc929ea90..b364734e7 100644 --- a/server/core/service.c +++ b/server/core/service.c @@ -57,6 +57,7 @@ #include #include #include +#include /** Defined in log_manager.cc */ extern int lm_enabled_logfiles_bitmask; @@ -250,7 +251,7 @@ GWPROTOCOL *funcs; else { /* Save authentication data to file cache */ - char *ptr, path[4096]; + char *ptr, path[4097]; int mkdir_rval = 0; strcpy(path, "/usr/local/skysql/MaxScale"); if ((ptr = getenv("MAXSCALE_HOME")) != NULL) @@ -431,6 +432,12 @@ int listeners = 0; service->stats.started = time(0); } + /** Add the task that monitors session timeouts */ + if(service->conn_timeout > 0) + { + hktask_add("connection_timeout",session_close_timeouts,NULL,5); + } + return listeners; } @@ -839,6 +846,25 @@ int serviceStripDbEsc(SERVICE* service, int action) return 1; } + +/** + * Sets the session timeout for the service. + * @param service Service to configure + * @param val Timeout in seconds + * @return 1 on success, 0 when the value is invalid + */ +int +serviceSetTimeout(SERVICE *service, int val) +{ + + if(val < 0) + return 0; + service->conn_timeout = val; + + return 1; +} + + /** * Trim whitespace from the from an rear of a string * diff --git a/server/core/session.c b/server/core/session.c index fb1dda79f..f5fe2770c 100644 --- a/server/core/session.c +++ b/server/core/session.c @@ -42,6 +42,7 @@ #include #include #include +#include /** Defined in log_manager.cc */ extern int lm_enabled_logfiles_bitmask; @@ -909,3 +910,35 @@ SESSION *get_all_sessions() { return allSessions; } + +/** + * Close sessions that have been idle for too long. + * + * If the time since a session last sent data is grater than the set value in the + * service, it is disconnected. The default value for the timeout for a service is 0. + * This means that connections are never timed out. + * @param data NULL, this is only here to satisfy the housekeeper function requirements. + */ +void session_close_timeouts(void* data) +{ + SESSION* ses; + + spinlock_acquire(&session_spin); + ses = get_all_sessions(); + spinlock_release(&session_spin); + + while(ses) + { + if(ses->client && ses->client->state == DCB_STATE_POLLING && + ses->service->conn_timeout > 0 && + hkheartbeat - ses->client->last_read > ses->service->conn_timeout * 10) + { + ses->client->func.hangup(ses->client); + } + + spinlock_acquire(&session_spin); + ses = ses->next; + spinlock_release(&session_spin); + + } +} \ No newline at end of file diff --git a/server/core/test/testservice.c b/server/core/test/testservice.c index 085a411ca..7474925d4 100644 --- a/server/core/test/testservice.c +++ b/server/core/test/testservice.c @@ -33,6 +33,17 @@ #include #include #include +#include + +#include "housekeeper.h" + +static bool success = false; + +int hup(DCB* dcb) +{ + success = true; +} + /** * test1 Allocate a service and do lots of other things * @@ -40,19 +51,24 @@ static int test1() { -SERVICE *service; -int result; -int argc = 3; -char buffer[1024]; -sprintf(buffer,"%s",TEST_LOG_DIR); -char* argv[] = { - "log_manager", - "-j", - buffer, - NULL +SERVICE *service; +SESSION *session; +DCB *dcb; +int result; +int argc = 3; + +char* argv[] = +{ + "log_manager", + "-j", + TEST_LOG_DIR, + NULL }; + skygw_logmanager_init(argc,argv); poll_init(); +hkinit(); + /* Service tests */ ss_dfprintf(stderr, "testservice : creating service called MyService with router nonexistent"); @@ -66,10 +82,10 @@ poll_init(); ss_info_dassert(NULL != service, "New service with valid router must not be null"); ss_info_dassert(0 != service_isvalid(service), "Service must be valid after creation"); ss_info_dassert(0 == strcmp("MyService", service_get_name(service)), "Service must have given name"); - ss_dfprintf(stderr, "\t..done\nAdding protocol HTTPD."); - ss_info_dassert(0 != serviceAddProtocol(service, "HTTPD", "localhost", 9876), "Add Protocol should succeed"); - ss_info_dassert(0 != serviceHasProtocol(service, "HTTPD", 9876), "Service should have new protocol as requested"); - serviceStartProtocol(service, "HTTPD", 9876); + ss_dfprintf(stderr, "\t..done\nAdding protocol testprotocol."); + ss_info_dassert(0 != serviceAddProtocol(service, "testprotocol", "localhost", 9876), "Add Protocol should succeed"); + ss_info_dassert(0 != serviceHasProtocol(service, "testprotocol", 9876), "Service should have new protocol as requested"); + serviceStartProtocol(service, "testprotocol", 9876); skygw_log_sync_all(); ss_dfprintf(stderr, "\t..done\nStarting Service."); result = serviceStart(service); @@ -81,13 +97,41 @@ poll_init(); result = serviceStartAll(); skygw_log_sync_all(); ss_info_dassert(0 != result, "Start all should succeed"); + + ss_dfprintf(stderr, "\t..done\nTiming out a session."); + + service->conn_timeout = 1; + result = serviceStart(service); + skygw_log_sync_all(); + ss_info_dassert(0 != result, "Start should succeed"); + result = serviceStop(service); + skygw_log_sync_all(); + ss_info_dassert(0 != result, "Stop should succeed"); + + dcb = dcb_alloc(DCB_ROLE_REQUEST_HANDLER); + ss_info_dassert(dcb != NULL, "DCB allocation failed"); + session = session_alloc(service,dcb); + ss_info_dassert(session != NULL, "Session allocation failed"); + session->client->state = DCB_STATE_POLLING; + session->client->func.hangup = hup; + sleep(15); + + ss_info_dassert(success, "Session timeout failed"); + ss_dfprintf(stderr, "\t..done\nStopping Service."); ss_info_dassert(0 != serviceStop(service), "Stop should succeed"); + ss_dfprintf(stderr, "\t..done\n"); + + /** This is never used in MaxScale and will always fail due to service's + * stats.n_current value never being decremented */ +/* + ss_dfprintf(stderr, "\t..done\nFreeing Service."); ss_info_dassert(0 != service_free(service), "Free should succeed"); ss_dfprintf(stderr, "\t..done\n"); +*/ return 0; } diff --git a/server/include/dcb.h b/server/include/dcb.h index e360a8fbb..020b30e8b 100644 --- a/server/include/dcb.h +++ b/server/include/dcb.h @@ -261,7 +261,7 @@ typedef struct dcb { SPINLOCK polloutlock; int polloutbusy; int writecheck; - + time_t last_read; /*< Last time the DCB received data */ unsigned int high_water; /**< High water mark */ unsigned int low_water; /**< Low water mark */ struct server *server; /**< The associated backend server */ diff --git a/server/include/hk_heartbeat.h b/server/include/hk_heartbeat.h new file mode 100644 index 000000000..f1ea1e0bc --- /dev/null +++ b/server/include/hk_heartbeat.h @@ -0,0 +1,11 @@ +#ifndef _HK_HEARTBEAT_H +#define _HK_HEARTBEAT_H + +/** + * The global housekeeper heartbeat value. This value is increamente + * every 100ms and may be used for crude timing etc. + */ + +extern unsigned long hkheartbeat; + +#endif diff --git a/server/include/housekeeper.h b/server/include/housekeeper.h index 0379ff23a..0cd2d8a71 100644 --- a/server/include/housekeeper.h +++ b/server/include/housekeeper.h @@ -19,7 +19,7 @@ */ #include #include - +#include /** * @file housekeeper.h A mechanism to have task run periodically * @@ -52,12 +52,6 @@ typedef struct hktask { *next; /*< Next task in the list */ } HKTASK; -/** - * The global housekeeper heartbeat value. This value is increamente - * every 100ms and may be used for crude timing etc. - */ -extern unsigned long hkheartbeat; - extern void hkinit(); extern int hktask_add(char *name, void (*task)(void *), void *data, int frequency); extern int hktask_oneshot(char *name, void (*task)(void *), void *data, int when); diff --git a/server/include/service.h b/server/include/service.h index 8916a1529..42685e460 100644 --- a/server/include/service.h +++ b/server/include/service.h @@ -146,6 +146,7 @@ typedef struct service { rate_limit; /**< The refresh rate limit for users table */ FILTER_DEF **filters; /**< Ordered list of filters */ int n_filters; /**< Number of filters */ + int conn_timeout; /*< Session timeout in seconds */ char *weightby; struct service *next; /**< The next service in the linked list */ } SERVICE; @@ -176,6 +177,7 @@ extern int serviceSetUser(SERVICE *, char *, char *); extern int serviceGetUser(SERVICE *, char **, char **); extern void serviceSetFilters(SERVICE *, char *); extern int serviceEnableRootUser(SERVICE *, int ); +extern int serviceSetTimeout(SERVICE *, int ); extern void serviceWeightBy(SERVICE *, char *); extern char *serviceGetWeightingParameter(SERVICE *); extern int serviceEnableLocalhostMatchWildcardHost(SERVICE *, int); diff --git a/server/include/session.h b/server/include/session.h index e008cc4ff..fd76eb2b1 100644 --- a/server/include/session.h +++ b/server/include/session.h @@ -33,6 +33,7 @@ * 02-09-2013 Massimiliano Pinto Added session ref counter * 29-05-2014 Mark Riddoch Support for filter mechanism * added + * 20-02-2015 Markus Mäkelä Added session timeouts * * @endverbatim */ @@ -167,5 +168,6 @@ bool session_link_dcb(SESSION *, struct dcb *); SESSION* get_session_by_router_ses(void* rses); void session_enable_log(SESSION* ses, logfile_id_t id); void session_disable_log(SESSION* ses, logfile_id_t id); +void session_close_timeouts(void* data); #endif diff --git a/server/modules/include/maxscaled.h b/server/modules/include/maxscaled.h index 01a3da227..5d398f1c0 100644 --- a/server/modules/include/maxscaled.h +++ b/server/modules/include/maxscaled.h @@ -31,7 +31,7 @@ */ #include #include - +#include /** * The telnetd specific protocol structure to put in the DCB. */ diff --git a/server/modules/include/mysql_client_server_protocol.h b/server/modules/include/mysql_client_server_protocol.h index 9e6c5d78b..46bbe296c 100644 --- a/server/modules/include/mysql_client_server_protocol.h +++ b/server/modules/include/mysql_client_server_protocol.h @@ -61,6 +61,7 @@ #include #include #include +#include #define GW_MYSQL_VERSION "MaxScale " MAXSCALE_VERSION #define GW_MYSQL_LOOP_TIMEOUT 300000000 diff --git a/server/modules/include/telnetd.h b/server/modules/include/telnetd.h index c427c2e8b..0d3d35179 100644 --- a/server/modules/include/telnetd.h +++ b/server/modules/include/telnetd.h @@ -30,7 +30,7 @@ * @endverbatim */ #include - +#include /** * The telnetd specific protocol structure to put in the DCB. */ diff --git a/server/modules/monitor/mm_mon.c b/server/modules/monitor/mm_mon.c index 39684db2c..11d292528 100644 --- a/server/modules/monitor/mm_mon.c +++ b/server/modules/monitor/mm_mon.c @@ -42,7 +42,10 @@ #include #include -extern int lm_enabled_logfiles_bitmask; +/** Defined in log_manager.cc */ +extern int lm_enabled_logfiles_bitmask; +extern size_t log_ses_count[]; +extern __thread log_info_t tls_log_info; static void monitorMain(void *); diff --git a/server/modules/protocol/CMakeLists.txt b/server/modules/protocol/CMakeLists.txt index e51ff1495..fa1c2ab34 100644 --- a/server/modules/protocol/CMakeLists.txt +++ b/server/modules/protocol/CMakeLists.txt @@ -14,6 +14,11 @@ add_library(HTTPD SHARED httpd.c) target_link_libraries(HTTPD log_manager utils) install(TARGETS HTTPD DESTINATION modules) +if(BUILD_TESTS) + add_library(testprotocol SHARED testprotocol.c) + install(TARGETS testprotocol DESTINATION modules) +endif() + add_library(maxscaled SHARED maxscaled.c) target_link_libraries(maxscaled log_manager utils) install(TARGETS maxscaled DESTINATION modules) diff --git a/server/modules/protocol/maxscaled.c b/server/modules/protocol/maxscaled.c index 052026fbe..67d51f9bd 100644 --- a/server/modules/protocol/maxscaled.c +++ b/server/modules/protocol/maxscaled.c @@ -144,6 +144,7 @@ char *password; if ((n = dcb_read(dcb, &head)) != -1) { + if (head) { unsigned char *ptr = GWBUF_DATA(head); diff --git a/server/modules/protocol/mysql_backend.c b/server/modules/protocol/mysql_backend.c index ae20dea5c..e0943e14a 100644 --- a/server/modules/protocol/mysql_backend.c +++ b/server/modules/protocol/mysql_backend.c @@ -447,7 +447,7 @@ static int gw_read_backend_event(DCB *dcb) { /* read available backend data */ rc = dcb_read(dcb, &read_buffer); - + if (rc < 0) { GWBUF* errbuf; diff --git a/server/modules/protocol/mysql_client.c b/server/modules/protocol/mysql_client.c index 146cdb101..a696037b1 100644 --- a/server/modules/protocol/mysql_client.c +++ b/server/modules/protocol/mysql_client.c @@ -576,6 +576,7 @@ int gw_read_client_event( CHK_PROTOCOL(protocol); rc = dcb_read(dcb, &read_buffer); + if (rc < 0) { dcb_close(dcb); diff --git a/server/modules/protocol/mysql_common.c b/server/modules/protocol/mysql_common.c index bfaf37dde..f3665cd81 100644 --- a/server/modules/protocol/mysql_common.c +++ b/server/modules/protocol/mysql_common.c @@ -170,6 +170,9 @@ int gw_read_backend_handshake( if ((n = dcb_read(dcb, &head)) != -1) { + + dcb->last_read = hkheartbeat; + if (head) { payload = GWBUF_DATA(head); @@ -420,6 +423,8 @@ int gw_receive_backend_auth( n = dcb_read(dcb, &head); + dcb->last_read = hkheartbeat; + /*< * Read didn't fail and there is enough data for mysql packet. */ diff --git a/server/modules/protocol/telnetd.c b/server/modules/protocol/telnetd.c index f73a2942b..ab5c95b47 100644 --- a/server/modules/protocol/telnetd.c +++ b/server/modules/protocol/telnetd.c @@ -156,6 +156,7 @@ char *password, *t; if ((n = dcb_read(dcb, &head)) != -1) { + if (head) { unsigned char *ptr = GWBUF_DATA(head); diff --git a/server/modules/protocol/testprotocol.c b/server/modules/protocol/testprotocol.c new file mode 100644 index 000000000..0e0cf9fe2 --- /dev/null +++ b/server/modules/protocol/testprotocol.c @@ -0,0 +1,107 @@ +/* + * This file is distributed as part of the MariaDB Corporation MaxScale. It is free + * software: you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation, + * version 2. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, Inc., 51 + * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Copyright MariaDB Corporation Ab 2013-2014 + */ + +/** + * @file testprotocol.c - Testing protocol module + * + * Not intended for actual use. This protocol module does nothing useful and + * is only meant to test that the module loading works. + * + * @verbatim + * Revision History + * Date Who Description + * 20/02/2015 Markus Mäkelä Initial implementation + * + * @endverbatim + */ + +#include +#include +#include + +MODULE_INFO info = { + MODULE_API_PROTOCOL, + MODULE_IN_DEVELOPMENT, + GWPROTOCOL_VERSION, + "Test protocol" +}; + +static char *version_str = "V1.0.0"; + +static int test_read(DCB* dcb){ return 1;} +static int test_write(DCB *dcb, GWBUF* buf){ return 1;} +static int test_write_ready(DCB *dcb){ return 1;} +static int test_error(DCB *dcb){ return 1;} +static int test_hangup(DCB *dcb){ return 1;} +static int test_accept(DCB *dcb){ return 1;} +static int test_connect(struct dcb *dcb, struct server *srv, struct session *ses){ return 1;} +static int test_close(DCB *dcb){ return 1;} +static int test_listen(DCB *dcb, char *config){ return 1;} +static int test_auth(DCB* dcb, struct server *srv, struct session *ses, GWBUF *buf){ return 1;} +static int test_session(DCB *dcb, void* data){ return 1;} +/** + * The "module object" for the httpd protocol module. + */ +static GWPROTOCOL MyObject = { + test_read, /**< Read - EPOLLIN handler */ + test_write, /**< Write - data from gateway */ + test_write_ready, /**< WriteReady - EPOLLOUT handler */ + test_error, /**< Error - EPOLLERR handler */ + test_hangup, /**< HangUp - EPOLLHUP handler */ + test_accept, /**< Accept */ + test_connect, /**< Connect */ + test_close, /**< Close */ + test_listen, /**< Create a listener */ + test_auth, /**< Authentication */ + test_session /**< Session */ + }; + + +/** + * Implementation of the mandatory version entry point + * + * @return version string of the module + */ +char * +version() +{ + return version_str; +} + +/** + * The module initialisation routine, called when the module + * is first loaded. + */ +void +ModuleInit() +{ +} + +/** + * The module entry point routine. It is this routine that + * must populate the structure that is referred to as the + * "module object", this is a structure with the set of + * external entry points for this module. + * + * @return The module object + */ +GWPROTOCOL * +GetModuleObject() +{ + return &MyObject; +} diff --git a/server/modules/routing/CMakeLists.txt b/server/modules/routing/CMakeLists.txt index fddb9421a..1a4342b0c 100644 --- a/server/modules/routing/CMakeLists.txt +++ b/server/modules/routing/CMakeLists.txt @@ -1,5 +1,8 @@ if(BUILD_TESTS) add_subdirectory(test) + add_library(testroute SHARED testroute.c) + target_link_libraries(testroute log_manager utils) + install(TARGETS testroute DESTINATION modules) endif() add_library(testroute SHARED testroute.c) diff --git a/server/modules/routing/binlog/blr.c b/server/modules/routing/binlog/blr.c index 9cb2fd106..2ba89689f 100644 --- a/server/modules/routing/binlog/blr.c +++ b/server/modules/routing/binlog/blr.c @@ -432,7 +432,7 @@ unsigned char *defuuid; * Now start the replication from the master to MaxScale */ blr_start_master(inst); - + free(name); return (ROUTER *)inst; } diff --git a/server/modules/routing/binlog/blr_file.c b/server/modules/routing/binlog/blr_file.c index 358dc002c..a3b3b7054 100644 --- a/server/modules/routing/binlog/blr_file.c +++ b/server/modules/routing/binlog/blr_file.c @@ -668,7 +668,7 @@ GWBUF * blr_cache_read_response(ROUTER_INSTANCE *router, char *response) { struct stat statb; -char path[4096], *ptr; +char path[4097], *ptr; int fd; GWBUF *buf; diff --git a/server/modules/routing/binlog/blr_master.c b/server/modules/routing/binlog/blr_master.c index 7bd194ac6..83c95ddf9 100644 --- a/server/modules/routing/binlog/blr_master.c +++ b/server/modules/routing/binlog/blr_master.c @@ -142,6 +142,7 @@ GWBUF *buf; sprintf(name, "%s Master", router->service->name); hktask_oneshot(name, blr_start_master, router, BLR_MASTER_BACKOFF_TIME * router->retry_backoff++); + free(name); } if (router->retry_backoff > BLR_MAX_BACKOFF) router->retry_backoff = BLR_MAX_BACKOFF; @@ -203,11 +204,12 @@ GWBUF *ptr; router->master_state = BLRM_UNCONNECTED; if ((name = malloc(strlen(router->service->name) - + strlen(" Master")+1)) != NULL); + + strlen(" Master")+1)) != NULL) { sprintf(name, "%s Master", router->service->name); hktask_oneshot(name, blr_start_master, router, BLR_MASTER_BACKOFF_TIME * router->retry_backoff++); + free(name); } if (router->retry_backoff > BLR_MAX_BACKOFF) router->retry_backoff = BLR_MAX_BACKOFF; @@ -283,10 +285,11 @@ blr_master_delayed_connect(ROUTER_INSTANCE *router) char *name; if ((name = malloc(strlen(router->service->name) - + strlen(" Master Recovery")+1)) != NULL); + + strlen(" Master Recovery")+1)) != NULL) { sprintf(name, "%s Master Recovery", router->service->name); hktask_oneshot(name, blr_start_master, router, 60); + free(name); } } @@ -407,6 +410,7 @@ char query[128]; } router->master_state = BLRM_HBPERIOD; router->master->func.write(router->master, buf); + free(val); break; } case BLRM_HBPERIOD: @@ -511,7 +515,7 @@ char query[128]; GWBUF_CONSUME_ALL(router->saved_master.select1); router->saved_master.select1 = buf; blr_cache_response(router, "select1", buf); - buf = blr_make_query("SELECT VERSION();"); + buf = blr_make_query("SELECT VERSION()"); router->master_state = BLRM_SELECTVER; router->master->func.write(router->master, buf); break; @@ -521,7 +525,7 @@ char query[128]; GWBUF_CONSUME_ALL(router->saved_master.selectver); router->saved_master.selectver = buf; blr_cache_response(router, "selectver", buf); - buf = blr_make_query("SELECT @@version_comment limit 1;"); + buf = blr_make_query("SELECT @@version_comment limit 1"); router->master_state = BLRM_SELECTVERCOM; router->master->func.write(router->master, buf); break; @@ -531,7 +535,7 @@ char query[128]; GWBUF_CONSUME_ALL(router->saved_master.selectvercom); router->saved_master.selectvercom = buf; blr_cache_response(router, "selectvercom", buf); - buf = blr_make_query("SELECT @@hostname;"); + buf = blr_make_query("SELECT @@hostname"); router->master_state = BLRM_SELECTHOSTNAME; router->master->func.write(router->master, buf); break; @@ -541,7 +545,7 @@ char query[128]; GWBUF_CONSUME_ALL(router->saved_master.selecthostname); router->saved_master.selecthostname = buf; blr_cache_response(router, "selecthostname", buf); - buf = blr_make_query("SELECT @@max_allowed_packet;"); + buf = blr_make_query("SELECT @@max_allowed_packet"); router->master_state = BLRM_MAP; router->master->func.write(router->master, buf); break; @@ -701,7 +705,7 @@ blr_handle_binlog_record(ROUTER_INSTANCE *router, GWBUF *pkt) { uint8_t *msg = NULL, *ptr, *pdata; REP_HEADER hdr; -unsigned int len, reslen; +unsigned int len = 0, reslen; unsigned int pkt_length; int no_residual = 1; int preslen = -1; diff --git a/server/modules/routing/binlog/blr_slave.c b/server/modules/routing/binlog/blr_slave.c index 4aafd41fd..21260fcb2 100644 --- a/server/modules/routing/binlog/blr_slave.c +++ b/server/modules/routing/binlog/blr_slave.c @@ -1371,7 +1371,7 @@ blr_slave_catchup(ROUTER_INSTANCE *router, ROUTER_SLAVE *slave, bool large) GWBUF *head, *record; REP_HEADER hdr; int written, rval = 1, burst; -int rotating; +int rotating = 0; unsigned long burst_size; uint8_t *ptr; diff --git a/server/modules/routing/readwritesplit/readwritesplit.c b/server/modules/routing/readwritesplit/readwritesplit.c index 1b6ba11ad..08d1e3e2c 100644 --- a/server/modules/routing/readwritesplit/readwritesplit.c +++ b/server/modules/routing/readwritesplit/readwritesplit.c @@ -3756,7 +3756,7 @@ static GWBUF* sescmd_cursor_process_replies( dcb_close(bref->bref_dcb); *reconnect = true; if(replybuf) - gwbuf_free(replybuf); + gwbuf_consume(replybuf,gwbuf_length(replybuf)); } } /** This is a response from the master and it is the "right" one. diff --git a/server/modules/routing/testroute.c b/server/modules/routing/testroute.c index 47a581c5d..aae902438 100644 --- a/server/modules/routing/testroute.c +++ b/server/modules/routing/testroute.c @@ -33,9 +33,16 @@ static void *newSession(ROUTER *instance, SESSION *session); static void closeSession(ROUTER *instance, void *session); static void freeSession(ROUTER *instance, void *session); static int routeQuery(ROUTER *instance, void *session, GWBUF *queue); +static void clientReply(ROUTER *instance, void *session, GWBUF *queue); static void diagnostic(ROUTER *instance, DCB *dcb); static uint8_t getCapabilities (ROUTER* inst, void* router_session); - +static void handleError( + ROUTER *instance, + void *router_session, + GWBUF *errbuf, + DCB *backend_dcb, + error_action_t action, + bool *succp); static ROUTER_OBJECT MyObject = { createInstance, @@ -44,11 +51,17 @@ static ROUTER_OBJECT MyObject = { freeSession, routeQuery, diagnostic, - NULL, - NULL, + clientReply, + handleError, getCapabilities }; +typedef struct{ +}TESTROUTER; + +typedef struct{ +}TESTSESSION; + /** * Implementation of the mandatory version entry point * @@ -96,7 +109,8 @@ GetModuleObject() static ROUTER * createInstance(SERVICE *service, char **options) { - return NULL; + + return (ROUTER*)malloc(sizeof(TESTROUTER)); } /** @@ -109,7 +123,7 @@ createInstance(SERVICE *service, char **options) static void * newSession(ROUTER *instance, SESSION *session) { - return NULL; + return (SESSION*)malloc(sizeof(TESTSESSION)); } /** @@ -128,7 +142,7 @@ static void freeSession( ROUTER* router_instance, void* router_client_session) { - return; + free(router_client_session); } static int @@ -137,6 +151,10 @@ routeQuery(ROUTER *instance, void *session, GWBUF *queue) return 0; } +void clientReply(ROUTER* instance, void* session, GWBUF* queue) +{ +} + /** * Diagnostics routine * @@ -154,3 +172,14 @@ static uint8_t getCapabilities( { return 0; } + + +static void handleError( + ROUTER *instance, + void *router_session, + GWBUF *errbuf, + DCB *backend_dcb, + error_action_t action, + bool *succp) +{ +} \ No newline at end of file