Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Nadezhda Ivanova
OpenLDAP
Commits
fe3a8755
Commit
fe3a8755
authored
Feb 21, 2003
by
Kurt Zeilenga
Browse files
unordered LDIF fix
parent
f5581f39
Changes
1
Hide whitespace changes
Inline
Side-by-side
servers/slapd/back-bdb/tools.c
View file @
fe3a8755
...
...
@@ -108,6 +108,61 @@ Entry* bdb_tool_entry_get( BackendDB *be, ID id )
return
e
;
}
int
bdb_tool_next_id
(
BackendDB
*
be
,
DB_TXN
*
tid
,
Entry
*
e
,
struct
berval
*
text
)
{
struct
bdb_info
*
bdb
=
(
struct
bdb_info
*
)
be
->
be_private
;
struct
berval
dn
=
e
->
e_nname
;
struct
berval
pdn
;
int
rc
;
rc
=
bdb_dn2id
(
be
,
tid
,
&
dn
,
&
e
->
e_id
,
0
);
if
(
rc
==
DB_NOTFOUND
)
{
if
(
be_issuffix
(
be
,
&
dn
)
)
{
pdn
=
slap_empty_bv
;
}
else
{
dnParent
(
&
dn
,
&
pdn
);
e
->
e_nname
=
pdn
;
rc
=
bdb_tool_next_id
(
be
,
tid
,
e
,
text
);
if
(
rc
)
{
return
rc
;
}
}
rc
=
bdb_next_id
(
be
,
tid
,
&
e
->
e_id
);
if
(
rc
)
{
snprintf
(
text
->
bv_val
,
text
->
bv_len
,
"next_id failed: %s (%d)"
,
db_strerror
(
rc
),
rc
);
#ifdef NEW_LOGGING
LDAP_LOG
(
TOOLS
,
ERR
,
"=> bdb_tool_entry_put: %s
\n
"
,
text
->
bv_val
,
0
,
0
);
#else
Debug
(
LDAP_DEBUG_ANY
,
"=> bdb_tool_entry_put: %s
\n
"
,
text
->
bv_val
,
0
,
0
);
#endif
return
rc
;
}
e
->
e_nname
=
dn
;
rc
=
bdb_dn2id_add
(
be
,
tid
,
&
pdn
,
e
);
if
(
rc
)
{
snprintf
(
text
->
bv_val
,
text
->
bv_len
,
"dn2id_add failed: %s (%d)"
,
db_strerror
(
rc
),
rc
);
#ifdef NEW_LOGGING
LDAP_LOG
(
TOOLS
,
ERR
,
"=> bdb_tool_entry_put: %s
\n
"
,
text
->
bv_val
,
0
,
0
);
#else
Debug
(
LDAP_DEBUG_ANY
,
"=> bdb_tool_entry_put: %s
\n
"
,
text
->
bv_val
,
0
,
0
);
#endif
}
}
return
rc
;
}
ID
bdb_tool_entry_put
(
BackendDB
*
be
,
Entry
*
e
,
...
...
@@ -149,39 +204,9 @@ ID bdb_tool_entry_put(
return
NOID
;
}
rc
=
bdb_next_id
(
be
,
tid
,
&
e
->
e_id
);
if
(
rc
!=
0
)
{
snprintf
(
text
->
bv_val
,
text
->
bv_len
,
"next_id failed: %s (%d)"
,
db_strerror
(
rc
),
rc
);
#ifdef NEW_LOGGING
LDAP_LOG
(
TOOLS
,
ERR
,
"=> bdb_tool_entry_put: %s
\n
"
,
text
->
bv_val
,
0
,
0
);
#else
Debug
(
LDAP_DEBUG_ANY
,
"=> bdb_tool_entry_put: %s
\n
"
,
text
->
bv_val
,
0
,
0
);
#endif
goto
done
;
}
/* add dn2id indices */
if
(
be_issuffix
(
be
,
&
e
->
e_nname
)
)
{
pdn
=
slap_empty_bv
;
}
else
{
dnParent
(
&
e
->
e_nname
,
&
pdn
);
}
rc
=
bdb_dn2id_add
(
be
,
tid
,
&
pdn
,
e
);
rc
=
bdb_tool_next_id
(
be
,
tid
,
e
,
text
);
if
(
rc
!=
0
)
{
snprintf
(
text
->
bv_val
,
text
->
bv_len
,
"dn2id_add failed: %s (%d)"
,
db_strerror
(
rc
),
rc
);
#ifdef NEW_LOGGING
LDAP_LOG
(
TOOLS
,
ERR
,
"=> bdb_tool_entry_put: %s
\n
"
,
text
->
bv_val
,
0
,
0
);
#else
Debug
(
LDAP_DEBUG_ANY
,
"=> bdb_tool_entry_put: %s
\n
"
,
text
->
bv_val
,
0
,
0
);
#endif
goto
done
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment