DB-Object
view release on metacpan or search on metacpan
lib/DB/Object.pm view on Meta::CPAN
It returns the database handler.
=head2 use_cache
Provided with a boolean value and this sets or get the I<use_cache> parameter.
=head2 use_bind
Provided with a boolean value and this sets or get the I<use_cache> parameter.
=head2 variables
Query the SQL variable $type
It returns a blank string if nothing was found, or the value found.
=head2 version
This is a method that must be implemented by the driver package.
=head2 where
See L<DB::Object::Tables/where>
=head2 _cache_this
Provided with a query, this will cache it for future re-use.
It does some check and maintenance job to ensure the cache does not get too big whenever it exceed the value of $CACHE_SIZE set in the main config file.
It returns the cached statement as an L<DB::Object::Statement> object.
=head2 _check_connect_param
Provided with an hash reference of connection parameters, this will get the valid parameters by calling L</_connection_parameters> and the connection default options by calling L</_connection_options>
It returns the connection parameters hash reference.
=head2 _check_default_option
Provided with an hash reference of options, and it actually returns it, so this does not do much, because this method is supposed to be supereded by the driver package.
=head2 _connection_options
Provided with an hash reference of connection parameters and this will returns an hash reference of options whose keys match the regular expression C</^[A-Z][a-zA-Z]+/>
So this does not do much, because this method is supposed to be superseded by the driver package.
=head2 _connection_parameters
Returns an array reference containing the following keys: db login passwd host port driver database server opt uri debug
=head2 _connection_params2hash
Provided with an hash reference of connection parameters and this will check if the following environment variables exists and if so use them: C<DB_NAME>, C<DB_LOGIN>, C<DB_PASSWD>, C<DB_HOST>, C<DB_PORT>, C<DB_DRIVER>, C<DB_SCHEMA>
If the parameter property I<uri> was provided of if the environment variable C<DB_CON_URI> is set, it will use this connection uri to get the necessary connection parameters values.
An L<URI> could be C<http://localhost:5432?database=somedb> or C<file:/foo/bar?opt={"RaiseError":true}>
Alternatively, if the connection parameter I<conf_file> is provided then its json content will be read and decoded into an hash reference.
The following keys can be used in the json data in the I<conf_file>: C<database>, C<login>, C<passwd>, C<host>, C<port>, C<driver>, C<schema>, C<opt>
The port can be specified in the I<host> parameter by separating it with a semicolon such as C<localhost:5432>
The I<opt> parameter can Alternatively be provided through the environment variable C<DB_OPT>
It returns the hash reference of connection parameters.
=head2 _clean_statement
Given a query string or a reference to it, it cleans the statement by removing leading and trailing space before and after line breaks.
It returns the cleaned up query as a string if the original query was provided as a scalar reference.
=head2 _convert_datetime2object
Provided with an hash or hash reference of options and this will simply return the I<data> property.
This does not do anything meaningful, because it is supposed to be superseded by the diver package.
=head2 _convert_json2hash
Provided with an hash or hash reference of options and this will simply return the I<data> property.
This does not do anything meaningful, because it is supposed to be superseded by the diver package.
=head2 _dbi_connect
This will call L</_dsn> which must exist in the driver package, and based on the C<dsn> received, this will initiate a L<DBI/connect_cache> if the object property L</cache_connections> has a true value, or simply a L<DBI/connect> otherwise.
It returns the database handler.
=head2 _decode_json
Provided with some json data and this will decode it using L<JSON> and return the associated hash reference or L<perlfunc/undef> if an error occurred.
=head2 _dsn
This will die complaining the driver has not implemented this method, unless the driver did implement it.
=head2 _encode_json
Provided with an hash reference and this will encode it into a json string and return it.
=head2 _make_sth
Given a package name and a hash reference, this builds a statement object with all the necessary parameters.
It also sets the query time to the current time with the parameter I<query_time>
It returns an object of the given $package.
=head2 _param2hash
Provided with some hash reference parameters and this will simply return it, so it does not do anything meaningful.
This is supposed to be superseded by the driver package.
=head2 _process_limit
( run in 1.713 second using v1.01-cache-2.11-cpan-13bb782fe5a )