Skip to content

Conversation

@erlend-aasland
Copy link
Contributor

@erlend-aaslanderlend-aasland commented Oct 7, 2021

@erlend-aasland
Copy link
ContributorAuthor

Proposed alternative to #28463.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Casting the limit macros to void * and back again to int is perhaps a little bit too hackish. But it does allow for a single getter/setter.

@erlend-aaslanderlend-aaslandforce-pushed the sqlite-limits-as-attributes branch from a0c1251 to f4b9fcdCompareOctober 7, 2021 12:56
@erlend-aaslanderlend-aaslandforce-pushed the sqlite-limits-as-attributes branch from 5ec4adb to d04794dCompareOctober 7, 2021 13:29
@serhiy-storchaka
Copy link
Member

old=con.SQLITE_LIMIT_LENGTHcon.SQLITE_LIMIT_LENGTH=new

does not look nice to me. If go this way, I would prefer

old=con.limit.lengthcon.limit.length=new

But do we have precedences of such getters and setters in the stdlib?

There are also disadvantages in comparison with traditional getlimit()/setlimit().

  1. setlimit() sets a new limit and returns an old limit at one operation. Atomically (guarded by the GIL).
  2. getlimit()/setlimit() can be used for new limits not supported by the sqlite3 module yet. Just use some numeric constant.

@erlend-aasland
Copy link
ContributorAuthor

I'm not aware of similar attributes in the stdlib. I have no strong preference regarding this approach and GH-28463. I'm fine with closing this in favour of GH-28463.

@erlend-aaslanderlend-aasland deleted the sqlite-limits-as-attributes branch October 7, 2021 18:47
@erlend-aasland
Copy link
ContributorAuthor

This approach will be more tedious to maintain. I'm closing this in favour of GH-28463.

Sign up for freeto 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.

4 participants

@erlend-aasland@serhiy-storchaka@the-knights-who-say-ni@bedevere-bot