Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Lock] Fixed PdoStore::putOffExpiration(), PdoStore::getHashedKey() #29260

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 24, 2018

Conversation

pprishchepa
Copy link
Contributor

@pprishchepa pprishchepa commented Nov 19, 2018

Q A
Branch? master
Bug fix? yes
New feature? no
BC breaks? no
Deprecations? no
Tests pass? It seems no
Fixed tickets
License MIT
Doc PR
  1. Fixed PDO Statement exception in PdoStore::putOffExpiration():
 An exception occurred while executing 'UPDATE lock_keys SET key_expiration = UNIX_TIMESTAMP() + 10, key_token = :token WHERE key_id = :id AND (key_token = :token OR key_expiration <= UNIX_TIMESTAMP())' with params ["dcfc5ff369bc1896563  
  325c2e90478154eb670f6b6ebad3617e946ecb1f81517", "FRJOnftxRwPIgIRVb4EpOIVFwNjTmx0fwkBSTVJdViI="]:                                                                                                                                            
                                                                                                                                                                                                                                              
  SQLSTATE[HY093]: Invalid parameter number    
  1. Added explicit casting Key to string in getHashedKey() to avoid error with strict_types enabled.

@nicolas-grekas
Copy link
Member

But we don't enable strict types, so this change is not necessary!

@pprishchepa
Copy link
Contributor Author

@nicolas-grekas ok, but what about PdoStore::putOffExpiration() fix?

@nicolas-grekas
Copy link
Member

I don't get them. Can't we reference the same parameter twice? Can you give a few more hints please?

@pprishchepa
Copy link
Contributor Author

Yes, according to http://php.net/pdo.prepare

You must include a unique parameter marker for each value you wish to pass in to the statement when you call PDOStatement::execute(). You cannot use a named parameter marker of the same name more than once in a prepared statement, unless emulation mode is on.

@nicolas-grekas
Copy link
Member

Thank you @PavelPrischepa.

@nicolas-grekas nicolas-grekas merged commit a639301 into symfony:master Nov 24, 2018
nicolas-grekas added a commit that referenced this pull request Nov 24, 2018
…shedKey() (PavelPrischepa)

This PR was merged into the 4.2-dev branch.

Discussion
----------

[Lock] Fixed PdoStore::putOffExpiration(), PdoStore::getHashedKey()

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | It seems no
| Fixed tickets |
| License       | MIT
| Doc PR        |

1. Fixed PDO Statement exception in PdoStore::putOffExpiration():

```
 An exception occurred while executing 'UPDATE lock_keys SET key_expiration = UNIX_TIMESTAMP() + 10, key_token = :token WHERE key_id = :id AND (key_token = :token OR key_expiration <= UNIX_TIMESTAMP())' with params ["dcfc5ff369bc1896563
  325c2e90478154eb670f6b6ebad3617e946ecb1f81517", "FRJOnftxRwPIgIRVb4EpOIVFwNjTmx0fwkBSTVJdViI="]:

  SQLSTATE[HY093]: Invalid parameter number
```

2. Added explicit casting `Key` to `string` in getHashedKey() to avoid error with `strict_types` enabled.

Commits
-------

a639301 [Lock] Fixed PDOStatement exception "Invalid parameter number" in putOffExpiration()
samnela pushed a commit to samnela/symfony that referenced this pull request Nov 25, 2018
…::getHashedKey() (PavelPrischepa)

This PR was merged into the 4.2-dev branch.

Discussion
----------

[Lock] Fixed PdoStore::putOffExpiration(), PdoStore::getHashedKey()

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | It seems no
| Fixed tickets |
| License       | MIT
| Doc PR        |

1. Fixed PDO Statement exception in PdoStore::putOffExpiration():

```
 An exception occurred while executing 'UPDATE lock_keys SET key_expiration = UNIX_TIMESTAMP() + 10, key_token = :token WHERE key_id = :id AND (key_token = :token OR key_expiration <= UNIX_TIMESTAMP())' with params ["dcfc5ff369bc1896563
  325c2e90478154eb670f6b6ebad3617e946ecb1f81517", "FRJOnftxRwPIgIRVb4EpOIVFwNjTmx0fwkBSTVJdViI="]:

  SQLSTATE[HY093]: Invalid parameter number
```

2. Added explicit casting `Key` to `string` in getHashedKey() to avoid error with `strict_types` enabled.

Commits
-------

a639301 [Lock] Fixed PDOStatement exception "Invalid parameter number" in putOffExpiration()
This was referenced Nov 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants