etcdb.execute.dml package¶
Submodules¶
etcdb.execute.dml.delete module¶
Implement DELETE query.
etcdb.execute.dml.insert module¶
Implement INSERT query.
-
etcdb.execute.dml.insert.get_pk_field(etcd_client, db, tbl)[source]¶ Get primary key column for table db.tbl.
Parameters: - etcd_client – Etcd client.
- db – database name.
- tbl – table name.
Returns: Primary key column.
Return type:
-
etcdb.execute.dml.insert.get_table_columns(etcd_client, db, tbl)[source]¶ Get primary key column for table db.tbl.
Parameters: - etcd_client – Etcd client.
- db – database name.
- tbl – table name.
Returns: Primary key column.
Return type: Raises: ProgrammingError – if table or database doesn’t exist
-
etcdb.execute.dml.insert.insert(etcd_client, tree, db)[source]¶ Execute INSERT query
Parameters: - etcd_client (pyetcd.client.Client) – etcd client
- tree (SQLTree) – Parse tree
- db (str) – Current database
Raises: IntegrityError – if duplicate primary key
etcdb.execute.dml.select module¶
Implement SELECT query.
-
etcdb.execute.dml.select.eval_row(table_columns, table_row, tree)[source]¶ Find values of a row. table_columns are fields in the table. The result columns is taken from tree.expressions.
Parameters:
-
etcdb.execute.dml.select.execute_select(etcd_client, tree, db)[source]¶ Execute SELECT query.
Parameters: - etcd_client (pyetcd.client.Client) – etcd client.
- db (str) – Current database.
- tree (SQLTree) – Parse tree.
Returns: ResultSet instance.
Return type:
-
etcdb.execute.dml.select.execute_select_no_table(tree)[source]¶ Execute SELECT that doesn’t read from a table. SELECT VERSION() or similar.
-
etcdb.execute.dml.select.execute_select_plain(etcd_client, tree, db)[source]¶ Execute SELECT that reads rows from table.
-
etcdb.execute.dml.select.fix_tree_star(tree, etcd_client, db, tbl)[source]¶ If parsing tree contains [[“*”, null], null] expression it means the query was SELECT * . So, the expressions needs to be replaced with actual field names.
-
etcdb.execute.dml.select.get_row_by_primary_key(etcd_client, db, table, primary_key, **kwargs)[source]¶ Read row from etcd by its primary key value.
Parameters: - etcd_client (Client) –
- db –
- table –
- primary_key – Primary key value.
- kwargs – See below.
Returns: Row
Return type: Keyword Arguments: - wait (bool) - If True it will wait for a change in the key.
- wait_index (int) - When waiting you can specify index to
- wait for.
-
etcdb.execute.dml.select.group_function(table_columns, table_row, tree)[source]¶ True if resultset should be grouped
Returns: Grouping function or None and its position. Return type: tuple(EtcdbFunction, int)
-
etcdb.execute.dml.select.group_result_set(func, result_set, table_row, tree, pos)[source]¶ Apply a group function to result set and return an aggregated row.
Parameters: Returns: Result set with aggregated row.
Return type:
etcdb.execute.dml.show module¶
Implement SHOW queries.
-
etcdb.execute.dml.show.desc_table(etcd_client, tree, db)[source]¶ Execute DESC table query#
Parameters: - etcd_client (pyetcd.client.Client) – etcd client
- tree (SQLTree) – Parse tree
- db (str) – Current database
Returns: ResultSet instance
Return type:
etcdb.execute.dml.update module¶
Implement UPDATE query.
etcdb.execute.dml.use module¶
Implement USE query.
-
etcdb.execute.dml.use.use_database(etcd_client, tree)[source]¶ Return database name if it exists or raise exception.
Parameters: - etcd_client (pyetcd.client.Client) – etcd client
- tree (SQLTree) – Parsing tree.
Returns: Database name
Raises: OperationalError – if database doesn’t exist.
etcdb.execute.dml.wait module¶
Implement WAIT query.
Module contents¶
Data modification language routines.
-
etcdb.execute.dml.get_exclusive_lock(etcd_client, tree, db)[source]¶ Acquire a write lock on a table. The lock may be explicitly given from a parsing tree when UPDATE or INSERT specifies it with the USE LOCK statement.
Parameters: - etcd_client (pyetcd.client.Client) – etcd connection
- tree (SQLTree) – Parsing tree
- db (str) – Database name. It doesn’t necessary come from the parsing tree. That’s why it has to specified.
Returns: Write lock on a table from the parsing tree in the given database db.
Return type: