Ticket #1251 (closed defect: fixed)

Opened 9 months ago

Last modified 8 months ago

Created object has empty GUID and ID

Reported by: bergie Assigned to: piotras
Priority: blocker Milestone: 9.09 Mjolnir
Component: Midgard PHP Version: 9.09 Mjolnir
Keywords: Cc:

Description

For some reason after creating an object it is returned empty.

    public function __exec_create() 
    {
        $stat = $this->__object->create();
        debug_push_class(__CLASS__, __FUNCTION__);

        debug_add("Created record " . serialize($this->__object));
        debug_add("Created 1:{$this->__object->id} 2:{$this->id}");
        debug_pop();

        return $stat; 
    }

Will output:

Jun 30 2009 18:15:41	[debug] midcom_core_dbaobject::__exec_create: Created record C:13:"midgard_topic":1025:{<?xml version="1.0" encoding="UTF-8"?>
<midgard_object xmlns="http://www.midgard-project.org/midgard_object/1.8">
  <midgard_topic purge="no" guid="df5c461e658811deaf18a1169733e11ce11c">
    <metadata>
      <creator>f6b665f1984503790ed91f39b11b5392</creator>
      <revisor>f6b665f1984503790ed91f39b11b5392</revisor>
      <revision>0</revision>
      <locker></locker>
      <approver></approver>
      <authors>|f6b665f1984503790ed91f39b11b5392|</authors>
      <owner></owner>
      <hidden>0</hidden>
      <navnoentry>0</navnoentry>
      <size>276</size>
      <score>0</score>
      <deleted>0</deleted>
      <isapproved>0</isapproved>
      <islocked>0</islocked>
    </metadata>
    <action></action>
    <id>22</id>
    <styleInherit>0</styleInherit>
    <title></title>
    <code></code>
    <style></style>
    <description></description>
    <name></name>
    <component></component>
    <sid>22</sid>
    <up>12068ece657211de8eaf73030fe43cb63cb6</up>
    <extra></extra>
  </midgard_topic>
</midgard_object>
}
Jun 30 2009 18:15:41	[debug] midcom_core_dbaobject::__exec_create: Created 1:0 2:0

As you can see, the serialized version contains the GUID and ID nicely but they're not accessible via object properties.

Change History

06/30/09 17:32:33 changed by bergie

Midgard log has following queries:

midgard-core (pid:25587):(debug): midgard_topic::create(...)
midgard-core (pid:25587):(debug):INSERT INTO topic (metadata_islocked, metadata_isapproved, metadata_deleted, metadata_exported, metadata_imported, metadata_score, metadata_published, metadata_size, metadata_nav_noentry, metadata_hidden, metadata_schedule_end, metadata_schedule_start, metadata_owner, metadata_authors, metadata_approved, metadata_approver, metadata_locked, metadata_locker, metadata_revision, metadata_revised, metadata_revisor, metadata_created, metadata_creator, up, component, name, style, code, style_inherit, sitegroup, guid) VALUES (0, 0, 0, '0001-01-01 00:00:00+0000', '0001-01-01 00:00:00+0000', 0, '0001-01-01 00:00:00+0000', 276, 0, 0, '0001-01-01 00:00:00+0000', '0001-01-01 00:00:00+0000', '', '|f6b665f1984503790ed91f39b11b5392|', '0001-01-01 00:00:00+0000', '', '0001-01-01 00:00:00+0000', '', 0, '2009-06-30 15:15:40+0000', 'f6b665f1984503790ed91f39b11b5392', '2009-06-30 15:15:40+0000', 'f6b665f1984503790ed91f39b11b5392', 1, '', '', '', '', 0, 0, 'df5c461e658811deaf18a1169733e11ce11c')
midgard-core (pid:25587):(debug):Model query = SELECT  id FROM topic WHERE guid = 'df5c461e658811deaf18a1169733e11ce11c' AND sitegroup = 0
midgard-core (pid:25587):(debug):INSERT INTO topic_i (sitegroup, extra, sid, description, lang, title) VALUES (0, '', 22, '', 0, '')
midgard-core (pid:25587):(debug):query = INSERT INTO repligard (guid, typename, lang, sitegroup, object_action) VALUES ('df5c461e658811deaf18a1169733e11ce11c', 'midgard_topic', 0, 0, 3)

06/30/09 18:05:48 changed by bergie

(In [22751]) Bulletproofing related to Ragnaland, refs #1251

07/22/09 17:41:29 changed by indeyets

(In [22978]) probably this should fix issues with guid. needs testing. refs #1251

07/22/09 17:41:55 changed by bergie

Test script for reproducing without MidCOM:

$topic = new midgard_topic();
echo "GUID: {$topic->guid}<br />\n";
$topic->extra = "test " . time();
echo $topic->create();
var_dump($topic);
die("that's all, folks " . midgard_connection::get_error_string());

07/22/09 18:28:42 changed by piotras

  • status changed from new to closed.
  • resolution set to fixed.

(In [22980]) Read underlying GObject property instead of relying on PHP ones. Fixes #1251