-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
I tried this code, copied from the wiki with rcdb changed to rcdb2:
# import RCDB
from rcdb.provider import RCDBProvider
# connect to DB
db = RCDBProvider("mysql://rcdb@hallddb.jlab.org/rcdb2")
# select values with query
table = db.select_values(['polarization_angle','beam_current'], "@is_production", run_min=30000, run_max=30050)
It gives this error message:
Traceback (most recent call last):
File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1800, in _execute_context
context = constructor(
File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/default.py", line 1001, in _init_compiled
self.compiled_parameters = [
File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/default.py", line 1002, in <listcomp>
compiled.construct_params(
File "/usr/lib64/python3.9/site-packages/sqlalchemy/sql/compiler.py", line 1024, in construct_params
raise exc.InvalidRequestError(
sqlalchemy.exc.InvalidRequestError: A value is required for bind parameter 'run_min' (Background on this error at: https://sqlalche.me/e/14/cd3x)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/w/halld-scshelf2101/njarvis/gluex23/epics3/test.py", line 9, in <module>
table = db.select_values(['polarization_angle','beam_current'], "@is_production", run_min=30000, run_max=30050)
File "/group/halld/Software/builds/Linux_Alma9-x86_64-gcc11.5.0/rcdb/rcdb_0.09.01/python/rcdb/provider.py", line 1004, in select_values
result = self.session.connection().execute(sql, parameters={"run_min": run_min, "run_max":run_max})
File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1380, in execute
return meth(self, multiparams, params, _EMPTY_EXECUTION_OPTS)
File "/usr/lib64/python3.9/site-packages/sqlalchemy/sql/elements.py", line 334, in _execute_on_connection
return connection._execute_clauseelement(
File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1572, in _execute_clauseelement
ret = self._execute_context(
File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1806, in _execute_context
self._handle_dbapi_exception(
File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 2124, in _handle_dbapi_exception
util.raise_(
File "/usr/lib64/python3.9/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
raise exception
File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/base.py", line 1800, in _execute_context
context = constructor(
File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/default.py", line 1001, in _init_compiled
self.compiled_parameters = [
File "/usr/lib64/python3.9/site-packages/sqlalchemy/engine/default.py", line 1002, in <listcomp>
compiled.construct_params(
File "/usr/lib64/python3.9/site-packages/sqlalchemy/sql/compiler.py", line 1024, in construct_params
raise exc.InvalidRequestError(
sqlalchemy.exc.StatementError: (sqlalchemy.exc.InvalidRequestError) A value is required for bind parameter 'run_min'
[SQL: SELECT runs.number run
,run_type_table.text_value run_type
,beam_current_table.float_value beam_current
,event_count_table.int_value event_count
,solenoid_current_table.float_value solenoid_current
,collimator_diameter_table.text_value collimator_diameter
,polarization_angle_table.float_value polarization_angle
FROM runs
LEFT JOIN conditions run_type_table ON run_type_table.run_number = runs.number AND run_type_table.condition_type_id = 3
LEFT JOIN conditions beam_current_table ON beam_current_table.run_number = runs.number AND beam_current_table.condition_type_id = 17
LEFT JOIN conditions event_count_table ON event_count_table.run_number = runs.number AND event_count_table.condition_type_id = 2
LEFT JOIN conditions solenoid_current_table ON solenoid_current_table.run_number = runs.number AND solenoid_current_table.condition_type_id = 11
LEFT JOIN conditions collimator_diameter_table ON collimator_diameter_table.run_number = runs.number AND collimator_diameter_table.condition_type_id = 19
LEFT JOIN conditions polarization_angle_table ON polarization_angle_table.run_number = runs.number AND polarization_angle_table.condition_type_id = 56
WHERE runs.number >= %s AND runs.number <=%s
ORDER BY runs.number]
[parameters: [{'parameters': {'run_min': 30000, 'run_max': 30050}}]]
(Background on this error at: https://sqlalche.me/e/14/cd3x)
Metadata
Metadata
Assignees
Labels
No labels