Уведомления

Группа в Telegram: присоединиться | Jabber-конференция сообщества: pythonua@conference.jabber.ru

#1 Март 17, 2007 13:04:02

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

sql команды в SQLObject

доброго времени суток!

подскажите пожалуйста как в sqlobject выполнить запрос?

>>> import model
>>> c1 = model.sqlobject.sqlhub.processConnection.getConnection().cursor()
>>> c1.execute("select * from table_name limit 20 offset 10010")
Traceback (most recent call last):
File “<stdin>”, line 1, in ?
psycopg.InterfaceError: already closed



Отредактировано (Март 17, 2007 13:04:26)

Офлайн

#2 Март 17, 2007 16:54:01

OlDer
От:
Зарегистрирован: 2006-07-19
Сообщения: 133
Репутация: +  0  -
Профиль   Отправить e-mail  

sql команды в SQLObject

import model
model.class_name.select()[10010:10010+20]



Офлайн

#3 Март 19, 2007 06:14:33

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

sql команды в SQLObject

OlDer, спасибо!
но этот способ я уже использую :)

просто это простой пример, а вообще мне нужно:
1) как .select() влияет на память (база довольно большая и будет расти довольно быстро)
2) как из sqlobject работать с последовательностями и другими особенностями некоторых СУБД (например - postgresql)



Отредактировано (Март 19, 2007 06:16:05)

Офлайн

#4 Март 19, 2007 10:34:04

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

sql команды в SQLObject

Использовать нативный API DB ;)



Офлайн

#5 Март 19, 2007 10:46:01

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

sql команды в SQLObject

balu
Использовать нативный API DB ;)
а не получиться при этом что я буду держать несколько соединений к БД ?



Офлайн

#6 Март 19, 2007 12:09:30

Mkdir
Зарегистрирован: 2006-06-30
Сообщения: 211
Репутация: +  0  -
Профиль   Отправить e-mail  

sql команды в SQLObject

Не влияет он на память. Если посмотреть исходники, то станет ясно что это не настоящее отсечение.
Когда мы делаем select(), то sqlo не отсекает из всех записей нужный нам диапазон, а добавляет в запрос строки limit и offset для PostgreSQL и limit для MySQL.



Офлайн

#7 Март 19, 2007 12:21:34

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

sql команды в SQLObject

Mkdir
Когда мы делаем select(), то sqlo не отсекает из всех записей нужный нам диапазон, а добавляет в запрос строки limit и offset для PostgreSQL и limit для MySQL.
спасибо!

PS осталось только заставить sqlobject заставить работать с последовательностями :)



Офлайн

#8 Март 19, 2007 12:30:39

OlDer
От:
Зарегистрирован: 2006-07-19
Сообщения: 133
Репутация: +  0  -
Профиль   Отправить e-mail  

sql команды в SQLObject

pythonwin
осталось только заставить sqlobject заставить работать с последовательностями
Я так и не пойму, зачем нужно напрямую работать с последовательностями? Может опишете этот кусок вашей предметной области чтобы понятнее была задача?



Офлайн

#9 Март 19, 2007 17:06:02

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

sql команды в SQLObject

pythonwin
а не получиться при этом что я буду держать несколько соединений к БД ?
Почему? Одно соединение на всевозможные выборки, другое на модификацию.



Офлайн

#10 Март 21, 2007 07:29:20

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

sql команды в SQLObject

OlDer
Я так и не пойму, зачем нужно напрямую работать с последовательностями?
а можно работать с последовательностями как с объектами классов?



Отредактировано (Март 21, 2007 07:30:37)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version