public class PostgreSQLJDBCDataModel extends SQL92JDBCDataModel
A JDBCDataModel backed by a PostgreSQL database and
accessed via JDBC. It may work with other JDBC databases. By default, this class
assumes that there is a DataSource available under the JNDI name
"jdbc/taste", which gives access to a database with a "taste_preferences" table with the following schema:
CREATE TABLE taste_preferences ( user_id BIGINT NOT NULL, item_id BIGINT NOT NULL, preference REAL NOT NULL, PRIMARY KEY (user_id, item_id) ) CREATE INDEX taste_preferences_user_id_index ON taste_preferences (user_id); CREATE INDEX taste_preferences_item_id_index ON taste_preferences (item_id);
PostgreSQLJDBCDataModel,
Serialized FormDEFAULT_ITEM_ID_COLUMN, DEFAULT_PREFERENCE_COLUMN, DEFAULT_PREFERENCE_TABLE, DEFAULT_PREFERENCE_TIME_COLUMN, DEFAULT_USER_ID_COLUMNDEFAULT_DATASOURCE_NAME| Constructor and Description |
|---|
PostgreSQLJDBCDataModel()
Creates a using the default
DataSource (named
AbstractJDBCComponent.DEFAULT_DATASOURCE_NAME and default table/column names. |
PostgreSQLJDBCDataModel(DataSource dataSource)
Creates a using the given
DataSource and default table/column names. |
PostgreSQLJDBCDataModel(DataSource dataSource,
String preferenceTable,
String userIDColumn,
String itemIDColumn,
String preferenceColumn,
String timestampColumn)
Creates a using the given
DataSource and default table/column names. |
PostgreSQLJDBCDataModel(String dataSourceName)
Creates a using the default
DataSource found under the given name, and
using default table/column names. |
| Modifier and Type | Method and Description |
|---|---|
void |
setPreference(long userID,
long itemID,
float value)
Override since PostgreSQL doesn't have the same non-standard capability that MySQL has, to optionally
insert or update in one statement.
|
getUpdatePreferenceSQL, getVerifyPreferenceSQLbuildPreference, doGetPreferencesForItem, exportWithIDsOnly, exportWithPrefs, getDataSource, getItemIDColumn, getItemIDs, getItemIDsFromUser, getLongColumn, getMaxPreference, getMinPreference, getNumItems, getNumUsers, getNumUsersWithPreferenceFor, getNumUsersWithPreferenceFor, getPreferenceColumn, getPreferencesForItem, getPreferencesFromUser, getPreferenceTable, getPreferenceTime, getPreferenceValue, getUserIDColumn, getUserIDs, hasPreferenceValues, refresh, removePreference, setLongParametercheckNotNullAndLog, checkNotNullAndLog, getFetchSize, lookupDataSourcepublic PostgreSQLJDBCDataModel()
throws TasteException
Creates a using the default DataSource (named
AbstractJDBCComponent.DEFAULT_DATASOURCE_NAME and default table/column names.
TasteException - if DataSource can't be foundpublic PostgreSQLJDBCDataModel(String dataSourceName) throws TasteException
Creates a using the default DataSource found under the given name, and
using default table/column names.
dataSourceName - name of DataSource to look upTasteException - if DataSource can't be foundpublic PostgreSQLJDBCDataModel(DataSource dataSource)
Creates a using the given DataSource and default table/column names.
dataSource - DataSource to usepublic PostgreSQLJDBCDataModel(DataSource dataSource, String preferenceTable, String userIDColumn, String itemIDColumn, String preferenceColumn, String timestampColumn)
Creates a using the given DataSource and default table/column names.
dataSource - DataSource to usepreferenceTable - name of table containing preference datauserIDColumn - user ID column nameitemIDColumn - item ID column namepreferenceColumn - preference column nametimestampColumn - timestamp column name (may be null)public void setPreference(long userID,
long itemID,
float value)
throws TasteException
setPreference in interface DataModelsetPreference in class SQL92JDBCDataModelTasteExceptionCopyright © 2008–2013 The Apache Software Foundation. All rights reserved.