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 Total number of occurrences
@deprecated 0
@todo 13
FIXME 35
HACK 3
NOTE 24

Each tag is detailed below:

@todo

Number of occurrences found in the code: 13

org.melati.poem.Column Line
Double validation 736
Double validation 757
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 1132
org.melati.poem.IntegerPoemType Line
Do down-counting? 77
org.melati.poem.JdbcPersistent Line
document use-case or delete 572
org.melati.poem.JdbcTable Line
Should work within some kind of limit 1176
Add mechanism for searching for Nulls (that would be query constructs as per SQL parse tree, but efferent not afferent) 1802
org.melati.poem.LongPoemType Line
Do down-counting?? 78
org.melati.poem.Table Line
Should work within some kind of limit 462
Add mechanism for searching for Nulls (that would be query constructs as per SQL parse tree, but efferent not afferent) 761
org.melati.poem.dbms.Mckoi Line
Check against modern McKoi 108
org.melati.poem.dbms.Oracle Line
Testing required, code has been added to keep up with the interface without testing. 67

FIXME

Number of occurrences found in the code: 35

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? 362
org.melati.poem.Column Line
Repeating this in setColumnInfo(ColumnInfo) is a bad sign 240
org.melati.poem.Database Line
yuk 667
yuk, see above 686
org.melati.poem.ExtraColumn Line
Revalidation 108
Revalidation 118
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. 307
!!!! this is wrong because token could be stale ... 420
!!!! this is wrong because token could be stale ... 486
!!!! this is wrong because token could be stale ... 537
org.melati.poem.JdbcTable Line
info == null means deleted: effect is too broad really 427
Race 488
Race 576
synchronize this too 782
Needs excludeUnselectable 1507
you can't search for NULLs ... 1814
org.melati.poem.Table Line
Needs excludeUnselectable 659
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
a little inefficient, but rarely used; also relies on BasePoemType should have interface for ranged type ... 151
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)}. 58
org.melati.poem.test.CachedCountTest Line
work out good use case 45
org.melati.poem.test.CachedExistsTest Line
work out good use case 44
org.melati.poem.test.CachedSelectionTest Line
counts differ between Maven and Eclipse, as cache is persistent 138
org.melati.poem.test.DatabasePerformInCommittedTransactionTest Line
Postgresql seems to think that the committed transaction is in a funny state. 25
Relies upon session 343
org.melati.poem.test.NotNullableBooleanPoemTypeTest Line
- this should probably be '0' not false. 76
org.melati.poem.test.PersistentTest Line
Selection is cached but not invalidated when table cache is invalidated 99
org.melati.poem.test.Protected Line
this needs locking */ 62
org.melati.poem.test.ProtectedPersistentTest Line
To stop eclipse warning me 237
org.melati.poem.test.ResultSetEnumerationTest Line
There should be a way to provoke RowDisappearedPoemException 75
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(). 145
org.melati.poem.test.TableFactoryTest Line
Delete tableinfo and columnInfo getDb().delete(t); getDb().dump(); 76
org.melati.poem.util.CountedDumbPagedEnumeration Line
This is the bit that makes it dumb! 67

HACK

Number of occurrences found in the code: 3

org.melati.poem.DatePoemType Line
reformat DDMMYYYY dates to YYYY-MM-DD 90
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 2756
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 2792

NOTE

Number of occurrences found in the code: 24

org.melati.poem.BasePoemType Line
If it isn't valid then it isn't cooked. 256
Never happens as currently all PoemTypes are SQLPoemTypes 365
org.melati.poem.Database Line
This will include any deleted tables 871
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. 1057
Bootstrapping to troid or we get a stack overflow 1127
Once a database has had its <tt>canAdminister</tt> capability set there is no mechanism to set it back to null. 1234
org.melati.poem.JdbcPersistent Line
If a canRead column is defined then it will override this method. 400
If a canWrite column is defined then it will override this method. 467
If a canDelete column is defined then it will override this method. 518
This will be overridden if the persistent has a field called <tt>name</tt>. {@inheritDoc} 1120
org.melati.poem.JdbcTable Line
No race, provided that the one-thread-per-transaction parity is maintained 983
Invalidated cache elements are reloaded when next read 1025
It is possible for the count to be written simultaneously, but the cache will end up with the same result. 2427
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. 105
org.melati.poem.Setting Line
While the underlying value is held as a String that is converted to any type. 53
org.melati.poem.Table Line
Invalidated cache elements are reloaded when next read 370
It is possible for the count to be written simultaneously, but the cache will end up with the same result. 1075
org.melati.poem.TableInfoTable Line
you should override this if you extend TableInfo in your own db. 123
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>. 348
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. {@inheritDoc} 552
org.melati.poem.transaction.Transactioned Line
This could be simplified to if(!valid) but that would remove a useful extension hook. 127