@@ -138,7 +138,7 @@ void cursorFirstLastNextPrev() {
138138 }
139139
140140 @ Test
141- void delete () {
141+ void delete1 () {
142142 final Dbi <ByteBuffer > db = env .openDbi (DB_1 , MDB_CREATE , MDB_DUPSORT );
143143 try (Txn <ByteBuffer > txn = env .txnWrite ();
144144 Cursor <ByteBuffer > c = db .openCursor (txn )) {
@@ -147,11 +147,49 @@ void delete() {
147147 assertThat (c .seek (MDB_FIRST )).isTrue ();
148148 assertThat (c .key ().getInt ()).isEqualTo (1 );
149149 assertThat (c .val ().getInt ()).isEqualTo (2 );
150- c .delete ();
150+ c .delete (new PutFlags [ 0 ] );
151151 assertThat (c .seek (MDB_FIRST )).isTrue ();
152152 assertThat (c .key ().getInt ()).isEqualTo (3 );
153153 assertThat (c .val ().getInt ()).isEqualTo (4 );
154- c .delete ();
154+ c .delete (new PutFlags [0 ]);
155+ assertThat (c .seek (MDB_FIRST )).isFalse ();
156+ }
157+ }
158+
159+ @ Test
160+ void delete2 () {
161+ final Dbi <ByteBuffer > db = env .openDbi (DB_1 , MDB_CREATE , MDB_DUPSORT );
162+ try (Txn <ByteBuffer > txn = env .txnWrite ();
163+ Cursor <ByteBuffer > c = db .openCursor (txn )) {
164+ c .put (bb (1 ), bb (2 ), MDB_NOOVERWRITE );
165+ c .put (bb (3 ), bb (4 ), new PutFlags [0 ]);
166+ assertThat (c .seek (MDB_FIRST )).isTrue ();
167+ assertThat (c .key ().getInt ()).isEqualTo (1 );
168+ assertThat (c .val ().getInt ()).isEqualTo (2 );
169+ c .delete ((PutFlags []) null );
170+ assertThat (c .seek (MDB_FIRST )).isTrue ();
171+ assertThat (c .key ().getInt ()).isEqualTo (3 );
172+ assertThat (c .val ().getInt ()).isEqualTo (4 );
173+ c .delete ((PutFlags []) null );
174+ assertThat (c .seek (MDB_FIRST )).isFalse ();
175+ }
176+ }
177+
178+ @ Test
179+ void delete3 () {
180+ final Dbi <ByteBuffer > db = env .openDbi (DB_1 , MDB_CREATE , MDB_DUPSORT );
181+ try (Txn <ByteBuffer > txn = env .txnWrite ();
182+ Cursor <ByteBuffer > c = db .openCursor (txn )) {
183+ c .put (bb (1 ), bb (2 ), MDB_NOOVERWRITE );
184+ c .put (bb (3 ), bb (4 ), new PutFlags [0 ]);
185+ assertThat (c .seek (MDB_FIRST )).isTrue ();
186+ assertThat (c .key ().getInt ()).isEqualTo (1 );
187+ assertThat (c .val ().getInt ()).isEqualTo (2 );
188+ c .delete ((PutFlags ) null );
189+ assertThat (c .seek (MDB_FIRST )).isTrue ();
190+ assertThat (c .key ().getInt ()).isEqualTo (3 );
191+ assertThat (c .val ().getInt ()).isEqualTo (4 );
192+ c .delete ((PutFlags ) null );
155193 assertThat (c .seek (MDB_FIRST )).isFalse ();
156194 }
157195 }
0 commit comments