from application common
A live connection to a PolyDB server. This is a starting point for all operations on the database.
Core methods for connecting to the database and retrieving metadata.
get_collection(String name)
Get an object representing a PolyDB collection. See here or info
for available sections and collections. Please be aware that some collections may have restricted access rights. The permission is not checked immediately in this function but when real data are accessed first time.
String
name
: collection name If there are several collections with equal names in different sections, the full name including the section name must be given. Custom variable $PolyDB::default::db_section_name can be set to the most frequently used section name, then it will be taken into account for disambiguation. Custom variable $PolyDB::default::db_collection_name can be set as a default value for this parameter.
Get a collection specified by a full name
> $coll_smooth = $polyDB->get_collection("Polytope.Lattice.SmoothReflexive");
Get a collection specified by a short name, as long as it's unambiguous
> $coll_fano = $polyDB->get_collection("Fano");
info()
Print information about available databases and collections.
String
section
: name of the section, default: all available sections
String
collection
: name of the collection, default: all available collections
Int
info_level
: 0: only names, 1: short description (default if no collection is given), 2: description, 3: description, authors, maintainers, 4: full info
Bool
colored
list_collections(String section)
Get a list of all collection names
String
section
: only return names of collections from the given section
String
filter
: regular expression for more complex filtering of collection names, may not be used with filter_sections or filter_collections
String
filter_sections
: filter for sections containing given substring, no regular expression, may not be used with filter
String
filter_collections
: filter for collections containing given substring, no regular expression, may not be used with filter
String
section
: only list collections below section
Bool
recursive
: recursively list all collections Think of correct escaping of special characters: \\. for a literal dot, \\w for a name character.
list_sections(String section)
Get a list of section names
String
section
: return names of sub-sections of the given section; by default, names of top-level sections are returned
Bool
recursive
: return names of sub-sections on all levels
String
filter
: regular expression for more complex filtering of section names, may not be used with filter_sections
String
filter_sections
: filter for sections containing given substring, no regular expression, may not be used with filter
String
section
: only list sections below section
Bool
recursive
: recursively list all collections in subsections Think of correct escaping of special characters: \\. for a literal dot, \\w for a name character.
Methods to manipulate the database sections or users.
add_user_to_collection(String user)
add a user to a collection
change_password(String password)
change own password
String
password
: the new password
collection_exists(String collection)
checks if a collection with the given name exists in the database this tests for the corresponding roles, as the collection is only defined in the database if at least one object is inserted
String
collection
: the name of the collection
create_user(String user, String password)
add a user to the database
String
user
: the username
String
password
: the password
Bool
public_read_access
: whether the new user should have access to all public collections, default true
Bool
canChangeOwnAccount
: whether the user can change his/her password and custom data
create_user_options
get_user_names
get a list of all user names return ARRAY the user names
get_users(ARRAY usernames)
get all users
ARRAY
usernames
: list of usernames return HASH
make_user_database_admin()
create a database administrator
String
user
: the username
new_collection()
Starts a new collection by creating the necessary roles and distributing them to the appropriate users and adding it to the default polymakeUser role if the collection is public
String
collection
: fully qualified collection name
Bool
public
: whether the collection can be read by the default polymake user, default true
ARRAY
users
: an array of users that can read the collection (not necessary if collection is public)
ARRAY
admin_users
: an array of users that can edit the collection
remove_collection()
Remove a collection toegther with its documentation and the associated rules
remove_section()
Remove a section toegther with its documentation The section must be empty, i.e. no subsections and no collections
remove_user(String user)
remove a user from the database
String
user
: the username
remove_user_from_collection(String user)
remove a user to a collection note: access to public collections is not removed by this
section_exists(String section)
checks if a section with the given name exists in the database this tests whether there is dicumentation for the section inserted into the database
String
section
: the name of the section
set_section_doc(String section, HASH doc)
Set documentation for a section
user_exists(String username)
checks whether a user is already defined
String
username
: return Bool true on success