Tag List Report

The following document contains the listing of user tags found in the code. Below is the summary of the occurrences per tag.

Tag Class Total number of occurrences Tag strings used by tag class
@deprecated 2 @deprecated
FIXME 33 FIXME
HACK 4 HACK
NOTE 29 NOTE
TODO 15 TODO

Each tag is detailed below:

@deprecated

Number of occurrences found in the code: 2

org.melati.poem.JdbcTable Line
Use {@link org.melati.poem.Database#modifyStructure(String)} instead 597
org.melati.poem.util.StringUtils Line
now use string.replace(old,new) 220

FIXME

Number of occurrences found in the code: 33

org.melati.poem.AtomPoemType Line
needs to be duplicated in each type 92
org.melati.poem.BasePoemType Line
takes no account of range---need to decide on semantics for this, is it subset (inclusion) or some other notion of storability? 370
org.melati.poem.Column Line
Repeating this in setColumnInfo(ColumnInfo) is a bad sign 244
org.melati.poem.Database Line
Yuk 728
Yuk, see above 742
org.melati.poem.ExtraColumn Line
Revalidation 109
Revalidation 119
org.melati.poem.Field Line
Integer/Persistent issue 207
org.melati.poem.JdbcPersistent Line
This shouldn't be public because we don't in principle want people to know even the troid of an object they aren't allowed to read. However, I think this information may leak out elsewhere. To fix is not simple, as generated setters rely upon a lock-free read of the object to set. 310
!!!! this is wrong because token could be stale ... 423
!!!! this is wrong because token could be stale ... 489
!!!! this is wrong because token could be stale ... 540
org.melati.poem.JdbcTable Line
info == null means deleted: effect is too broad really 425
Race 486
Race 586
synchronize this too 777
you can't search for NULLs ... 1735
org.melati.poem.User Line
It shouldn't be possible for anyone to getPassword 120
We need 2 sorts of object here 126
We need 2 sorts of object here 144
org.melati.poem.ValueInfo Line
Test this, remove if possible this can happen before we have been fully initialised it's convenient to return the "most general" type available ... 136
a little inefficient, but rarely used; also relies on BasePoemType should have interface for ranged type ... 153
org.melati.poem.dbms.MSAccess Line
Something wrong here 105
org.melati.poem.dbms.test.DbmsSpec Line
Skipped for Postgres Test method for {@link org.melati.poem.dbms.Dbms# getConnection(java.lang.String, java.lang.String, java.lang.String)}. 55
org.melati.poem.test.CachedCountTest Line
work out good use case 34
org.melati.poem.test.CachedExistsTest Line
work out good use case 32
org.melati.poem.test.DatabasePerformInCommittedTransactionTest Line
Postgresql seems to think that the committed transaction is in a funny state. 26
org.melati.poem.test.DynamicTableTest Line
add deletion testing 32
org.melati.poem.test.PersistentTest Line
Selection is cached but not invalidated when table cache is invalidated 69
org.melati.poem.test.Protected Line
this needs locking 61
org.melati.poem.test.ResultSetEnumerationTest Line
There should be a way to provoke RowDisappearedPoemException 76
org.melati.poem.test.SettingTest Line
Should we be able to change nullability? You cannot change the type, so hard to see how Exception could be thrown in getRaw(). 131
org.melati.poem.test.TableFactoryTest Line
Delete tableinfo and columnInfo getDb().delete(t); getDb().dump(); 67

HACK

Number of occurrences found in the code: 4

org.melati.poem.DatePoemType Line
reformat DDMMYYYY dates to YYYY-MM-DD 87
org.melati.poem.JdbcTable Line
info == null happens when *InfoTable are unified with the database---obviously they haven't been initialised yet but it gets fixed in the next round when all tables (including them, again) are unified 2712
info == null happens when *InfoTable are unified with the database --- obviously they haven't been initialised yet but it gets fixed in the next round when all tables (including them, again) are unified 2748
org.melati.poem.transaction.ToTidyList Line
MSAccess not playing nice 81

NOTE

Number of occurrences found in the code: 29

org.melati.poem.BasePoemType Line
If it isn't valid then it isn't cooked. 260
Never happens as currently all PoemTypes are SQLPoemTypes 373
org.melati.poem.Database Line
This will include any deleted tables 917
This will include any deleted tables 928
This bypasses the access control mechanism. Furthermore, the cache will be left out of sync with the database and must be cleared out (explicitly, manually) after the current transaction has been committed or completed. 1154
Bootstrapping to troid or we get a stack overflow 1215
Once a database has had its <tt>canAdminister</tt> capability set there is no mechanism to set it back to null. 1292
org.melati.poem.JdbcPersistent Line
If a canRead column is defined then it will override this method. 403
If a canWrite column is defined then it will override this method. 470
If a canDelete column is defined then it will override this method. 521
This will be overridden if the persistent has a field called <tt>name</tt>. {@inheritDoc} 1137
org.melati.poem.JdbcTable Line
No race, provided that the one-thread-per-transaction parity is maintained 969
Invalidated cache elements are reloaded when next read 990
It is possible for the count to be written simultaneously, but the cache will end up with the same result. 2358
org.melati.poem.PoemException Line
All POEM exceptions are unchecked. 51
org.melati.poem.PoemType Line
Null is a possible value for nullable types 73
org.melati.poem.ResultSetEnumeration Line
A {@link RowDisappearedPoemException} might be thrown but does not prevent subsequent use of the object. 112
org.melati.poem.Setting Line
While the underlying value is held as a String that is converted to any type. 53
org.melati.poem.StringKeyReferencePoemType Line
The field may be a different size to the field in the target table. 55
that it is expected that the targetKeyName is also the name of the field in this persistent. 129
org.melati.poem.Table Line
Invalidated cache elements are reloaded when next read 376
It is possible for the count to be written simultaneously, but the cache will end up with the same result. 1046
org.melati.poem.TableInfoTable Line
you should override this if you extend TableInfo in your own db. 123
org.melati.poem.TableSortedMap Line
first attempt using table.getMostRecentTroid() does not take account of deletion as mostRecentTroid is never decremented 97
org.melati.poem.TailoredQuery Line
Since this way of doing queries involves named fields rather than whole <TT>Persistent</TT> objects, it inevitably bypasses any Java-coded access rules put in place by the programmer by overriding <TT>Persistent.assertCanRead</TT>. 351
org.melati.poem.ValueInfo Line
A type cannot be changed once initialised. 128
org.melati.poem.dbms.AnsiStandard Line
There is a bootstrap problem here, we need to use the unchecked troid, otherwise we get a stack overflow. 485
org.melati.poem.dbms.HsqldbText Line
2010/10/24 I could not get this working due to problems with prepaed statements. 52
org.melati.poem.transaction.Transactioned Line
This could be simplified to if(!valid) but that would remove a useful extension hook. 127

TODO

Number of occurrences found in the code: 15

org.melati.poem.Column Line
Double validation 741
Double validation 759
org.melati.poem.ColumnRenamePoemException Line
Allow column renaming for those dbms which allow it. 51
org.melati.poem.Database Line
Use a prepared statement to get Capabilities 1220
org.melati.poem.IntegerPoemType Line
Do down-counting? 77
org.melati.poem.JdbcPersistent Line
document use-case or delete 575
org.melati.poem.JdbcTable Line
Should work within some kind of limit 1143
Add mechanism for searching for Nulls (that would be query constructs as per SQL parse tree, but efferent not afferent) 1723
org.melati.poem.LongPoemType Line
Do down-counting?? 78
org.melati.poem.Table Line
Should work within some kind of limit 468
Add mechanism for searching for Nulls (that would be query constructs as per SQL parse tree, but efferent not afferent) 726
org.melati.poem.dbms.AnsiStandard Line
test on something which actually uses this 605
test on something which actually uses this 618
org.melati.poem.dbms.Mckoi Line
Check against modern McKoi 106
org.melati.poem.test.MultiThreadedCachedSelectionTest Line
think of an appropriate assertion 285