Returns the ResponseFuture before calling send_request() on it
(self, query, parameters, trace, custom_payload,
timeout, execution_profile=EXEC_PROFILE_DEFAULT,
paging_state=None, host=None)
| 2968 | self.submit(query_future.send_request) |
| 2969 | |
| 2970 | def _create_response_future(self, query, parameters, trace, custom_payload, |
| 2971 | timeout, execution_profile=EXEC_PROFILE_DEFAULT, |
| 2972 | paging_state=None, host=None): |
| 2973 | """ Returns the ResponseFuture before calling send_request() on it """ |
| 2974 | |
| 2975 | prepared_statement = None |
| 2976 | |
| 2977 | if isinstance(query, str): |
| 2978 | query = SimpleStatement(query) |
| 2979 | elif isinstance(query, PreparedStatement): |
| 2980 | query = query.bind(parameters) |
| 2981 | |
| 2982 | if self.cluster._config_mode == _ConfigMode.LEGACY: |
| 2983 | if execution_profile is not EXEC_PROFILE_DEFAULT: |
| 2984 | raise ValueError("Cannot specify execution_profile while using legacy parameters.") |
| 2985 | |
| 2986 | if timeout is _NOT_SET: |
| 2987 | timeout = self.default_timeout |
| 2988 | |
| 2989 | cl = query.consistency_level if query.consistency_level is not None else self.default_consistency_level |
| 2990 | serial_cl = query.serial_consistency_level if query.serial_consistency_level is not None else self.default_serial_consistency_level |
| 2991 | |
| 2992 | retry_policy = query.retry_policy or self.cluster.default_retry_policy |
| 2993 | row_factory = self.row_factory |
| 2994 | load_balancing_policy = self.cluster.load_balancing_policy |
| 2995 | spec_exec_policy = None |
| 2996 | continuous_paging_options = None |
| 2997 | else: |
| 2998 | execution_profile = self._maybe_get_execution_profile(execution_profile) |
| 2999 | |
| 3000 | if timeout is _NOT_SET: |
| 3001 | timeout = execution_profile.request_timeout |
| 3002 | |
| 3003 | cl = query.consistency_level if query.consistency_level is not None else execution_profile.consistency_level |
| 3004 | serial_cl = query.serial_consistency_level if query.serial_consistency_level is not None else execution_profile.serial_consistency_level |
| 3005 | continuous_paging_options = execution_profile.continuous_paging_options |
| 3006 | |
| 3007 | retry_policy = query.retry_policy or execution_profile.retry_policy |
| 3008 | row_factory = execution_profile.row_factory |
| 3009 | load_balancing_policy = execution_profile.load_balancing_policy |
| 3010 | spec_exec_policy = execution_profile.speculative_execution_policy |
| 3011 | |
| 3012 | fetch_size = query.fetch_size |
| 3013 | if fetch_size is FETCH_SIZE_UNSET and self._protocol_version >= 2: |
| 3014 | fetch_size = self.default_fetch_size |
| 3015 | elif self._protocol_version == 1: |
| 3016 | fetch_size = None |
| 3017 | |
| 3018 | start_time = time.time() |
| 3019 | if self._protocol_version >= 3 and self.use_client_timestamp: |
| 3020 | timestamp = self.cluster.timestamp_generator() |
| 3021 | else: |
| 3022 | timestamp = None |
| 3023 | |
| 3024 | supports_continuous_paging_state = ( |
| 3025 | ProtocolVersion.has_continuous_paging_next_pages(self._protocol_version) |
| 3026 | ) |
| 3027 | if continuous_paging_options and supports_continuous_paging_state: |
no test coverage detected