(
self,
statement: str,
parameters: Optional[Tuple] = None,
context: Optional[Any] = None,
)
| 128 | self.__c.executemany(statement, list(parameters) if parameters else []) |
| 129 | |
| 130 | def execute( |
| 131 | self, |
| 132 | statement: str, |
| 133 | parameters: Optional[Tuple] = None, |
| 134 | context: Optional[Any] = None, |
| 135 | ) -> None: |
| 136 | try: |
| 137 | if statement.lower() == "commit": # this is largely for ipython-sql |
| 138 | self.__c.commit() |
| 139 | elif statement.lower() in ( |
| 140 | "register", |
| 141 | "register(?, ?)", |
| 142 | "register($1, $2)", |
| 143 | ): |
| 144 | assert parameters and len(parameters) == 2, parameters |
| 145 | view_name, df = parameters |
| 146 | self.__c.register(view_name, df) |
| 147 | elif parameters is None: |
| 148 | self.__c.execute(statement) |
| 149 | else: |
| 150 | self.__c.execute(statement, parameters) |
| 151 | except RuntimeError as e: |
| 152 | if e.args[0].startswith("Not implemented Error"): |
| 153 | raise NotImplementedError(*e.args) from e |
| 154 | elif ( |
| 155 | e.args[0] |
| 156 | == "TransactionContext Error: cannot commit - no transaction is active" |
| 157 | ): |
| 158 | return |
| 159 | else: |
| 160 | raise e |
| 161 | |
| 162 | @property |
| 163 | def connection(self) -> "Connection": |
no outgoing calls